"Dog's leg" по G0 в LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

"Dog's leg" по G0 в LinuxCNC

Сообщение Сергей Саныч »

Есть ли возможность в 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?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Nick »

Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение xentaur »

В этом режиме интерполяции осей не происходит. Все оси крутятся с максимальной для них скоростями. Использовалось на многих старых ЧПУ, возможно, из-за медленных интерполяторов. По скорости никаких очевидных преимуществ нет. При интерполяции по G0 только одна ось крутится на максимум.
Интересно, что в мастерах постпроцессоров для G0 (rapid move) есть такая опция.

Иногда выгоднее по спирали делать отход по G2/G3 с приличной подачей, чем двумя G0. Особенно если станок шустрый.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Сергей Саныч »

Nick писал(а):Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
Забыл сказать, зачем это надо было. При интерполяции по G0 движение происходит по прямой на максимально возможной скорости и под неконтролируемым углом. То есть соотношение скоростей по осям может быть любым. Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась. Движок воет, но не движется, поскольку частота поступления импульсов после разгона гораздо больше стартовой. Предположил, что это происходит из-за "джиттера" импульсов из-за программных задержек при некратном соотношении частот по осям. При рабочем ходе скорости, как правило, меньше, углы - известны, так что это не столь критично. Ну вот, включил я тогда эту самую "собачью ногу" и проблема ушла.
Вполне возможно, что EMC джиттером страдает в меньшей степени, тогда вопрос частично снимется.
Чудес не бывает. Бывают фокусы.
Steel.ne
Почётный участник
Почётный участник
Сообщения: 112
Зарегистрирован: 21 апр 2012, 22:52
Репутация: 5
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Steel.ne »

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

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Nick »

Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...
А какая скорость по нему была? И какие примерно "критические углы"?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Сергей Саныч »

Nick писал(а):
Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...
А какая скорость по нему была? И какие примерно "критические углы"?
Скорость - 500 мм/мин по всем осям. Частота импульсов - 4000 Гц, двигатели ДШИ-200-3, режим полушага.
Углы - за давностью лет точно не помню, но этих углов было несколько. Где-то в районе (привожу соотношение X/Y) 100/13 .. 100/7. Надо будет найти старые записи и попытаться воспроизвести ситуацию на EMC.
На драйвер тоже грешил, но вот почему он три оси синхронно тянет на максимальной скорости, а несинхронно и две не всегда получалось?
Вибрация - отдельный вопрос. На определенных скоростях есть неприятные на слух резонансы. Но на работе вроде не сказываются. Особенно заметно при отработке дуг, когда скорости по каждой оси проходят от 0 до максимума.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Nick »

Может блок питания проваливался... хотя наверное не должен.... странно это как-то.

А двигатель тупо вставал, или просто начинал терять шаги?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: "Dog's leg" по G0 в LinuxCNC

Сообщение Сергей Саныч »

Nick писал(а):Может блок питания проваливался... хотя наверное не должен.... странно это как-то.

А двигатель тупо вставал, или просто начинал терять шаги?
БП не проваливался, проверено.

Двигатель тупо вставал, потому что на частотах выше стартовой (для этих двигателей - 1000 шагов/сек) сбой тактовой последовательности (задержка очередного импульса) приводит к торможению ротора и дальше двигатель только пищит, а не крутится.
А инструмента, аналогичного Latency Test, в TCNC нет.

Взгляд осциллографом показал, что джиттер на частотах около 5000 Гц составлял до 50% при неодинаковых частотах осей. Мне кажется, тут ловить было нечего. Да! и компьютер был (и, кстати, до сих пор работает с TCNC) - Pentium-100 "испамойки". С более быстрыми процессорами были разные проблемы, начиная от старого паскального глюка CRT, до проблем с ACPI на относительно новых MB.
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «LinuxCNC»