Разговоры о контроллерах и LPT/USB портах

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

Это ответвление от темы Самодельный станок с ЧПУ из МДФ

А можно по-подробнее про SmoothStepper, что за зверь?
Аватара пользователя
ubey_bobra
Кандидат
Сообщения: 75
Зарегистрирован: 21 ноя 2010, 21:56
Репутация: 0
Откуда: г. Сосновый Бор Ленинградская обл.
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение ubey_bobra »

как программер могу вам сказать 100%-но под виндой не бывает реалтайма это раз, в последовательной передаче данных не бывает реалтайма это два, USB - шина последовательной передачи данных, где есть "+" "-"(питание девайса) и два канала передачи данных, не может быть реалтайма при расшифровке последовательных данных в параллельный выход(задержки будут на микросхемах преобразования) + винда не может предоставить приоритет выполнения задачи в режиме реалтайм. если хотите хорошего реалтайма то только EMC либо же самодельная железка которая на основе счетчика следит за вашим станком(тяжело, нудно, без визуального оформления, не показывает что в данный момент времени выполняет) но в итоге (ИМХО) наилучший вариант...

нет ли среди вас знатоков EMC-шного HAL-а? есть небольшой программный модуль управления хитрой электроникой, хотелось бы прикрутить его к емс, чтобы оно следило за станком и управляло через мою железку.
p.s. Все гениальное просто, тогда когда оно известно и популярно. А в свое время людей жгли на костре, за то что они утверждали что земля круглая.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Nick »

Я не знаток hal но я тоже программер и есть желание разобраться. Создавай тему в разделе Linux будем обсуждать :D.
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Unikus »

ubey_bobra писал(а):как программер могу вам сказать 100%-но под виндой не бывает реалтайма это раз,
Уважаемый ubey_bobra,Вы как говорится слышали звон... Для этого и делают разные прибамбасы типа SmoothStepper :) (это я Вам как непрограммер :D )
Мне кажется Вы даже и не знали о нём. ;)
А инфы навалом ,например здесь http://www.cncrouter.ru/forum/index.php?showtopic=171
Офф.сайт http://www.warp9td.com/

А ещё есть ncPod´ы . http://ncpod.oemtech.com/
Последний раз редактировалось Unikus 05 дек 2010, 19:00, всего редактировалось 1 раз.
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Unikus »

А ещё есть Frienly Arm с miniEMC http://www.youtube.com/watch?v=_Ti7yJoLla4
Но это уже более из серии автономных контроллеров.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Nick »

Но все эти контроллеры сами интерпретируют G код. И я уверен, что не имеют и половины возможностей EMC2 или Mach.

С таким же успехом можно использовать отдельный компьютер без монитора, клавы и всегго прочего и управлять им по тому же usb или по сети. Причем, будет полный контроль, просмотр состояния и все остальные фичи EMC2.

И еще, как правильно писал Alligator, realtime это не максимальная скорость перемещений, а мгновенная реакция на событие. Т.е. пришел сигнал от датчика контроллер должен на него стразу же отреагировать. Простые реакции на концевые датчики осей можно загнать и в эти контроллеры, но более сложные вряд ли. В том числе, при выставлении осей по датчику, контроллер выдает сигнал для EMC2 что сработал датчик и EMC2 выставляет 0 до следующего шага, что нельзя гарантировать при использовании вышеперечисленных контроллеров.
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Unikus »

Тогда ,если один комп для всех задач сразу,и ещё нужно гонять станок одновременно ,то думаю SmoothStepper именно то что надо.Он как раз под Мач и заточен.
root писал(а): Простые реакции на концевые датчики осей можно загнать и в эти контроллеры, но более сложные вряд ли.
Не буду утверждать обратное,но мне кажется в Friendly Arm это всё можно реализовать при желании.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Nick »

Конечно можно. Здесь и возникает компромисс между тем, чтобы писать свой "EMC2" под ARM и тем, чтобы чистить систему с установленной EMC2 для увеличения производительности.

