Контроллер оптических линеек / энкодеров (Step/Dir)

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

inFamous писал(а):Мгновенно начинаются подлагивания оси, которые сказываются сразу на чистоте поверхности.
При какой фильтрации сигнала?
inFamous писал(а):Даже малейший коэффициент FF Proportional (0.02 вместо необходимых 3.2, так то!)
Конкретно, какое значение FF P, какой микрошаг привода, какой множитель на входе контроллера, какое количество импульсов на миллиметр в программе, какая длительность фильтра, почему проверяешь из программы, а не кнопками в утилите настройки, какое расстояние должен проехать, и какое проезжает?
inFamous писал(а):Делаю вывод что FF Proportional работает не так, как заявлено (что ось при нулевых PID с правильно настроенным значением FF Proportional должна ходить так, будто ось работает без линейки)
Я говорил про скорость и расстояние, а не про звук работы. А то, что там "подлагивает" и звук неприятный — скорее всего исправляется фильтрацией сигнала хотя бы в 10-20 периодов сервоцикла. Я об этом уже раза 3 написал, но мои слова ты упорно игнорируешь. Видимо, пытаешься доказать, что FF тебе не нужен. Ну так если не нужен — не используй!
inFamous писал(а):даже совершенно неправильными настройками FF я сегодня не смог заставить серву на фрезере вести себя хотя бы отдалённо так же, как серва на токарном с этим контроллером и включенным FF Proportional
Ты ведь опять про звук и "подлагивания", а не про логику работы? Там вывод сигнала FF, вероятно, сразу аналоговый, и данный вопрос решается попроще.
inFamous писал(а):Так или иначе, меня работа устраивает и чисто по настройкам PID.
Я же не заставляю, и не настаиваю, чтобы ты использовал. Я лишь написал, как оно должно быть.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):Конкретно, какое значение FF P, какой микрошаг привода, какой множитель на входе контроллера, какое количество импульсов на миллиметр в программе, какая длительность фильтра, почему проверяешь из программы, а не кнопками в утилите настройки, какое расстояние должен проехать, и какое проезжает?
Значение FF P 3.2 (с ним расстояние совпадает примерно +- пройденное), микрошаг 1/16, множитель на входе 1 естественно, импульсов на 1 мм в Мак3 200, длительность фильтра (???)
Проверяю не из программы потому что до подключения плат и линеек проверял работу без нее, всё работает отлично, так что логично бы предположить что раз добавилось звено в виде платы и FF P - ну понятно в чём беда
michael-yurov писал(а):Я говорил про скорость и расстояние, а не про звук работы. А то, что там "подлагивает" и звук неприятный — скорее всего исправляется фильтрацией сигнала хотя бы в 10-20 периодов сервоцикла.
Менял от 1 вплоть до 60 - результата ноль. Если имеется ввиду Smooth в FeedForward Derrivative
FeedForward Derrivative менял от 0,1 до 2 с шагом в 0.1, особого эффекта не дало
И при каждом изменении в параметрах FF, заметьте, я пытался как то подшаманить PID чтобы ось не дергало как ржавую, убрать это я так и не смог. На сервоприводе это ещё не так заметно, просто трусит станину слегка, на шаговике же по звуку движка сразу понятно. Т.е. я потратил в общей сумме 2 дня для выяснения того факта, что этот параметр портит всю малину при любых раскладах. Особенно я пытался настроить ПИД при тех параметрах FF P которые должны быть (3.2, микрошаг поставил на обеих осях одинаковый), ну и как бы лыжи не едут.
Я то попробую из проги покрутить, но если будет тот же результат, тогда как?
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

