LinuxCNC S-разгон и торможение

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Lexxa писал(а): тому, что по шине значение позиции прилетает в NC, а не остается в CU и поэтому позиция регулируется ИНТЕРПОЛЯТОРОМ в NC, а никак не в приводе.
Интерполятор по определению не занимается регулировкой позиции а только расчетом следующей точки оси.Динамика разгона торможения влияет только на время выполнения первого и может последнего кадра.На время выполнения всей программы они влияют соответственно очень слабо.Только за счет изменения времени выполнения этих двух кадров.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Lexxa писал(а):И самым вкусным движением является движение по кругу, поскольку две оси во-первых должны быть согласованы, а во вторых на реверсе направления имеют крайне неприятную штуку - стоять и не двигаться.
а если не морочить этим ЧПУ а попробовать скомпенсировать прямо в сервоусилителе? вот из мануала 1993 года
lost-motion.png (2193 просмотра) <a class='original' href='./download/file.php?id=162460&sid=dad6793792234873fb30e32271dd15d4&mode=view' target=_blank>Загрузить оригинал (76.52 КБ)</a>
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

sidor094 писал(а):На время выполнения всей программы они влияют соответственно очень слабо
Это конечно же совсем не так.
sidor094 писал(а):Интерполятор по определению не занимается регулировкой позиции
Согласен, оговорка, Интерполятор -> контур позиционироания
Интерполятор и контур позицонирования оба они живут в NC
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

merkwurdigliebe писал(а):а попробовать скомпенсировать прямо в сервоусилителе
А разница?))
:bender:
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Lexxa писал(а):Это конечно же совсем не так
Так.Время разгона одинаково для любых изменений скорости.В том числе при изменении скорости от максимальной вперед до максимальной назад время разгона точно такое же как при изменении скорости всего на 1 процент.Соответственно его можно просто считать задержкой которая будет только вначале движения .Все остальные команды уже не будут добавлять задержку к времени выполнения программы.И последняя команда выполнится точно с такой же задержкой относительно программы рассчитанной для идеального чпу с мгновенным ускорением.Можете поверить .Я сделал систему чпу которая именно так и работает.То есть работает идеальный интерполятор.И отдельно от него выполняется программа обеспечивающая разгон-торможение осей.Никаких дополнительных отставаний осей относительно идеального интерполятора не накапливается.Да могу привести еще один пример.Берете любую систему чпу,устанавливаете в ней максимальное (мгновенное)ускорение осей,далее берете самый тормознутый привод(желательно какой-нибудь кустарный) чтобы в нем либо не было сигнала аварии при отставании от координаты либо его можно было отключить.Далее включаете самую длинную программу и удивляетесь,что привод отстанет только на время своего разгона за все время выполнения программы.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

sidor094 писал(а):.Время разгона одинаково для любых изменений скорости.В том числе при изменении скорости от максимальной вперед до максимальной назад время разгона точно такое же как при изменении скорости всего на 1 процент
Это как это так?
Ты хочешь сказать, что из покоя до 100 мм/мин и из покоя до 1 мм/мин время разгона будет одинаковым???
Меня вот в школе учили, что
V = Vo + a*t =>
t = (V-Vo)/a.
A = const
=>
Время ускорения прямопрапорционально изменению скорости.

Или уже формулы a=dV/dt в физике пересмотрели и физика теперь не физика, а ФизикаНовойЭры?
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Lexxa писал(а):merkwurdigliebe,
и плохо, неужели инженеры митсубиши не додумались назначиь устройствам адреса и Усилитель с датчиком по адрему, а не проводами??? И хайденхайн и синумерик уже давным давно эту проблему решили. И скажу я тебе, что это очень удобно. Например на большом станке не надо тянуть все датчики в шкаф, а достаточно поставить HUB и собрать все DriveCliq в него, а сам HUB воткнуть хть в тупой привод, хоть в блок питания. А уж CU там разберется, чей какой датчик какому сервоусилителю и какой оси принадлежит. Ну с топологией повозиться немного придется, но это не сложно и процедура не ахти какая уж и сложная.
ну все таки вряд ли их инженеры намного дурнее нас с вами ;) скорее всего, это решение чем-то обосновано...
DriveCliq, конечно, красиво. но
1. усложнение. какой там физический транспорт? 100base-t ethernet? т.е. в каждый энкодер засунь по MAC/PHY и трансформатору? вместо RS422 трансивера за 3 копейки, и примитивнейшего протокола, влезающего с запасом в 2.5Мбит?
2. если HUB - то это арбитраж шины?
3. HUB - дополнительное активное устройство - точка отказа
4. пропускная способность/латенси/джиттер. время цикла в контуре скорости порядка 50мкс. а минимальный интервал следования пакетов в 100base-tx, по-моему, что-то около 6мкс... и в том же 100мбит канале еще и сервоусилители? хм...
но я уверен, что в сименсе тоже не дураки :)
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Кстати про круговую интерполяцию.В отличие от линейной интерполяции круговая интерполяция это движение с постоянным ускорением.Соответственно все оси постоянно находятся в режиме разгона-торможения.Соответственно скорость движения инструмента всегда ниже задуманной именно поэтому даже при равных настройках осей всегда происходит искажение траектории в виде уменьшения диаметра относительно задуманного. И оно увеличивается с ростом скорости движения и с увеличением времени разгона координаты.И именно поэтому желательно(если есть такая возможность не останавливать интерполяцию,а затем выводить фрезу,а плавно выводить фрезу при этом выполняя круговую интерполяцию.Так как при остановке фрезы она закончит ускорение и выйдет на реальный (задуманный) диаметр окружности,который несколько больше получившегося у нас.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

sidor094 писал(а):В том числе при изменении скорости от максимальной вперед до максимальной назад время разгона точно такое же как при изменении скорости всего на 1 процент.
И все же как так?
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

Lexxa писал(а):
merkwurdigliebe писал(а):а попробовать скомпенсировать прямо в сервоусилителе
А разница?))
вот и я говорю - никакой :) это ж Hanter все хочет линейки в ЧПУ притащить - без этого, грит, не ЧПУ а так, баловство одно ;)
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Lexxa писал(а):Ты хочешь сказать, что из поко до 100 мм/мин и из покоя до 1 мм/мин время разгона будет одинаковым???
Меня вот в школе учили, что
В школе не учат построению системы чпу. Представьте себе,что мы тронулись под некоторым небольшим отличным от 45 градусов углом к оси X координат.Тогда скорости оси X и Y будут отличаться например вдвое.Тогда ,по школьной программе ,ось Y разгонится до требуемой скорости в 2 раза быстрее чем ось Х.При этом ось Х продолжит разгоняться еще такое же время.Теперь посмотрим какая получится траектория.Вначале,когда оси будут разгоняться с одинаковым ускорением инструмент будет идти под углом 45 градусов.когда они обе закончат разгон угол станет таким как задумывался.Ну а между этими точками тоже надо построить прямую.То есть за время движения унас появятся дополнительно два излома.Чтобы этого не произошло нужно чтобы оси затратили на разгон одно и тоже время.То есть их ускорения должны отличаться как и скорости вдвое.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