Хотя, во втором случае есть два варианта радикальных варианта "чистки системы":
1. запуск консольной версии - это сразу уменьшает latency до нескольких микросекунд.
2. Поиск и замена железа, дающего большие latency. Некоторые видео карты и материнские платы сильно ухудшают работу realtime приложений.
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Unikus »

Ну,я пока что не сталкивался с какими-то проблемами.Так как юзаю на машине планшетник,который специально только для этого и покупал.
05122010974.jpg (6192 просмотра) <a class='original' href='./download/file.php?id=945&sid=be4d95dc8b17ef2b98d7c6d90750314f&mode=view' target=_blank>Загрузить оригинал (525.74 КБ)</a>
Стоит Win2000 и Мач3.Правда,бывают изредка моменты когда нужно на экране нажать другую кнопку,а оно нажимает на предыдущую. Хотя станок продолжает пилить без сбоев.В экстренной ситуации просто вырублю контроллер.Ещё не знаю как с этим бороться.В системе пока не проводил оптимизацию с отключением ненужных сервисов.

Хотел установить Линукс для EMC2,только скорее всего не найду драйвера для тачскрина для этой модели.И опасаюсь что после этих манипуляций и Винда перестанет работать(а сидюка на нём нет,и загрузка с флешки тоже не поддерживается ).Вот и езжу пока на том что есть 8-)
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Обсуждение самодельного станка из МДФ

Сообщение Unikus »

root писал(а):Конечно можно. Здесь и возникает компромисс между тем, чтобы писать свой "EMC2" под ARM и тем, чтобы чистить систему с установленной EMC2 для увеличения производительности.
Так он уже вроде как написан,только прошить и пользовать :think:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

Так в чем проблема, запустись с LiveCD, получишь полноценный Linux и EMC2, при этом никаких изменений на винче и в Windows не будет. Можно даже винч отключить, если сильно страшно 8-).

Тачскрин скорее всего заработает из коробки. Если нет, то уверен, что можно будет решить проблему. (Если не заработает, хотя скорее всего заработает, перед выключением запусти lshw - там напишет все устройства, и можно будет точно сказать. :) )
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Unikus »

Ну дык я же говорю.Нет в нём сидюка.Тем более в ноутбуках винч нельзя отключить.Вернее можно,только он не будет грузиться.Потому как на винте в защищённом разделе весь firmware этой модели прописан.Уже пробовалось ,и не только на этом буке.Может в более последних буках такое и пройдёт,но не в моём. :problem:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

Тогда создай загрузочную флешку, на другом компе прямо с EMC2 LiveCD. И грузись с нее. Про отключать винчестер я пошутил - Ubutnu ничего не будет делать пока ты ее сам об этом не попросишь.

Или можно загрузиться со съемного винчестера \ CD \ DVD. Можно даже по сети, но я думаю тяжело будет найти сервер раздающий образ LinuxCNC доступный для загрузки по tftp.
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Unikus »

root писал(а):Тогда создай загрузочную флешку, на другом компе прямо с EMC2 LiveCD. И грузись с нее.
Тёзка,мне иногда кажется что ты просто шутишь. :) Я же писал постами выше что загрузка с флешки не поддерживается ,так как БИОС старый.Его перешивать,это шаманство с бубнами,и пресловутым архаичным пережитком флоппи-драйвом. :roll:
Так что,пока терпимо ,будем работать с тем что есть.А там глядишь разживёмся более человеческими устройствами ;)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

Похоже просмотрел то место, где ты писал о том, что нет возможности загружаться с флеши.

Советов больше не имею :lol:.

ЗЫ имхо внешние винчи иногда определяются как обычные и с них у меня получалось грузится даже если не поддерживалась загрузка с флеши.
ЗЫЫ молчу - молчу :lol: .
495
Новичок
Сообщения: 29
Зарегистрирован: 04 окт 2011, 22:44
Репутация: 0
Откуда: г... москва
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение 495 »