inFamous писал(а):Значение FF P 3.2 (с ним расстояние совпадает примерно +- пройденное), микрошаг 1/16, множитель на входе 1 естественно, импульсов на 1 мм в Мак3 200, длительность фильтра (???)
То что совпадает - уже хорошо.
200 импульсов на миллиметр - маловато. Я бы сделал 2000 и множитель на входе 0,1, или 1000 и 0,2.
inFamous писал(а):Проверяю не из программы потому что до подключения плат и линеек проверял работу без нее, всё работает отлично, так что логично бы предположить что раз добавилось звено в виде платы и FF P - ну понятно в чём беда
Нет, не логично, и непонятно. Причина изменений - да, в плате. А беда, скорее всего, в настройках. И не только звено добавилось, но и изменилось количество импульсов на миллиметр, и добавилась привязка к линейке с достаточно грубым разрешением.
(даже без обратной связи, все равно перемещениями привязываешься к разрешению линейки).
inFamous писал(а):Менял от 1 вплоть до 60 - результата ноль. Если имеется ввиду Smooth в FeedForward Derrivative
Не... Имеется в виду тот smooth, который внизу, около максимальной выходной частоты...
Неудачно я расположил эту настройку...
inFamous писал(а):FeedForward Derrivative менял от 0,1 до 2 с шагом в 0.1, особого эффекта не дало
Производная только усугубит твою проблему. Лучше пока оставить нолевой.
inFamous писал(а): И при каждом изменении в параметрах FF, заметьте, я пытался как то подшаманить PID чтобы ось не дергало как ржавую, убрать это я так и не смог.
Напрасно пытался... PID совсем не для этого. Потому и не смог.
inFamous писал(а): Т.е. я потратил в общей сумме 2 дня для выяснения того факта, что этот параметр портит всю малину при любых раскладах.
Ну к неправильному выводу то пришел... Я же ответил, что сделать, когда ты описал, что не нравится неравномерность. Только два варианта есть для решения. Остальное пробовать - только время терять.

Надо было мне сразу сгладить эту FF составляющую для всех принудительно, и не гнаться за рабочими частотами, а сделать в 20 раз медленнее, как в mach3. Или вообще ориентироваться на низкое разрешение линеек и низкие частоты, как у LPT.
А то я там сделал мегагерцы, и микросекунды на расчет. А в итоге подобные проблемы возникают.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):
inFamous писал(а):Значение FF P 3.2 (с ним расстояние совпадает примерно +- пройденное), микрошаг 1/16, множитель на входе 1 естественно, импульсов на 1 мм в Мак3 200, длительность фильтра (???)
То что совпадает - уже хорошо.
200 импульсов на миллиметр - маловато. Я бы сделал 2000 и множитель на входе 0,1, или 1000 и 0,2.
inFamous писал(а):Проверяю не из программы потому что до подключения плат и линеек проверял работу без нее, всё работает отлично, так что логично бы предположить что раз добавилось звено в виде платы и FF P - ну понятно в чём беда
Нет, не логично, и непонятно. Причина изменений - да, в плате. А беда, скорее всего, в настройках. И не только звено добавилось, но и изменилось количество импульсов на миллиметр, и добавилась привязка к линейке с достаточно грубым разрешением.
(даже без обратной связи, все равно перемещениями привязываешься к разрешению линейки).
inFamous писал(а):Менял от 1 вплоть до 60 - результата ноль. Если имеется ввиду Smooth в FeedForward Derrivative
Не... Имеется в виду тот smooth, который внизу, около максимальной выходной частоты...
Неудачно я расположил эту настройку...
inFamous писал(а):FeedForward Derrivative менял от 0,1 до 2 с шагом в 0.1, особого эффекта не дало
Производная только усугубит твою проблему. Лучше пока оставить нолевой.
inFamous писал(а): И при каждом изменении в параметрах FF, заметьте, я пытался как то подшаманить PID чтобы ось не дергало как ржавую, убрать это я так и не смог.
Напрасно пытался... PID совсем не для этого. Потому и не смог.
inFamous писал(а): Т.е. я потратил в общей сумме 2 дня для выяснения того факта, что этот параметр портит всю малину при любых раскладах.
Ну к неправильному выводу то пришел... Я же ответил, что сделать, когда ты описал, что не нравится неравномерность. Только два варианта есть для решения. Остальное пробовать - только время терять.

