Функция антирезонанс в Linuxcnc
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Функция антирезонанс в Linuxcnc
Есть идея (мечта) получить из 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 выводов без дела гуляют !!!
Любой совет будет ценным!!! Запас TB6600 для экспериментов сделан !
Сразу скажу интернет и мануилы пролистал множество и по диагонали. Единственное на что упало подозрение так это на P I D. и Stepgen.
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 выводов без дела гуляют !!!
Любой совет будет ценным!!! Запас TB6600 для экспериментов сделан !
Сразу скажу интернет и мануилы пролистал множество и по диагонали. Единственное на что упало подозрение так это на P I D. и Stepgen.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Всё это проще реализовать в драйвере, тем более, что такие драйверы уже давно существуют.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Да я понимаю что есть драйвера с вышеуказанными возможностями.
Но хотелось бы использовать возможности LCNC если такие конечно же
можно реализовать. А самому написать код для ПЛИСки как то заоблачно на данное
время. Ну да ладно, поставлю вопрос по другому - реально ли такое сделать используя
возможности LCNC? Ведь имеются функции типа GEARCHANGE и FEEDCOM??!!
-
- Мастер
- Сообщения: 999
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 193
- Откуда: Иркутск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Драйвер может обидеться, если вы ему на ходу передачу поменяете, сцепления-то нету
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?
Если без шуток, то так делать нельзя, шаги потеряете, даже если драйвер это переживет. Какой лидшайн палите, может подделка?
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Драйвер DM856. Особо то не палю их. Вопрос стоит в том что можно ли это реализовать?
А как же тогда работают лидшайны? Там ведь тоже «сцепления» нет.
Для начала хотя бы вывести аналоговый сигнал типа «частота - напряжение»
что бы можно было бы регулировать ток драйвера в зависимости от частоты
импульсов, хотя это без особых потугов можно в железе реализовать.
-
- Мастер
- Сообщения: 999
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 193
- Откуда: Иркутск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
А зачем вам эта возня? Вроде бы универсальный метод борьбы с резонансами - увеличение числа микрошагов. У вас меса может выдавать очень высокие частоты, так что не вижу смысла уменьшать дробление.
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Ой, ну сильно гудит «машина» на малых скоростях. Меса может а ШД «задохнётся» на высоких частотах, это же не серва. Видать не интересная тема для народа, хотя перекопал много интернета в поисках этого вопроса, не нашел и даже намёка. Может
действительно «гнилой вопрос» при стоимости ~50$ за лидшайн. А по поводу «горят не горят» лидшайны, горят и еще как горят. Повторюсь - вылетают не только ключи силовые а и контроллер. Не сильно удачно сделана топология печатной платы в лидшайнах. Да ладно, буду заниматься саморазвитием (в принципе у меня это спортивный интерес) . А так все работает отлично. Месой очень доволен после LPT. Спасибо Сергею «рыбнадзор» за помощь в правильном выборе.
- michael-yurov
- Почётный участник
- Сообщения: 11671
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4668
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Что-то я запутался, как так произошло, что с вопроса антирезонанса, вдруг перескочили на вопрос переключения дробления микрошага?
Где здесь связь?
И зачем изменять ток в зависимости от скорости? Это ведь снизит крутящий момент на низких оборотах, где он не менее важен, а на высоких ничем не поможет, т.к. там мы, обычно, упираемся в индуктивность мотора и напряжение питания драйвера.
Где здесь связь?
И зачем изменять ток в зависимости от скорости? Это ведь снизит крутящий момент на низких оборотах, где он не менее важен, а на высоких ничем не поможет, т.к. там мы, обычно, упираемся в индуктивность мотора и напряжение питания драйвера.
- MX_Master
- Мастер
- Сообщения: 7483
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3108
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
В соседних темах велось обсуждение драйверов 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
Да не всегда. ШД может резонировать даже на идеально синусоидальном токе в обмотках. Конечно, не так сильно, когда "квадрат по рельсам", но может. Для плавного хода надо подбирать форму тока, чтобы она компенсировала неидеальность магнитной системы.
Чудес не бывает. Бывают фокусы.
- michael-yurov
- Почётный участник
- Сообщения: 11671
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4668
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Ну так это какой-то неправильный подход. На низкой скорости ШД может резонировать вообще не будучи подключенным к драйверу. Тогда уж нужно не силу магнитной пружины уменьшать, а добавить электронный аналог механического демпфирования / вязкости. И такая функция есть во многих драйверах, при чем не самых навороченных. Но это лишь позволяет подавлять резонанс, но не устранить его.Сергей Саныч писал(а): ↑ Частота резонанса зависит от тока, его снижение на этой частоте позволить "уйти" от резонанса. Поскольку от тока зависит "упругость магнитной пружины". Прошли зону резонанса - можно ток поднять до номинала.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Это как???michael-yurov писал(а): ↑ На низкой скорости ШД может резонировать вообще не будучи подключенным к драйверу.
Положим, момент инерции никуда не денется.
Какое-никакое упругое сопротивление ("магнитная пружина") хоть и слабенькое, но есть.
Но откуда возьмется энергия для раскачки?
Чудес не бывает. Бывают фокусы.
- michael-yurov
- Почётный участник
- Сообщения: 11671
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4668
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Если так утверждать, то пожалуйста прошу назвать способы устранения резонанса????michael-yurov писал(а): ↑12 янв 2021, 19:14 Я хотел сказать, что мотор может резонировать даже если ток снизить до ноля и продолжить движение только за счет инерции. Т.е. изменение силы тока в зависимости от скорости неспособно полностью решить проблему резонанса, и гарантировано приведет к проблемам в работе станка раньше, чем полностью исчезнет эффект резонанса.
Такие способы как регулировка тока, напряжения, дробления шага не берем!!!!
Прошу.....
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Как по мне ШД начнет «стучать» если с 1/4 перейти на 1/16, типа тормоз произойдет. А вот с 1/16 на 1/4 переход должен быть безболезненный так как увеличиваем скорость перемещения. Ну да это все решаемо, вопрос остается открытым - как регулировать частоту stepgen обратно пропорционально дроблению шага????
Нашел в коробках микросу TC9401, собрал на ней макетку F => U, подал выход с нее на драйвер TB6600 (регулировка тока).... очень даже ничего получилось, грохот малых оборотов потерял свои дБелы. Сейчас хочу еще пошаманить как сделать регулировку напряжения обмоток ШД при помощи этой приблуды (ТС9401) я думаю что результат будет еще лучше чем с регулировкой тока. Но тут надо еще и ШИМ регулировку делать, бо просто аналоговая регулировка напряжения тут не проканает.
-
- Мастер
- Сообщения: 727
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
так у меня возник вопрос: почему нельзя поставить нормальные "сервы"? Ну то есть вы пытаетесь сделать из чисто шагового мотора именно сервопривод с обратными связями и управлением не только углом поворота, но и по факту скоростью вращения.
- michael-yurov
- Почётный участник
- Сообщения: 11671
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4668
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Так уже назвали оба способа в этой теме. Электронное демпфирование и добавление в сигнал гармоник в противофазе резонансу. И то и другое давно реализовано и настраивается в китайских драйверах. (Сам же писал про Leadshine DM856 - в них есть и то и другое).
А вот на свой вопрос "Где здесь связь?" ответа я так и не увидел viewtopic.php?p=597580#p597580
-
- Кандидат
- Сообщения: 62
- Зарегистрирован: 30 окт 2020, 14:21
- Репутация: 2
- Настоящее имя: Виталий
- Контактная информация:
Re: Функция антирезонанс в Linuxcnc
Ну нормальные сервы ставят там где надо перекрывать большие расстояния, а так как рабочее поле 700х500 какой смысл? Станок для обработки цветмета особо не погоняешь. Обратная связь это типа своеобразный «наворот»!!! Были четыре энкодера, так почему их не «прикрутить» к машине. Только одного не понял при чем здесь обратная связь к теме резонанса?