Mach и USB контроллер

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.

Mach и USB контроллер

Сообщение Nick » 17 янв 2012, 15:25

Наткнулся у Purelogic на usb контроллеры для Mach. В итоге они оказались набором обычного контроллера + хитрый буферизующий переходник USB-LPT.

В чем суть, mach делает буфер на несколько секунд, максимум 4 и выдает пакет в это устройство, оно пакет принимает и передает контроллеру через lpt интерфейс. Все бы ничего, но мануале стоят такие ограничения:

Функции MACH3, работающие нестандартно:
  1. функция "Probing" доступна в усеченном варианте: в команде G31 не должны присутствовать несколько осей одновременно;
  2. кнопки "Пауза" и "Стоп", а также функция "Feed rate override" работают с задержкой равной сумме размеров буферов, заданных в настройках плагина;
  3. параметры зоны безопасности (slow zone) для пределов перемещений (soft limits) игнорируются, но сами пределы работают.
Не реализованные функции MACH3:
  1. Backlash или компенсация люфтов механики;
  2. обратная связь через внешние энкодеры;
  3. перемещение с использованием входов MPG;
  4. различные виды токарных работ и нарезание резьбы;
В принципе все терпимо, кроме того, что выделил жирным. Кнопки стоп и пауза вообще убили. Хотя, наверняка железная кнопка стоп с контроллера сработает (надеюсь, она реализована). И отсутствие мягких пределов честно говоря не радует.

У кого какие мнения?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение aftaev » 17 янв 2012, 15:44

Nick писал(а):Кнопки стоп и пауза вообще убили.

Пауза и на LPT тормозит. Мач не остановится пока строку не закончит выполнять.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30550
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5425
Медальки:

Re: Mach и USB контроллер

Сообщение Nick » 17 янв 2012, 15:46

Да хрен с ней с паузой, но стоп! Сидеть и смотреть 4 секунды как твой станок жрет направляющую наверное не очень приятно :freak:.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение NightV » 17 янв 2012, 16:12

я както штудировал эту тему год назад.
на тот момент роме Smooth Stepper ничего путевого небыло
я думаю что ситуация мало изменилась.

да, со Стоп они погорячились, НО если так, то НЕ завести реальную кнопку Стоп в контроллер было бы глупо, думаю она есть.
например в схеме которую я свaрганил для первого станка (ЛПТ) кнопка Стоп физически вырубает Enable на драйвы и дает сигнал E-Stop в LPT.. правда пока не включу станок Мач недает снять E-Stop ;)
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
 
Сообщения: 6387
Зарегистрирован: 30 дек 2011, 09:14
Откуда: Israel
Репутация: 2313
Медальки:
Настоящее имя: Владимир Айрапетян

Re: Mach и USB контроллер

Сообщение aftaev » 17 янв 2012, 17:33

У Purelogic видать подход такой. На чимпекере у них чел купил дравера,пришли дохлые, поменяли что то они греются и впаривают все хорошо, замечательно :) Ну подумаешь 4 сек :) Главное оси ездят как нибудь :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30550
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5425
Медальки:

Re: Mach и USB контроллер

Сообщение purelogic » 18 янв 2012, 07:12

Nick писал(а):Наткнулся у Purelogic на usb контроллеры для Mach. В итоге они оказались набором обычного контроллера + хитрый буферизующий переходник USB-LPT.

В чем суть, mach делает буфер на несколько секунд, максимум 4 и выдает пакет в это устройство, оно пакет принимает и передает контроллеру через lpt интерфейс. Все бы ничего, но мануале стоят такие ограничения:

Функции MACH3, работающие нестандартно:
  1. функция "Probing" доступна в усеченном варианте: в команде G31 не должны присутствовать несколько осей одновременно;
  2. кнопки "Пауза" и "Стоп", а также функция "Feed rate override" работают с задержкой равной сумме размеров буферов, заданных в настройках плагина;
  3. параметры зоны безопасности (slow zone) для пределов перемещений (soft limits) игнорируются, но сами пределы работают.
В принципе все терпимо, кроме того, что выделил жирным. Кнопки стоп и пауза вообще убили. Хотя, наверняка железная кнопка стоп с контроллера сработает (надеюсь, она реализована). И отсутствие мягких пределов честно говоря не радует.

У кого какие мнения?