Надо было мне сразу сгладить эту FF составляющую для всех принудительно, и не гнаться за рабочими частотами, а сделать в 20 раз медленнее, как в mach3. Или вообще ориентироваться на низкое разрешение линеек и низкие частоты, как у LPT.
А то я там сделал мегагерцы, и микросекунды на расчет. А в итоге подобные проблемы возникают.
Ок, доберусь до станка, попробую снова поколдовать
Алгоритм тогда такой, как я понял
1) Делаю 2000 имп. на мм в мак3
2) Множитель входящего сигнала делаю 0.1
3) FF P получается тогда тоже 3.2 или 0,32?
4) FF D оставляю равным 0
5) Здесь ставлю сглаживание 20 в Smooth? Какое ограничение выходной частоты поставить тогда?
1.JPG (7163 просмотра) <a class='original' href='./download/file.php?id=173294&sid=8c2c82c7eb364446833d57973e3b1e72&mode=view' target=_blank>Загрузить оригинал (27.64 КБ)</a>
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

Да, верно! И если не выходит что-то - лучше напиши, не теряй время и нервы.
1) Да.
2) Да.
inFamous писал(а):3) FF P получается тогда тоже 3.2 или 0,32
Скорее всего так же 3,2. Но увидишь ведь.
4) Да.
inFamous писал(а): 5) Здесь ставлю сглаживание 20 в Smooth? Какое ограничение выходной частоты поставить тогда?
Попробуй Smooth 20 - 50 - 100. Это время затухания сглаживания в сервопериодах скорее всего (не помню уже). 100 сервопериодов, это 0,01 сек. Довольно мало. Но если будет хороший результат с меньшими значениями - лучше меньше. Тут уж пробовать нужно.
Ограничение частоты не ставь. Пусть будет 0.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):Да, верно! И если не выходит что-то - лучше напиши, не теряй время и нервы.
1) Да.
2) Да.
inFamous писал(а):3) FF P получается тогда тоже 3.2 или 0,32
Скорее всего так же 3,2. Но увидишь ведь.
4) Да.
inFamous писал(а): 5) Здесь ставлю сглаживание 20 в Smooth? Какое ограничение выходной частоты поставить тогда?
Попробуй Smooth 20 - 50 - 100. Это время затухания сглаживания в сервопериодах скорее всего (не помню уже). 100 сервопериодов, это 0,01 сек. Довольно мало. Но если будет хороший результат с меньшими значениями - лучше меньше. Тут уж пробовать нужно.
Ограничение частоты не ставь. Пусть будет 0.
Получилось, в принципе всё ок, на шаговике очень быстро отстроил, а вот ось с сервоприводом вечно или в расколбас уходит или догоняет постоянно, так более менее адекватно отстроить не смог. Но это скорее всего надо лезть в настройки самой сервы.
Количество входящи импульсов делал 2000 с 0.1 с Source Multiplier, и 200 с 1 - разницы нет, главное сглаживание, 100 даёт отличный результат.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

inFamous писал(а):Количество входящи импульсов делал 2000 с 0.1 с Source Multiplier, и 200 с 1 - разницы нет
Подозреваю, что мой косяк... Значительный косяк... Я мог по ошибке использовать целочисленные операции на этапе вычисления FF P.
inFamous писал(а):а вот ось с сервоприводом вечно или в расколбас уходит или догоняет постоянно, так более менее адекватно отстроить не смог.
Может и сам привод "постоянно догонять". Без графиков на экране ты бы об этом просто не знал, и пользовался бы спокойно.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):
inFamous писал(а):Количество входящи импульсов делал 2000 с 0.1 с Source Multiplier, и 200 с 1 - разницы нет
Подозреваю, что мой косяк... Значительный косяк... Я мог по ошибке использовать целочисленные операции на этапе вычисления FF P.
inFamous писал(а):а вот ось с сервоприводом вечно или в расколбас уходит или догоняет постоянно, так более менее адекватно отстроить не смог.
Может и сам привод "постоянно догонять". Без графиков на экране ты бы об этом просто не знал, и пользовался бы спокойно.
Да он догоняет так, что и графика не нужно, на глаз видно что пролетает мимо градусов на 5, потом возвращается назад. Но это на укоренных. На рабочих ходах всё ок по графикам. Скорее всего сервопривод нужно донастроить, до этого он стоял на оси Z фрезера, и там вполне прилично себя вёл, видимо потому что ось постоянно вниз тянула, настройки я не менял, так что надо донастроить её.
Sashalex24
Мастер
Сообщения: 632
Зарегистрирован: 23 янв 2016, 11:40
Репутация: 195
Настоящее имя: Александр
Откуда: Рязань
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Sashalex24 »

