Страница 1 из 1
"Dog's leg" по G0 в LinuxCNC
Добавлено: 07 июн 2012, 14:04
Сергей Саныч
Есть ли возможность в LinuxCNC настроить команду G0 так, чтобы перемещение шло не по прямой, а вначале с одинаковой скоростью по всем нужным осям, а затем по тем, которые остались не дошедшими.
Ну, то есть, чтобы, к примеру, команда перемещения из X=0, Y=0, Z=0 в точку X=100, Y=40, Z=60
(G00 X100. Y40.) выполнялась как последовательность:
G00 X40. Y40. Z40.
G00 X60. Z60.
G00 X100.
В TCNC это достигается включением режима "Dog's leg". А есть ли такая возможность в LinuxCNC?
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 13:12
Nick
Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 13:56
xentaur
В этом режиме интерполяции осей не происходит. Все оси крутятся с максимальной для них скоростями. Использовалось на многих старых ЧПУ, возможно, из-за медленных интерполяторов. По скорости никаких очевидных преимуществ нет. При интерполяции по G0 только одна ось крутится на максимум.
Интересно, что в мастерах постпроцессоров для G0 (rapid move) есть такая опция.
Иногда выгоднее по спирали делать отход по G2/G3 с приличной подачей, чем двумя G0. Особенно если станок шустрый.
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 14:18
Сергей Саныч
Nick писал(а):Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
Забыл сказать, зачем это надо было. При интерполяции по G0 движение происходит по прямой на максимально возможной скорости и под неконтролируемым углом. То есть соотношение скоростей по осям может быть любым. Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась. Движок воет, но не движется, поскольку частота поступления импульсов после разгона гораздо больше стартовой. Предположил, что это происходит из-за "джиттера" импульсов из-за программных задержек при некратном соотношении частот по осям. При рабочем ходе скорости, как правило, меньше, углы - известны, так что это не столь критично. Ну вот, включил я тогда эту самую "собачью ногу" и проблема ушла.
Вполне возможно, что EMC джиттером страдает в меньшей степени, тогда вопрос частично снимется.
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 14:32
Steel.ne
такая подача имеет смысл, когда есть некая "минимальная" скорость движения. Для шаговиков в принципе бессмысленно, хотя меня треск шаговика на низкой частоте пугает - кажется что шаги пропускает, хотя на самом деле смещается на сотки по Y во время движения на макс. скорости по Х.
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 17:21
Nick
Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...
А какая скорость по нему была? И какие примерно "критические углы"?
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 19:19
Сергей Саныч
Nick писал(а):Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...
А какая скорость по нему была? И какие примерно "критические углы"?
Скорость - 500 мм/мин по всем осям. Частота импульсов - 4000 Гц, двигатели ДШИ-200-3, режим полушага.
Углы - за давностью лет точно не помню, но этих углов было несколько. Где-то в районе (привожу соотношение X/Y) 100/13 .. 100/7. Надо будет найти старые записи и попытаться воспроизвести ситуацию на EMC.
На драйвер тоже грешил, но вот почему он три оси синхронно тянет на максимальной скорости, а несинхронно и две не всегда получалось?
Вибрация - отдельный вопрос. На определенных скоростях есть неприятные на слух резонансы. Но на работе вроде не сказываются. Особенно заметно при отработке дуг, когда скорости по каждой оси проходят от 0 до максимума.
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 08 июн 2012, 22:15
Nick
Может блок питания проваливался... хотя наверное не должен.... странно это как-то.
А двигатель тупо вставал, или просто начинал терять шаги?
Re: "Dog's leg" по G0 в LinuxCNC
Добавлено: 09 июн 2012, 08:33
Сергей Саныч
Nick писал(а):Может блок питания проваливался... хотя наверное не должен.... странно это как-то.
А двигатель тупо вставал, или просто начинал терять шаги?
БП не проваливался, проверено.
Двигатель тупо вставал, потому что на частотах выше стартовой (для этих двигателей - 1000 шагов/сек) сбой тактовой последовательности (задержка очередного импульса) приводит к торможению ротора и дальше двигатель только пищит, а не крутится.
А инструмента, аналогичного Latency Test, в TCNC нет.
Взгляд осциллографом показал, что джиттер на частотах около 5000 Гц составлял до 50% при неодинаковых частотах осей. Мне кажется, тут ловить было нечего. Да! и компьютер был (и, кстати, до сих пор работает с TCNC) - Pentium-100 "испамойки". С более быстрыми процессорами были разные проблемы, начиная от старого паскального глюка CRT, до проблем с ACPI на относительно новых MB.