Прежде чем делать какие-то выводы, давайте попробуем разобраться, почему сделано всё так, а не иначе.
Красным выделены те места цитаты, на которые стоит еще раз посмотреть.
Насчет задержек: МАКСИСУМ 4 секунды. Тут было правильно написано, что Мач предварительно рассчитывает траекторию с учетом всех ускорений/замедлений. Безусловно эти данные буферизируются, чтобы избежать провалов в движении в случае сбоя связи. Вы длительность буферизации настраиваете САМИ в зависимости от Ваших условий (стабильности связи, мощности ПК, кол-ва дополнительно работающих программ в ОС и т.п.) Минимальная задержка 200мс. Мач сильно отличается от EMC внутренней архитектурой и по-другому сделать нельзя. Поверьте, пресловутый SmoothStepper делает точно так же. Если пользователь нажимает паузу, то уже рассчитанная тректория НЕ ИЗМЕНЯЕТСЯ движком мача. Только последующие данные попадают в буфер с учетом запроса пользователя об остановке, независимо от того, что нажато - "стоп" или "пауза".
Здесь "Стоп" - это кнопка в интерфейсе для штатной остановки выполнения, т.е. с применением профиля торможения, который, как я уже говорил, рассчитывается внутренним движком мача. Отсюда и задержки.
Безусловно в наших устройствах присутствует функция Аварийного останова (он же E-Stop в терминологии мача). Она работает БЕЗ ЗАДЕРЖЕК.
Про мягкие пределы тоже выделил. Они РАБОТАЮТ. И это написано в Вашей цитате. Не работает лишь специфический для Мача алгоритм замедления при подходе к пределам (т.н. Slow Zone). В нашем устройстве замедление сделано согласно штатному профилю ускорения, т.е. при подходе к пределу применяется торможение, аналогичное простому отпусканию кнопки перемещения (при этом гарантируется, что после торможения Вы останетесь ВУНТРИ области пределов, остановившись максимально близко к границе).
Если у вас есть еще какие-то вопросы, мы готовы на них ответить.
Аватара пользователя
purelogic
Опытный
 
Сообщения: 162
Зарегистрирован: 18 янв 2012, 06:49
Откуда: Purelogic R&D Воронеж
Репутация: -39

Re: Mach и USB контроллер

Сообщение Nick » 18 янв 2012, 08:49

Спасибо, многое стало яснее.
Только что-то я с софт лимитами запутался. Чем софт лимиты отличаются от Slow Zone? Извиняюсь, если вопрос глупый - я не специалист по Mach.
И как работает выставление нулей осей? Через аналог усеченного G31?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение purelogic » 18 янв 2012, 09:30

Nick писал(а):Спасибо, многое стало яснее.
Только что-то я с софт лимитами запутался. Чем софт лимиты отличаются от Slow Zone?

Лимит - это точка. Slow Zone - это зона. Зона, на которой происходит торможение, при подходе к точке лимита. Смысл существования 2х алгоритмов торможения в маче не очень ясен, поэтому один и был упразднен. Все работает и без него.

И как работает выставление нулей осей? Через аналог усеченного G31?
У мача есть специальная функция для поиска нуля, не связанная с G-кодом. Соот-но, утрируя, PLCM получает команду поиска 0, после чего самостоятельно его ищет в соот-вии с выставленными настройками(направление, скорость и т.п.), и рапортует об успехе в мач.
Аватара пользователя
purelogic
Опытный
 
Сообщения: 162
Зарегистрирован: 18 янв 2012, 06:49
Откуда: Purelogic R&D Воронеж
Репутация: -39

Re: Mach и USB контроллер

Сообщение Nick » 18 янв 2012, 09:46

Понятно, спасибо!
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение ennio » 18 янв 2012, 10:21

лично для меня главное разочарование backlash
при том (чисто мои наблюдения) он не то что бы совсем не работает а как бы отчасти
кнопка стоп кстати у меня останавливавет и программу и шпиндель сразу да и E-stop еще никто не отменял

несколько раз пробовал работать от LPT шнурка без буфера
сказать что разница чувствительная значит ничего не сказать!!
можно сколь угодно хаять людей живущих в России и РАЗРАБАТЫВАЮЩИХ новые девайсы и при этом брать Китай
но я бы лучше поддержал местных
впрочем здоровая критика никогда не повредит
Аватара пользователя
ennio
Кандидат
 
Сообщения: 91
Зарегистрирован: 24 сен 2011, 12:05
Откуда: Кирово-Чепецк, Кировская обл.
Репутация: 2
Настоящее имя: Евгений

