"Dog's leg" по G0 в LinuxCNC
- Сергей Саныч
 - Мастер
 - Сообщения: 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?
			
			
									
									Ну, то есть, чтобы, к примеру, команда перемещения из 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
Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
			
			
									
									
						- 
				xentaur
 - Опытный
 - Сообщения: 178
 - Зарегистрирован: 09 ноя 2010, 02:29
 - Репутация: 1
 - Откуда: Украина Харьков
 - Контактная информация:
 
Re: "Dog's leg" по G0 в LinuxCNC
В этом режиме интерполяции осей не происходит. Все оси крутятся с максимальной для них скоростями. Использовалось на многих старых ЧПУ, возможно, из-за медленных интерполяторов. По скорости никаких очевидных преимуществ нет. При интерполяции по G0 только одна ось крутится на максимум.
Интересно, что в мастерах постпроцессоров для G0 (rapid move) есть такая опция.
Иногда выгоднее по спирали делать отход по G2/G3 с приличной подачей, чем двумя G0. Особенно если станок шустрый.
			
			
									
									
						Интересно, что в мастерах постпроцессоров для G0 (rapid move) есть такая опция.
Иногда выгоднее по спирали делать отход по G2/G3 с приличной подачей, чем двумя G0. Особенно если станок шустрый.
- Сергей Саныч
 - Мастер
 - Сообщения: 9116
 - Зарегистрирован: 30 май 2012, 14:20
 - Репутация: 2858
 - Откуда: Тюмень
 - Контактная информация:
 
Re: "Dog's leg" по G0 в LinuxCNC
Забыл сказать, зачем это надо было. При интерполяции по G0 движение происходит по прямой на максимально возможной скорости и под неконтролируемым углом. То есть соотношение скоростей по осям может быть любым. Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась. Движок воет, но не движется, поскольку частота поступления импульсов после разгона гораздо больше стартовой. Предположил, что это происходит из-за "джиттера" импульсов из-за программных задержек при некратном соотношении частот по осям. При рабочем ходе скорости, как правило, меньше, углы - известны, так что это не столь критично. Ну вот, включил я тогда эту самую "собачью ногу" и проблема ушла.Nick писал(а):Хороший вопрос. Не встречал такого, и думаю что такого скорее всего нет, т.к. это дает неоднозначную или "не прогнозируемую человеком" траекторию. то может сказаться на безопасности...
Вполне возможно, что EMC джиттером страдает в меньшей степени, тогда вопрос частично снимется.
Чудес не бывает. Бывают фокусы.
						- 
				Steel.ne
 - Почётный участник

 - Сообщения: 112
 - Зарегистрирован: 21 апр 2012, 22:52
 - Репутация: 5
 - Контактная информация:
 
Re: "Dog's leg" по G0 в LinuxCNC
такая подача имеет смысл, когда есть некая "минимальная" скорость движения. Для шаговиков в принципе бессмысленно, хотя меня треск шаговика на низкой частоте пугает - кажется что шаги пропускает, хотя на самом деле смещается на сотки по Y во время движения на макс. скорости по Х.
			
			
									
									
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: "Dog's leg" по G0 в LinuxCNC
Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
А какая скорость по нему была? И какие примерно "критические углы"?
- Сергей Саныч
 - Мастер
 - Сообщения: 9116
 - Зарегистрирован: 30 май 2012, 14:20
 - Репутация: 2858
 - Откуда: Тюмень
 - Контактная информация:
 
Re: "Dog's leg" по G0 в LinuxCNC
Скорость - 500 мм/мин по всем осям. Частота импульсов - 4000 Гц, двигатели ДШИ-200-3, режим полушага.Nick писал(а):Может просто драйвер не вытягивал? Или вибрация шла по станку, от медленного двигателя...Serg-tmn писал(а):Так вот, в TCNC наблюдался эффект "критических углов", при движении под которыми происходил срыв синхронизации ШД и одна ось (та, по которой максимальная скорость) попросту останавливалась.
А какая скорость по нему была? И какие примерно "критические углы"?
Углы - за давностью лет точно не помню, но этих углов было несколько. Где-то в районе (привожу соотношение 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
Может блок питания проваливался... хотя наверное не должен.... странно это как-то. 
А двигатель тупо вставал, или просто начинал терять шаги?
			
			
									
									
						А двигатель тупо вставал, или просто начинал терять шаги?
- Сергей Саныч
 - Мастер
 - Сообщения: 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.
Чудес не бывает. Бывают фокусы.
						