200 импульсов на миллиметр - маловато.
У меня оптическая линейка 0.005мм. Как повысить множитель? Как он прописан в программе? Хочу сделать 2000. Уж очень чувствуются низкое разрешение оптической линейки. Прм шагает с сервами как шаговик.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

Для начала задать ненолевое значение для фильтра выходной частоты. Около 50 — 100 единиц (сервоциклов).
В остальном — зависит от ваших текущих настроек.
Sashalex24
Мастер
Сообщения: 632
Зарегистрирован: 23 янв 2016, 11:40
Репутация: 195
Настоящее имя: Александр
Откуда: Рязань
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Sashalex24 »

У меня стоит сглаживание 10 в Smooth. Серва настроена на 100000 импульсов.
Вложения
20200316_191153.jpg (6656 просмотров) <a class='original' href='./download/file.php?id=178540&sid=8c2c82c7eb364446833d57973e3b1e72&mode=view' target=_blank>Загрузить оригинал (7.38 МБ)</a>
Sashalex24
Мастер
Сообщения: 632
Зарегистрирован: 23 янв 2016, 11:40
Репутация: 195
Настоящее имя: Александр
Откуда: Рязань
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Sashalex24 »

Добрый вечер. Решил заняться полной настройкой контроллера. Не пропадает в размер вообще. Количество импульсов сервы на 1 оборот 100000. Линейки оптические на 0.005мм. В программе выставляю 200 импульсов на 1мм. Source S. M. значение 1. Расчет FF P такой 100000 делим на 200 импульсов на 1мм линейки получаем что в FF P нужно выставить 500? Но при такой настроике координата уезжает вообще как бешеная далеко и уходит серва в ошибку. Пробовал FF P выставлять значение 100 и координата едет с адекватной скорость но в размер где то рядом попадает. При такой настроике контролера FF P 100 Я в программе станка задаю переехать на регламентированное расстояние 20мм с 0мм значением индикатора в начале. И после таго как станок сдвинулся на 20мм по программе Я решил замерить плиткой КМД на 20мм расстояние до индикатора и ее мало примерно 0.5 мм. Возвращаю станок по программе на 20мм назад и индикатор стоит ровно на 0мм. Пробовал передвигать по 1мм по индикатору и с каждым оборотом прибавлялось размер. При переезде на 100 мм от индикатора и замеряю плиткой то полученное расстояние еще больше. Куда копать подскажите?
Вложения
Паспорт однои линейки (6098 просмотров) <a class='original' href='./download/file.php?id=179581&sid=8c2c82c7eb364446833d57973e3b1e72&mode=view' target=_blank>Загрузить оригинал (3.38 МБ)</a>
Паспорт однои линейки
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

За один оборот сервы ведь не на 1 мм перемещается, а больше. Наверное на 5 мм. Поэтому и FFP не 500, а 100.
Ввиду особенностей математики стоит задать сглаживание выходной частоты в районе 50 — 100 единиц. При этом должно лучше попадать в размер.
При использовании параметров FFP и FFD количество импульсов на выходе скорее всего не будет точно совпадать с исходным после умножения на FFP. Тут уже нужно использовать основные P I D коэффициенты для коррекции положения по линейке, т.к. сейчас происходит движение вслепую, без учета данных с линейки.
Т.е. основной выходного сигнала должна быть частота на основе FFP, а коррекция рассогласования уже должна осуществляться на основе данных с линейки основными пропорциональным и дифференциальным (если необходимо) коэффициентами. Интегральный, скорее всего не потребуется, и лучше его оставить равным нолю.
Sashalex24
Мастер
Сообщения: 632
Зарегистрирован: 23 янв 2016, 11:40
Репутация: 195
Настоящее имя: Александр
Откуда: Рязань
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Sashalex24 »