Re: Mach и USB контроллер

Сообщение aftaev » 18 янв 2012, 11:45

purelogic писал(а):Поверьте, пресловутый SmoothStepper делает точно так же.

Чем ваш отличается от пресловутого? По мне те же яйца, вид с боку.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30550
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5425
Медальки:

Re: Mach и USB контроллер

Сообщение purelogic » 27 янв 2012, 14:08

ennio писал(а):кнопка стоп кстати у меня останавливавет и программу и шпиндель сразу да и E-stop еще никто не отменял

Да, кстати. Сведения о "стоп" относятся к старым прошивкам, в текущих версиях она срабатывает сразу. С задержкой работает только "пауза".
Аватара пользователя
purelogic
Опытный
 
Сообщения: 162
Зарегистрирован: 18 янв 2012, 06:49
Откуда: Purelogic R&D Воронеж
Репутация: -39

Re: Mach и USB контроллер

Сообщение Nick » 27 янв 2012, 14:36

Понятно, это хорошо :).
А с компенсацией что? Она же вроде на уровне импульсов должна идти и должна работать нормально...
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение purelogic » 27 янв 2012, 17:30

Nick писал(а):Понятно, это хорошо :).
А с компенсацией что? Она же вроде на уровне импульсов должна идти и должна работать нормально...

Ну, не так все просто.
По люфтам основное решение - хорошая механика. Плохую механику не спасет никакой софт.
Но тем не менее, реализация backlash возможна в ближайшем будущем. We'll keep you posted, как говорится.
Аватара пользователя
purelogic
Опытный
 
Сообщения: 162
Зарегистрирован: 18 янв 2012, 06:49
Откуда: Purelogic R&D Воронеж
Репутация: -39

Re: Mach и USB контроллер

Сообщение Impartial » 28 янв 2012, 20:22

purelogic писал(а):Насчет задержек: МАКСИСУМ 4 секунды. Тут было правильно написано, что Мач предварительно рассчитывает траекторию с учетом всех ускорений/замедлений.

purelogic писал(а):Если у вас есть еще какие-то вопросы, мы готовы на них ответить.


Если можно подробнее о том, как из Мача вытащить эту траекторию.
Impartial
Мастер
 
Сообщения: 918
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 31

Re: Mach и USB контроллер

Сообщение Nick » 28 янв 2012, 20:34

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

Re: Mach и USB контроллер

Сообщение Impartial » 28 янв 2012, 20:46

Возможно и так. Но они наверняка знают как это сделать ( вытащить скоростную траекторию).
Хочется прицепить к Мачу сервопривод.
Impartial
Мастер
 
Сообщения: 918
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 31

Re: Mach и USB контроллер

Сообщение Nick » 28 янв 2012, 20:51

А смысл, мы как-то разбирали в одной из тем, и поняли, что без буферизации не обойтись. Не реально по протоколу usb стабильно передавать даже 8 бай 1000 раз в секунду. А если буферизовать, то какая разница, что буферизовать.
Опять де с шаговиками если управлять скоростью, то неизбежно будет расти погрешность и нужна будет обратная связь. И это уже получится серво двигатель, Mach умеет работать с сервами?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

Re: Mach и USB контроллер

Сообщение Impartial » 28 янв 2012, 20:57

Ну не на 4 же секунды буферизировать. Мач не умеет управлять сервоприводом (обрабатывая обратную связь с энкодеров). А вот управлять сервой как законченным блоком - запросто. Просто на вход подавать задание скорости. Но для этого ее надо оттуда вытащить.
Шаговиками тоже можно так управлять. Шаговик тот же сервопривод, только управляется не ПИД а синтезатором. Кстати последний сложнее в реализации.
Impartial
Мастер
 
Сообщения: 918
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 31

Re: Mach и USB контроллер

Сообщение Nick » 28 янв 2012, 21:13

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

След.

Вернуться в Windows / Mach

Кто сейчас на конференции

Зарегистрированные пользователи: _vit, Bender, Bing [Bot], Сергей999, CybSys, dpss-2, evgenymcp, Google [Bot], inFamous, Lexxa, limonadoffKo, Lunatic, Majestic-12 [Bot], michael-yurov, mikehv, selenur, shatohingv, uralpt, vladumur, xvovanx, Yandex [bot]

Reputation System ©'