Сразу скажу, я не профессионал, и даже не любитель..., дилетант одним словом...
Вопрос о том, как написать драйвер для ЕМС. Начну издалека.
LPT в DOS мне было достаточно, но в нетбуках его уже нет.
Купил usb-lpt переходник и посмотрел на него при помощи осцилографа в DOS , исходные тексты на ассеблере были взяты из книги Владимир Кулаков"Программирование на аппаратном уровне".
Протокол Centronics сделан на одновибраторе и регистре.
Контроллер usb в каждом кадре выводит 51 массив по одному байту. Больше 51 в кадр не лезет.Байт для вывода берётся из одного и того же места в памяти.
Итого кроме записи в порт идёт запись в память. На осцилографе сравниваются два сигнала : lpt и usb-lpt . Задержка между lpt и usb-lpt составила от 15 до 25 микросекунд.
В DOS переделать ввод-вывод с lpt на usb для периода сервоцикла в 100-125 микросекунд возможно.
Вопросы:
1 ссылки на форумы программистов для ЕМС ?
2 ссылки на форумы и документацию по usb в linux , как написать драйвер ?
3 где это всё лежит на образе CD с linuxcnc.org ?
Вложения
USB.zip
(34.1 КБ) 547 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

495 писал(а):Купил usb-lpt переходник
Уже много раз читал, что emc2 не будет работать с таким переходником. И вообще не рекомендуют использовать никакие буфферизующие элементы.
495 писал(а): DOS переделать ввод-вывод с lpt на usb для периода сервоцикла в 100-125 микросекунд возможно.
Оптимистично. Сколько при этом можно передать? 51 байт или 51 бит??? Хотя, даже если это будет 51 байт, придется делать схему, которая сможет контролировать движки самостоятельно и будет получать команды положения.

Чтобы подключить любую штуку к emc2 нужно написать свой компонент и потом включить его в emc2. Для этого понадобится пакет emc2-dev.
Примеры компонентов можно посмотреть в исходниках, насколько я понимаю там же находится компонент для работы с lpt портом.
495 писал(а):1 ссылки на форумы программистов для ЕМС ?
linuxcnc.org - сайт разработчиков emc2 там есть форум. Также есть mailing list emc-developers-request@lists.sourceforge.net там тусуется много разработчиков. Плюс еще есть канал в ирке.
Там все на английском.
495 писал(а):ссылки на форумы и документацию по usb в linux , как написать драйвер ?
http://www.linuxjournal.com/article/7353
Хотя, я этим вопросом не особо задавался, я больше по программированию на языках высокого уровня и слегка побаиваюсь слов драйвер :). А вообще: http://www.google.ru/search?client=oper ... el=suggest
495 писал(а):где это всё лежит на образе CD с linuxcnc.org ?
Проще скачать исходник с linuxcnc.org и баловаться с ним. http://git.linuxcnc.org/gitweb

На русском по emc2 есть мы + еще немного есть на cnczone.ru.

PS Если соберешься что-то писать можешь рассчитывать на мою помощь!
495
Новичок
Сообщения: 29
Зарегистрирован: 04 окт 2011, 22:44
Репутация: 0
Откуда: г... москва
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение 495 »

Nick спасибо за информацию. У нас был сервоцикл 122 микросекунды(прерывание cmos таймера) : 8байт out, 8байт in. К новому году надеюсь добраться до ЕМС.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение Nick »

А 8 байт на выход хватает? Как идет управление осями?
495
Новичок
Сообщения: 29
Зарегистрирован: 04 окт 2011, 22:44
Репутация: 0
Откуда: г... москва
Контактная информация:

Re: Разговоры о контроллерах и LPT/USB портах

Сообщение 495 »

что то похожее на http://www.chipmaker.ru/files/file/5980/
по моему 1 байт на цап или 2 байта на ШИМ достаточно.
Последний раз редактировалось 495 20 ноя 2011, 18:07, всего редактировалось 1 раз.
Ответить

Вернуться в «Электроника»