sidor094 писал(а):В школе не учат построению системы чпу
Ааа, даааа, точно, там учат основным законам физики и математики.
Те кто делает системы ЧПУ пользуются другими никому не ведомыми формулами и теориями. Боги одним словом.
merkwurdigliebe писал(а):линейки в ЧПУ притащить
Это безусловно полезно, однако и полузакрытый контур позиционирования будет работать, ибо работает же как-то на доброй половине станков с чпу.
Но линейки безусловно полезно.
:bender:
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Lexxa писал(а):Те кто делает системы ЧПУ пользуются другими никому не ведомыми формулами и теориями. Боги одним словом.
Я по-моему объяснил почему надо считать именно так а не иначе,при этом не нарушил ни физики ни математики.В ваших утверждениях одна ошибка . Вы считаете что ускорение должно быть одинаково для всех разгонов.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

А и значит, что первой оси можно разгоняться скол. Угодно долго и это не повлияет на время отработки кадра? Бред какой-то.
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

sidor094 писал(а):Динамика разгона торможения влияет только на время выполнения первого и может последнего кадра.На время выполнения всей программы они влияют соответственно очень слабо.Только за счет изменения времени выполнения этих двух кадров.
я тоже не уловил мысль...
реальная динамика разгона привода? ну это очевидно, только траектория может получиться не совсем та, которую построил интерполятор.
ограничение ускорения, основываясь на котором интерполятор строит траекторию? влияет, как нет?
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

merkwurdigliebe писал(а):реальная динамика разгона привода? ну это очевидно, только траектория может получиться не совсем та, которую построил интерполятор.
ограничение ускорения, основываясь на котором интерполятор строит траекторию? влияет, как нет?
А она никогда и не получается совсем та.Возьмите скругление углов ,уменьшение размера окружности.Все это результат небесконечного ускорения .Именно за счет этого время выполнения программы не увеличивается.Тоесть только первое ускорение вызывают увеличение времени выполнения программы.Все остальные ускорения начинают выполняться еще до завершения первой команды .То есть представьте идеальная система чпу поехала с мгновенно изменившейся скоростью.В это время реальная система начинает разгон.При этом её координата отстала от идеальной например на 1 сек.Далее идеальная система чпу изменила направление движения.В этот момент реальная система еще не доехала до конца траектории но тут же начинает новое ускорение для перехода на новую траекторию.В этот момент отставание реальной системы будет та же самая 1 сек.Как я говорил до этого система чпу должна разгоняться и тормозиться до любой доступной ей скорости за одно и тоже время.Значит для разгона до новой скорости мы потратим ту же самую секунду.Время задержки не увеличится так как мы начали новый разгон без задержки а одновременно с идеальной осью.Другое дело что мы начали новое ускорение не доехав до конца то есть в момент ,когда мы должны были начать торможение,если бы не получили новое задание мы как раз получили задание и начали разгон или торможение для нового перемещения. Поэтому задержка в одну секунду сохранится на протяжении всей программы.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

sidor094, это на практике как то проверялось?)) Или только теория пока?
:bender:
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение merkwurdigliebe »

не, ну это понятно. в предельном случае сервопривод вообще не стронется с места при выполнении любой программы. в принципе тоже - траектория ;)

на практике - да, я проверял когда-то :D
https://www.youtube.com/watch?v=cgUSmIrysV8
sidor094
Мастер
Сообщения: 826
Зарегистрирован: 20 фев 2014, 09:13
Репутация: 81
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение sidor094 »

Да у меня была разработана чпу на lpc1768,Вот только недавно смог перенести её на stm32f746.Это позволило увеличить скорость выдачи шагов с 80 до 200 кгц.И разрешение экрана с640х480 поднять до 800х600. https://youtu.be/pmXGbmsMK9o
Пока на новом камне только это видео.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: LinuxCNC S-разгон и торможение

Сообщение Lexxa »

merkwurdigliebe, а я вот совершенно недавно настраивал один пятиосевой станочек на синумерик, так вот там можно программно менять динамические характеристики осей DYNNORM, DYNFINISH, DYNROUGH, итд.
Так вот при смене динамических характеристик этими G-кодами меняются в том числе рывки и ускорения для каждой оси канала.
При этом время обработки одной и той же программы увеличилось с 35 минут до 53.
Существенно?
:bender:
Ответить

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