Страница 1 из 2

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

Добавлено: 23 дек 2020, 00:24
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:

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

Добавлено: 23 дек 2020, 00:46
Serg
Всё это проще реализовать в драйвере, тем более, что такие драйверы уже давно существуют.

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

Добавлено: 11 янв 2021, 21:36
UT3GE
Serg писал(а): 23 дек 2020, 00:46 Всё это проще реализовать в драйвере, тем более, что такие драйверы уже давно существуют.
Да я понимаю что есть драйвера с вышеуказанными возможностями.
Но хотелось бы использовать возможности LCNC если такие конечно же
можно реализовать. А самому написать код для ПЛИСки как то заоблачно на данное
время. Ну да ладно, поставлю вопрос по другому - реально ли такое сделать используя
возможности LCNC? Ведь имеются функции типа GEARCHANGE и FEEDCOM??!!

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

Добавлено: 11 янв 2021, 21:48
Kost_irk
Драйвер может обидеться, если вы ему на ходу передачу поменяете, сцепления-то нету :)
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?

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

Добавлено: 11 янв 2021, 22:17
UT3GE
Kost_irk писал(а): 11 янв 2021, 21:48 Драйвер может обидеться, если вы ему на ходу передачу поменяете, сцепления-то нету :)
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?
Драйвер DM856. Особо то не палю их. Вопрос стоит в том что можно ли это реализовать?
А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Для начала хотя бы вывести аналоговый сигнал типа «частота - напряжение»
что бы можно было бы регулировать ток драйвера в зависимости от частоты
импульсов, хотя это без особых потугов можно в железе реализовать.

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

Добавлено: 11 янв 2021, 22:24
Kost_irk
UT3GE писал(а): А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Драйвер знает, в каком месте он сейчас находится относительно полюсов двигателя. Напрмер, он проехал 4/32 шага. В этом месте можно без проблем переключится на 2/16 или 1/8. А вот на 1/4 уже нельзя. Понятен принцип?

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

Добавлено: 11 янв 2021, 22:28
Kost_irk
А зачем вам эта возня? Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов. У вас меса может выдавать очень высокие частоты, так что не вижу смысла уменьшать дробление.

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

Добавлено: 11 янв 2021, 22:52
UT3GE
Kost_irk писал(а): 11 янв 2021, 22:28 А зачем вам эта возня? Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов. У вас меса может выдавать очень высокие частоты, так что не вижу смысла уменьшать дробление.
Ой, ну сильно гудит «машина» на малых скоростях. Меса может а ШД «задохнётся» на высоких частотах, это же не серва. Видать не интересная тема для народа, хотя перекопал много интернета в поисках этого вопроса, не нашел и даже намёка. Может
действительно «гнилой вопрос» при стоимости ~50$ за лидшайн. А по поводу «горят не горят» лидшайны, горят и еще как горят. Повторюсь - вылетают не только ключи силовые а и контроллер. Не сильно удачно сделана топология печатной платы в лидшайнах. Да ладно, буду заниматься саморазвитием (в принципе у меня это спортивный интерес) . А так все работает отлично. Месой очень доволен после LPT. Спасибо Сергею «рыбнадзор» за помощь в правильном выборе.

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

Добавлено: 12 янв 2021, 08:55
michael-yurov
Что-то я запутался, как так произошло, что с вопроса антирезонанса, вдруг перескочили на вопрос переключения дробления микрошага?
Где здесь связь?
И зачем изменять ток в зависимости от скорости? Это ведь снизит крутящий момент на низких оборотах, где он не менее важен, а на высоких ничем не поможет, т.к. там мы, обычно, упираемся в индуктивность мотора и напряжение питания драйвера.

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

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

Я помню попробовал TMC2208 на принтере. Так меня теперь от TMC клещами не оттащишь. Другие драйвера даже в руки брать не хочу :)

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

Добавлено: 12 янв 2021, 09:35
Сергей Саныч
michael-yurov писал(а): зачем изменять ток в зависимости от скорости?
Частота резонанса зависит от тока, его снижение на этой частоте позволить "уйти" от резонанса. Поскольку от тока зависит "упругость магнитной пружины". Прошли зону резонанса - можно ток поднять до номинала. А на высоких скоростях движку не до резонансов - успеть бы за магнитным полем :)

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

Добавлено: 12 янв 2021, 09:42
Сергей Саныч
Kost_irk писал(а): Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов.
Да не всегда. ШД может резонировать даже на идеально синусоидальном токе в обмотках. Конечно, не так сильно, когда "квадрат по рельсам", но может. Для плавного хода надо подбирать форму тока, чтобы она компенсировала неидеальность магнитной системы.

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

Добавлено: 12 янв 2021, 10:41
michael-yurov
Сергей Саныч писал(а): Частота резонанса зависит от тока, его снижение на этой частоте позволить "уйти" от резонанса. Поскольку от тока зависит "упругость магнитной пружины". Прошли зону резонанса - можно ток поднять до номинала.
Ну так это какой-то неправильный подход. На низкой скорости ШД может резонировать вообще не будучи подключенным к драйверу. Тогда уж нужно не силу магнитной пружины уменьшать, а добавить электронный аналог механического демпфирования / вязкости. И такая функция есть во многих драйверах, при чем не самых навороченных. Но это лишь позволяет подавлять резонанс, но не устранить его.

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

Добавлено: 12 янв 2021, 12:35
Сергей Саныч
michael-yurov писал(а): На низкой скорости ШД может резонировать вообще не будучи подключенным к драйверу.
Это как??? :thinking:
Положим, момент инерции никуда не денется.
Какое-никакое упругое сопротивление ("магнитная пружина") хоть и слабенькое, но есть.
Но откуда возьмется энергия для раскачки?

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

Добавлено: 12 янв 2021, 19:14
michael-yurov
Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.

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

Добавлено: 12 янв 2021, 21:06
UT3GE
michael-yurov писал(а): 12 янв 2021, 19:14 Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.
Если так утверждать, то пожалуйста прошу назвать способы устранения резонанса????
Такие способы как регулировка тока, напряжения, дробления шага не берем!!!!
Прошу.....

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

Добавлено: 12 янв 2021, 22:07
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) я думаю что результат будет еще лучше чем с регулировкой тока. Но тут надо еще и ШИМ регулировку делать, бо просто аналоговая регулировка напряжения тут не проканает.

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

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

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

Добавлено: 12 янв 2021, 23:45
michael-yurov
UT3GE писал(а): Если так утверждать, то пожалуйста прошу назвать способы устранения резонанса????
Такие способы как регулировка тока, напряжения, дробления шага не берем!!!!
Прошу.....
Так уже назвали оба способа в этой теме. Электронное демпфирование и добавление в сигнал гармоник в противофазе резонансу. И то и другое давно реализовано и настраивается в китайских драйверах. (Сам же писал про Leadshine DM856 - в них есть и то и другое).
А вот на свой вопрос "Где здесь связь?" ответа я так и не увидел viewtopic.php?p=597580#p597580

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

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