Страница 1 из 4
Mach и USB контроллер
Добавлено: 17 янв 2012, 15:25
Nick
Наткнулся у Purelogic на usb контроллеры для Mach. В итоге они оказались набором обычного контроллера + хитрый буферизующий переходник USB-LPT.
В чем суть, mach делает буфер на несколько секунд, максимум 4 и выдает пакет в это устройство, оно пакет принимает и передает контроллеру через lpt интерфейс. Все бы ничего, но мануале стоят такие ограничения:
Функции MACH3, работающие нестандартно:- функция "Probing" доступна в усеченном варианте: в команде G31 не должны присутствовать несколько осей одновременно;
- кнопки "Пауза" и "Стоп", а также функция "Feed rate override" работают с задержкой равной сумме размеров буферов, заданных в настройках плагина;
- параметры зоны безопасности (slow zone) для пределов перемещений (soft limits) игнорируются, но сами пределы работают.
Не реализованные функции MACH3:- Backlash или компенсация люфтов механики;
- обратная связь через внешние энкодеры;
- перемещение с использованием входов MPG;
- различные виды токарных работ и нарезание резьбы;
В принципе все терпимо, кроме того, что выделил жирным. Кнопки стоп и пауза вообще убили. Хотя, наверняка железная кнопка стоп с контроллера сработает (надеюсь, она реализована). И отсутствие мягких пределов честно говоря не радует.
У кого какие мнения?
Re: Mach и USB контроллер
Добавлено: 17 янв 2012, 15:44
aftaev
Nick писал(а):Кнопки стоп и пауза вообще убили.
Пауза и на LPT тормозит. Мач не остановится пока строку не закончит выполнять.
Re: Mach и USB контроллер
Добавлено: 17 янв 2012, 15:46
Nick
Да хрен с ней с паузой, но стоп! Сидеть и смотреть 4 секунды как твой станок жрет направляющую наверное не очень приятно
.
Re: Mach и USB контроллер
Добавлено: 17 янв 2012, 16:12
NightV
я както штудировал эту тему год назад.
на тот момент роме Smooth Stepper ничего путевого небыло
я думаю что ситуация мало изменилась.
да, со Стоп они погорячились, НО если так, то НЕ завести реальную кнопку Стоп в контроллер было бы глупо, думаю она есть.
например в схеме которую я свaрганил для первого станка (ЛПТ) кнопка Стоп физически вырубает Enable на драйвы и дает сигнал E-Stop в LPT.. правда пока не включу станок Мач недает снять E-Stop
Re: Mach и USB контроллер
Добавлено: 17 янв 2012, 17:33
aftaev
У Purelogic видать подход такой. На чимпекере у них чел купил дравера,пришли дохлые, поменяли что то они греются и впаривают все хорошо, замечательно
Ну подумаешь 4 сек
Главное оси ездят как нибудь
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 07:12
purelogic
Nick писал(а):Наткнулся у Purelogic на usb контроллеры для Mach. В итоге они оказались набором обычного контроллера + хитрый буферизующий переходник USB-LPT.
В чем суть, mach делает буфер на несколько секунд,
максимум 4 и выдает пакет в это устройство, оно пакет принимает и передает контроллеру через lpt интерфейс. Все бы ничего, но мануале стоят такие ограничения:
Функции MACH3, работающие нестандартно:- функция "Probing" доступна в усеченном варианте: в команде G31 не должны присутствовать несколько осей одновременно;
- кнопки "Пауза" и "Стоп", а также функция "Feed rate override" работают с задержкой равной сумме размеров буферов, заданных в настройках плагина;
- параметры зоны безопасности (slow zone) для пределов перемещений (soft limits) игнорируются, но сами пределы работают.
В принципе все терпимо, кроме того, что выделил жирным. Кнопки стоп и пауза вообще убили. Хотя, наверняка железная кнопка стоп с контроллера сработает (надеюсь, она реализована). И отсутствие мягких пределов честно говоря не радует.
У кого какие мнения?
Прежде чем делать какие-то выводы, давайте попробуем разобраться, почему сделано всё так, а не иначе.
Красным выделены те места цитаты, на которые стоит еще раз посмотреть.
Насчет задержек: МАКСИСУМ 4 секунды. Тут было правильно написано, что Мач предварительно рассчитывает траекторию с учетом всех ускорений/замедлений. Безусловно эти данные буферизируются, чтобы избежать провалов в движении в случае сбоя связи. Вы длительность буферизации настраиваете САМИ в зависимости от Ваших условий (стабильности связи, мощности ПК, кол-ва дополнительно работающих программ в ОС и т.п.) Минимальная задержка 200мс. Мач сильно отличается от EMC внутренней архитектурой и по-другому сделать нельзя. Поверьте, пресловутый SmoothStepper делает точно так же. Если пользователь нажимает паузу, то уже рассчитанная тректория НЕ ИЗМЕНЯЕТСЯ движком мача. Только последующие данные попадают в буфер с учетом запроса пользователя об остановке, независимо от того, что нажато - "стоп" или "пауза".
Здесь "Стоп" - это кнопка в интерфейсе для штатной остановки выполнения, т.е. с применением профиля торможения, который, как я уже говорил, рассчитывается внутренним движком мача. Отсюда и задержки.
Безусловно в наших устройствах присутствует функция Аварийного останова (он же E-Stop в терминологии мача). Она работает БЕЗ ЗАДЕРЖЕК.
Про мягкие пределы тоже выделил. Они РАБОТАЮТ. И это написано в Вашей цитате. Не работает лишь специфический для Мача алгоритм замедления при подходе к пределам (т.н. Slow Zone). В нашем устройстве замедление сделано согласно штатному профилю ускорения, т.е. при подходе к пределу применяется торможение, аналогичное простому отпусканию кнопки перемещения (при этом гарантируется, что после торможения Вы останетесь ВУНТРИ области пределов, остановившись максимально близко к границе).
Если у вас есть еще какие-то вопросы, мы готовы на них ответить.
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 08:49
Nick
Спасибо, многое стало яснее.
Только что-то я с софт лимитами запутался. Чем софт лимиты отличаются от Slow Zone? Извиняюсь, если вопрос глупый - я не специалист по Mach.
И как работает выставление нулей осей? Через аналог усеченного G31?
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 09:30
purelogic
Nick писал(а):Спасибо, многое стало яснее.
Только что-то я с софт лимитами запутался. Чем софт лимиты отличаются от Slow Zone?
Лимит - это точка. Slow Zone - это зона. Зона, на которой происходит торможение, при подходе к точке лимита. Смысл существования 2х алгоритмов торможения в маче не очень ясен, поэтому один и был упразднен. Все работает и без него.
И как работает выставление нулей осей? Через аналог усеченного G31?
У мача есть специальная функция для поиска нуля, не связанная с G-кодом. Соот-но, утрируя, PLCM получает команду поиска 0, после чего самостоятельно его ищет в соот-вии с выставленными настройками(направление, скорость и т.п.), и рапортует об успехе в мач.
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 09:46
Nick
Понятно, спасибо!
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 10:21
ennio
лично для меня главное разочарование backlash
при том (чисто мои наблюдения) он не то что бы совсем не работает а как бы отчасти
кнопка стоп кстати у меня останавливавет и программу и шпиндель сразу да и E-stop еще никто не отменял
несколько раз пробовал работать от LPT шнурка без буфера
сказать что разница чувствительная значит ничего не сказать!!
можно сколь угодно хаять людей живущих в России и РАЗРАБАТЫВАЮЩИХ новые девайсы и при этом брать Китай
но я бы лучше поддержал местных
впрочем здоровая критика никогда не повредит
Re: Mach и USB контроллер
Добавлено: 18 янв 2012, 11:45
aftaev
purelogic писал(а):Поверьте, пресловутый SmoothStepper делает точно так же.
Чем ваш отличается от пресловутого? По мне те же яйца, вид с боку.
Re: Mach и USB контроллер
Добавлено: 27 янв 2012, 14:08
purelogic
ennio писал(а):
кнопка стоп кстати у меня останавливавет и программу и шпиндель сразу да и E-stop еще никто не отменял
Да, кстати. Сведения о "стоп" относятся к старым прошивкам, в текущих версиях она срабатывает сразу. С задержкой работает только "пауза".
Re: Mach и USB контроллер
Добавлено: 27 янв 2012, 14:36
Nick
Понятно, это хорошо
.
А с компенсацией что? Она же вроде на уровне импульсов должна идти и должна работать нормально...
Re: Mach и USB контроллер
Добавлено: 27 янв 2012, 17:30
purelogic
Nick писал(а):Понятно, это хорошо
.
А с компенсацией что? Она же вроде на уровне импульсов должна идти и должна работать нормально...
Ну, не так все просто.
По люфтам основное решение - хорошая механика. Плохую механику не спасет никакой софт.
Но тем не менее, реализация backlash возможна в ближайшем будущем. We'll keep you posted, как говорится.
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 20:22
Impartial
purelogic писал(а):Насчет задержек: МАКСИСУМ 4 секунды. Тут было правильно написано, что Мач предварительно рассчитывает траекторию с учетом всех ускорений/замедлений.
purelogic писал(а):Если у вас есть еще какие-то вопросы, мы готовы на них ответить.
Если можно подробнее о том, как из Мача вытащить эту траекторию.
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 20:34
Nick
Мне кажется, они просто буферизуют импульсы шага и направления и раз в 0-4 секунды отправляют пакет на контроллер, который просто воспроизводит импульсы в том же порядке и с такой же задержкой.
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 20:46
Impartial
Возможно и так. Но они наверняка знают как это сделать ( вытащить скоростную траекторию).
Хочется прицепить к Мачу сервопривод.
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 20:51
Nick
А смысл, мы как-то разбирали в одной из тем, и поняли, что без буферизации не обойтись. Не реально по протоколу usb стабильно передавать даже 8 бай 1000 раз в секунду. А если буферизовать, то какая разница, что буферизовать.
Опять де с шаговиками если управлять скоростью, то неизбежно будет расти погрешность и нужна будет обратная связь. И это уже получится серво двигатель, Mach умеет работать с сервами?
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 20:57
Impartial
Ну не на 4 же секунды буферизировать. Мач не умеет управлять сервоприводом (обрабатывая обратную связь с энкодеров). А вот управлять сервой как законченным блоком - запросто. Просто на вход подавать задание скорости. Но для этого ее надо оттуда вытащить.
Шаговиками тоже можно так управлять. Шаговик тот же сервопривод, только управляется не ПИД а синтезатором. Кстати последний сложнее в реализации.
Re: Mach и USB контроллер
Добавлено: 28 янв 2012, 21:13
Nick
Да, но при управлении скоростью, неизбежно будет расти погрешность и без нормальной обратной связи ее не убрать. Т.е. внутри себя контроллер или серва может управляться скоростью, но команду она должна получать в виде положения.