Функция антирезонанс в Linuxcnc

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

Есть идея (мечта) получить из LCNC выход двух сигналов для реализации функции "антирезонанса":
1. получить двоичный код типа 00, 01, 10, 11 которые будут соответствовать четырем зонам резонанса (более чем достаточно) с привязкой к частоте сигналов step (например 1 зона от 100 имп. до 500: 2 зона от 500 до 1000 и т.д.). Затем эти коды подаются на драйвер ШД для выставления микрошага, все это должно происходить в режиме работы программы. Естественно после stepgen надо ввести функцию (назовем ее к примеру " antiresonance" которая будет увеличивать или уменьшать частоту импульсов пропорционально выставленным микрошагам, при этом stepgen об этом не будет "знать". При малых скоростях деление шага увеличивается а при высоких скоростях уменьшается.
2. получить аналоговый выход например от 0.8 вольт до 5 вольт. Которые пойдут на регулировку тока обмоток ШД. Так же нужно получить выход с привязкой к частоте импульсов step. Затем заводим этот сигнал на драйвер и он во время малой скорости уменьшает ток обмоток а во время увеличения скорости увеличивает. Хотя как по мне эту функцию легче реализовать аппартно (преобразователь частота - напряжение).

Может есть уже какие-то наработки или решение по этому вопросу, так как надоело кормить "Leadschine" у которых почему-то вылетает контроллер а силовая часть которую можно починить работает. Я думая хобийщикам будет интересная эта идея.
Укажите в каком направлении рыть траншею, где чего читать так как понимаю что ведующим в linuxcnc не до таких вопросов.
Да и у MESы 7i76ed более 40 выводов без дела гуляют :controller: !!!
Любой совет будет ценным!!! Запас TB6600 для экспериментов сделан :stepper: !
Сразу скажу интернет и мануилы пролистал множество и по диагонали. Единственное на что упало подозрение так это на P I D. и Stepgen. :thinking:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение Serg »

Всё это проще реализовать в драйвере, тем более, что такие драйверы уже давно существуют.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

Serg писал(а): 23 дек 2020, 00:46 Всё это проще реализовать в драйвере, тем более, что такие драйверы уже давно существуют.
Да я понимаю что есть драйвера с вышеуказанными возможностями.
Но хотелось бы использовать возможности LCNC если такие конечно же
можно реализовать. А самому написать код для ПЛИСки как то заоблачно на данное
время. Ну да ладно, поставлю вопрос по другому - реально ли такое сделать используя
возможности LCNC? Ведь имеются функции типа GEARCHANGE и FEEDCOM??!!
Kost_irk
Мастер
Сообщения: 999
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение Kost_irk »

Драйвер может обидеться, если вы ему на ходу передачу поменяете, сцепления-то нету :)
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

Kost_irk писал(а): 11 янв 2021, 21:48 Драйвер может обидеться, если вы ему на ходу передачу поменяете, сцепления-то нету :)
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?
Драйвер DM856. Особо то не палю их. Вопрос стоит в том что можно ли это реализовать?
А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Для начала хотя бы вывести аналоговый сигнал типа «частота - напряжение»
что бы можно было бы регулировать ток драйвера в зависимости от частоты
импульсов, хотя это без особых потугов можно в железе реализовать.
Kost_irk
Мастер
Сообщения: 999
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение Kost_irk »

UT3GE писал(а): А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Драйвер знает, в каком месте он сейчас находится относительно полюсов двигателя. Напрмер, он проехал 4/32 шага. В этом месте можно без проблем переключится на 2/16 или 1/8. А вот на 1/4 уже нельзя. Понятен принцип?
Kost_irk
Мастер
Сообщения: 999
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение Kost_irk »

А зачем вам эта возня? Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов. У вас меса может выдавать очень высокие частоты, так что не вижу смысла уменьшать дробление.
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

Kost_irk писал(а): 11 янв 2021, 22:28 А зачем вам эта возня? Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов. У вас меса может выдавать очень высокие частоты, так что не вижу смысла уменьшать дробление.
Ой, ну сильно гудит «машина» на малых скоростях. Меса может а ШД «задохнётся» на высоких частотах, это же не серва. Видать не интересная тема для народа, хотя перекопал много интернета в поисках этого вопроса, не нашел и даже намёка. Может
действительно «гнилой вопрос» при стоимости ~50$ за лидшайн. А по поводу «горят не горят» лидшайны, горят и еще как горят. Повторюсь - вылетают не только ключи силовые а и контроллер. Не сильно удачно сделана топология печатной платы в лидшайнах. Да ладно, буду заниматься саморазвитием (в принципе у меня это спортивный интерес) . А так все работает отлично. Месой очень доволен после LPT. Спасибо Сергею «рыбнадзор» за помощь в правильном выборе.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11671
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4668
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение michael-yurov »

Что-то я запутался, как так произошло, что с вопроса антирезонанса, вдруг перескочили на вопрос переключения дробления микрошага?
Где здесь связь?
И зачем изменять ток в зависимости от скорости? Это ведь снизит крутящий момент на низких оборотах, где он не менее важен, а на высоких ничем не поможет, т.к. там мы, обычно, упираемся в индуктивность мотора и напряжение питания драйвера.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7483
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3108
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение MX_Master »