Спасибо. Вот с такими настройками PID стало попадать в 0.03мм на любых плитках КМД Я пробовал на самой большой 100мм. Как вообще считается PID? Строго по графику в самотесте программном обеспечение контроллера? Чем ровней к 0 зеленая полоса?
Вложения
Безымянный.jpg (6066 просмотров) <a class='original' href='./download/file.php?id=179586&sid=8c2c82c7eb364446833d57973e3b1e72&mode=view' target=_blank>Загрузить оригинал (228.53 КБ)</a>
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

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

В окне с графиком, вроде бы, еще внизу два маленьких окошка должны быть с текущими значениями.
PID не посчитать. Только пробовать.
Можно попробовать с нолевыми коэффициентами FF, так будет понятнее, как влияют именно PID коэффициенты.

Не очень мне нравятся зубчатые всплески графика. Не очень понимаю, откуда они, и почему на зеленом графике их не видно.
FFD может быть попробовать убрать.

А как уж проверять самотестом, или от ЧПУ, по звуку, по картинке или по результату работы — тут уж сам смотри.
Sashalex24
Мастер
Сообщения: 632
Зарегистрирован: 23 янв 2016, 11:40
Репутация: 195
Настоящее имя: Александр
Откуда: Рязань
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Sashalex24 »

Вот отключил. С отключенным FF P в размер лучше стало попадать.
Вложения
Безымянный2.jpg (6059 просмотров) <a class='original' href='./download/file.php?id=179588&sid=8c2c82c7eb364446833d57973e3b1e72&mode=view' target=_blank>Загрузить оригинал (227.63 КБ)</a>
Аватара пользователя
CNC-Logic
Мастер
Сообщения: 1560
Зарегистрирован: 14 мар 2012, 03:40
Репутация: 814
Настоящее имя: Евгений
Откуда: г.Новосибирск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение CNC-Logic »

Был до последнего уверен что подберу правильные настройки для контроллера. Но увы. Ошибка по радиусу иногда может доходить до 3 соток.
Ось Х может 20 раз подряд встать четко в ноль по индикатору, а на 21 раз ошибиться на 3 сотки по радиусу. Михаил помогал чем мог, но пока лучше не стало. По механике всё что нужно затянуто. Линейка с разрешением 0.005мм, шаговики. ECCU показывает что ошибок нет, а индикатор что ошибка есть. Ось работает своеобразно: сначала как будто проскакивает, потом возвращается, индикатор при этом может показать расхождение, а может и чётко в ноль встать. У деталей размер плавает примерно на такую же величину.
В связи с этим вопрос: есть ли какая то методика по корректной настройке данных контроллеров.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7465
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3088
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение MX_Master »

Поставь рядом два индикатора разного типа. Вдруг кто-то из них врёт ;)

Ну и рядовые вопросы.. Класс точности всей механики/электроники/мериловки соответствует данному замеру? Температура/влажность воздуха и механики во всех тестах была постоянная?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение Serg »

CNC-Logic писал(а): Ось работает своеобразно: сначала как будто проскакивает, потом возвращается
Неверные настройки ПИД, перерегулирование. Методики есть статьях по теории ПИД регулирования. Ну или у Михаила. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
PlagueMen
Новичок
Сообщения: 3
Зарегистрирован: 26 фев 2020, 02:56
Репутация: 0
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение PlagueMen »

Даже идеально подобранные коэффициенты ПИД не помогут на 100%, отклонения будут. Улучшить результат могут более точные линейки и трехступенчатый ПИД. Не зря в сервах энкодеры ставят на сотни тысяч импульсов на оборот.
Ответить

Вернуться в «Электроника»