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

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

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

Сообщение Nick »

Наткнулся у 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. различные виды токарных работ и нарезание резьбы;
В принципе все терпимо, кроме того, что выделил жирным. Кнопки стоп и пауза вообще убили. Хотя, наверняка железная кнопка стоп с контроллера сработает (надеюсь, она реализована). И отсутствие мягких пределов честно говоря не радует.

У кого какие мнения?
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение Nick »

Да хрен с ней с паузой, но стоп! Сидеть и смотреть 4 секунды как твой станок жрет направляющую наверное не очень приятно :freak:.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

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

да, со Стоп они погорячились, НО если так, то НЕ завести реальную кнопку Стоп в контроллер было бы глупо, думаю она есть.
например в схеме которую я свaрганил для первого станка (ЛПТ) кнопка Стоп физически вырубает Enable на драйвы и дает сигнал E-Stop в LPT.. правда пока не включу станок Мач недает снять E-Stop ;)
Всё просто! если знаешь КАК!
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение purelogic »

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). В нашем устройстве замедление сделано согласно штатному профилю ускорения, т.е. при подходе к пределу применяется торможение, аналогичное простому отпусканию кнопки перемещения (при этом гарантируется, что после торможения Вы останетесь ВУНТРИ области пределов, остановившись максимально близко к границе).
Если у вас есть еще какие-то вопросы, мы готовы на них ответить.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение purelogic »

Nick писал(а):Спасибо, многое стало яснее.
Только что-то я с софт лимитами запутался. Чем софт лимиты отличаются от Slow Zone?
Лимит - это точка. Slow Zone - это зона. Зона, на которой происходит торможение, при подходе к точке лимита. Смысл существования 2х алгоритмов торможения в маче не очень ясен, поэтому один и был упразднен. Все работает и без него.
И как работает выставление нулей осей? Через аналог усеченного G31?
У мача есть специальная функция для поиска нуля, не связанная с G-кодом. Соот-но, утрируя, PLCM получает команду поиска 0, после чего самостоятельно его ищет в соот-вии с выставленными настройками(направление, скорость и т.п.), и рапортует об успехе в мач.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Понятно, спасибо!
Аватара пользователя
ennio
Кандидат
Сообщения: 91
Зарегистрирован: 24 сен 2011, 12:05
Репутация: 2
Настоящее имя: Евгений
Откуда: Кирово-Чепецк, Кировская обл.
Контактная информация:

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

Сообщение ennio »

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

несколько раз пробовал работать от LPT шнурка без буфера
сказать что разница чувствительная значит ничего не сказать!!
можно сколь угодно хаять людей живущих в России и РАЗРАБАТЫВАЮЩИХ новые девайсы и при этом брать Китай
но я бы лучше поддержал местных
впрочем здоровая критика никогда не повредит
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение purelogic »

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

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

Сообщение Nick »

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

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

Сообщение purelogic »

Nick писал(а):Понятно, это хорошо :).
А с компенсацией что? Она же вроде на уровне импульсов должна идти и должна работать нормально...
Ну, не так все просто.
По люфтам основное решение - хорошая механика. Плохую механику не спасет никакой софт.
Но тем не менее, реализация backlash возможна в ближайшем будущем. We'll keep you posted, как говорится.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

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

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

Сообщение Nick »

Мне кажется, они просто буферизуют импульсы шага и направления и раз в 0-4 секунды отправляют пакет на контроллер, который просто воспроизводит импульсы в том же порядке и с такой же задержкой.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

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

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

Сообщение Nick »

А смысл, мы как-то разбирали в одной из тем, и поняли, что без буферизации не обойтись. Не реально по протоколу usb стабильно передавать даже 8 бай 1000 раз в секунду. А если буферизовать, то какая разница, что буферизовать.
Опять де с шаговиками если управлять скоростью, то неизбежно будет расти погрешность и нужна будет обратная связь. И это уже получится серво двигатель, Mach умеет работать с сервами?
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

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

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

Сообщение Nick »

Да, но при управлении скоростью, неизбежно будет расти погрешность и без нормальной обратной связи ее не убрать. Т.е. внутри себя контроллер или серва может управляться скоростью, но команду она должна получать в виде положения.
Ответить

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