UT3GE писал(а): Ой, ну сильно гудит «машина» на малых скоростях.
В соседних темах велось обсуждение драйверов TMC 2160. Попробуйте для начала их, а уж потом, если не понравится, можно лезть в программирование :)

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

Re: Функция антирезонанс в Linuxcnc

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

michael-yurov писал(а): зачем изменять ток в зависимости от скорости?
Частота резонанса зависит от тока, его снижение на этой частоте позволить "уйти" от резонанса. Поскольку от тока зависит "упругость магнитной пружины". Прошли зону резонанса - можно ток поднять до номинала. А на высоких скоростях движку не до резонансов - успеть бы за магнитным полем :)
Последний раз редактировалось Сергей Саныч 12 янв 2021, 09:45, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

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

Kost_irk писал(а): Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов.
Да не всегда. ШД может резонировать даже на идеально синусоидальном токе в обмотках. Конечно, не так сильно, когда "квадрат по рельсам", но может. Для плавного хода надо подбирать форму тока, чтобы она компенсировала неидеальность магнитной системы.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11671
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4668
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение michael-yurov »

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

Re: Функция антирезонанс в Linuxcnc

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

michael-yurov писал(а): На низкой скорости ШД может резонировать вообще не будучи подключенным к драйверу.
Это как??? :thinking:
Положим, момент инерции никуда не денется.
Какое-никакое упругое сопротивление ("магнитная пружина") хоть и слабенькое, но есть.
Но откуда возьмется энергия для раскачки?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11671
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4668
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение michael-yurov »

Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

michael-yurov писал(а): 12 янв 2021, 19:14 Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.
Если так утверждать, то пожалуйста прошу назвать способы устранения резонанса????
Такие способы как регулировка тока, напряжения, дробления шага не берем!!!!
Прошу.....
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

Kost_irk писал(а): 11 янв 2021, 22:24
UT3GE писал(а): А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Драйвер знает, в каком месте он сейчас находится относительно полюсов двигателя. Напрмер, он проехал 4/32 шага. В этом месте можно без проблем переключится на 2/16 или 1/8. А вот на 1/4 уже нельзя. Понятен принцип?
Как по мне ШД начнет «стучать» если с 1/4 перейти на 1/16, типа тормоз произойдет. А вот с 1/16 на 1/4 переход должен быть безболезненный так как увеличиваем скорость перемещения. Ну да это все решаемо, вопрос остается открытым - как регулировать частоту stepgen обратно пропорционально дроблению шага????
Нашел в коробках микросу TC9401, собрал на ней макетку F => U, подал выход с нее на драйвер TB6600 (регулировка тока).... очень даже ничего получилось, грохот малых оборотов потерял свои дБелы. Сейчас хочу еще пошаманить как сделать регулировку напряжения обмоток ШД при помощи этой приблуды (ТС9401) я думаю что результат будет еще лучше чем с регулировкой тока. Но тут надо еще и ШИМ регулировку делать, бо просто аналоговая регулировка напряжения тут не проканает.
ex71
Мастер
Сообщения: 727
Зарегистрирован: 18 май 2019, 13:23
Репутация: 96
Настоящее имя: Андрей
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение ex71 »

UT3GE писал(а): Меса может а ШД «задохнётся» на высоких частотах, это же не серва.
так у меня возник вопрос: почему нельзя поставить нормальные "сервы"? Ну то есть вы пытаетесь сделать из чисто шагового мотора именно сервопривод с обратными связями и управлением не только углом поворота, но и по факту скоростью вращения.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11671
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4668
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение michael-yurov »

UT3GE писал(а): Если так утверждать, то пожалуйста прошу назвать способы устранения резонанса????
Такие способы как регулировка тока, напряжения, дробления шага не берем!!!!
Прошу.....
Так уже назвали оба способа в этой теме. Электронное демпфирование и добавление в сигнал гармоник в противофазе резонансу. И то и другое давно реализовано и настраивается в китайских драйверах. (Сам же писал про Leadshine DM856 - в них есть и то и другое).
А вот на свой вопрос "Где здесь связь?" ответа я так и не увидел viewtopic.php?p=597580#p597580
UT3GE
Кандидат
Сообщения: 62
Зарегистрирован: 30 окт 2020, 14:21
Репутация: 2
Настоящее имя: Виталий
Контактная информация:

Re: Функция антирезонанс в Linuxcnc

Сообщение UT3GE »

ex71 писал(а): 12 янв 2021, 23:12
UT3GE писал(а): Меса может а ШД «задохнётся» на высоких частотах, это же не серва.
так у меня возник вопрос: почему нельзя поставить нормальные "сервы"? Ну то есть вы пытаетесь сделать из чисто шагового мотора именно сервопривод с обратными связями и управлением не только углом поворота, но и по факту скоростью вращения.
Ну нормальные сервы ставят там где надо перекрывать большие расстояния, а так как рабочее поле 700х500 какой смысл? Станок для обработки цветмета особо не погоняешь. Обратная связь это типа своеобразный «наворот»!!! Были четыре энкодера, так почему их не «прикрутить» к машине. Только одного не понял при чем здесь обратная связь к теме резонанса?
Ответить

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