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

Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 11 мар 2024, 16:06
KDA_140
Здравствуйте, форумчане, я новичок в LinuxCNC. Захотел разобраться что это такое и с чем это едят.
В качестве образца выбрал токарный станок и начал выстраивать систему с обратной связью.

Вот конфигурация того, чем пользуюсь:
Мозги - Raspberry pi 5 with linuxcnc 2.9.2
Main board - 7i92 (with .bit for lpt-dptr)
Interfece board - LPT-DPTR 1.03
Microstep driver PLD545-G4
Stepper motor - PL57H76
Encoder - линейный преобразователь ЛИР-7М

Всё это дело собрал и столкнулся с проблемой: LinuxCNC видит и обрабатывает сигналы с линейки, двигатель запускается и работает отлично, но как только пытаюсь в hal файле их "подружить" ничего не работает! Направление и масштаб линейных перемещений подобрал, но программа выдает ошибку ~joint 0 following error~. Подумал, что рассогласование происходит из-за различий в показателях и выставил FERROR и MIN_FERROR по 10. Ошибка пропала, но двигатель жалобно кричит и драйвер уходит в сон. Что делать дальше не понимаю, подскажите в чем может быть проблема? Прикреплю конфигурационные файлы.

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 11 мар 2024, 16:56
hmnijp
у вас там только
net x-pos-fb => pid.x.feedback
net x-pos-fb hm2_7i92.0.encoder.00.position
Рекомендуется добавить ещё фидбек скорости с энкодера, это точнее чем вычисление производной самим компонентом PID.
net x-vel-fb => pid.x.feedback-deriv
net x-vel-fb hm2_7i92.0.encoder.00.velocity

KDA_140 писал(а): Что делать дальше не понимаю, подскажите в чем может быть проблема?
А дальше - открывать в халскоп графики: "команда скорости -фидбек скорости- ferror" (по ним вы и масштабирование сигнала и энкодера проверить можете что он +- совпадает) и настраивать pid регулятор, для начала хотя бы по мануалу... (https://linuxcnc.org/docs/html/motion/pid-theory.html)

у вас там сейчас только Пропорциональный регулятор=850 - сомневаюсь что такое будет работать с реальной обратной связью с линеек.
Начните с простого - увеличивать P до момента когда будут автоколебания, уменьшить в половину, FF1=1(если масштаб команды скорости и энкодера верный, то оно в идеале должно быть =1 ), FF2 добавить совсем немного, обычно тысячные, чтобы убрать ступень ferror во время ускорений. Если более менее работает - можно попробовать настраивать весь pid. мелкая дрожж скорости убирается параметром deadband ~ равным дискретности или более.

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 11 мар 2024, 19:43
KDA_140
hmnijp писал(а): Пропорциональный регулятор=850
В этом была основная проблема! После некоторых тестов понял, что двигатель глохнет после P=250. Спасибо большое за подсказку - буду дальше осваивать LinuxCNC)

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 11 мар 2024, 20:28
xenon-alien

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 05 апр 2024, 16:14
KDA_140
xenon-alien писал(а): 11 мар 2024, 20:28
Подскажите, строго следуя инструкции в видео, у меня при самых лучших настройках PID происходит осцилляция по "синусоиде". Максимальное значение ошибки (без ускорения и торможении) почти 30мкм, такой точности не хватит не для чего( Почему может возникать такая ситуация и как ее исправить? в PID перебрал кажется уже все возможные варианты

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 05 апр 2024, 16:17
alex_sar
P уменьшать до исчезновения осцилляции

точнее не так.
убрать все коэффициенты кроме P. P прибавлять до появления осцилляции, и потом убавить ( с небольшим запасом )

только потом можно крутить всё остальное. по крайней мере аналоговые приводы так настраиваются.

Re: Обратная связь шагового двигателя по линейке ЛИР-7М

Добавлено: 05 апр 2024, 19:39
xenon-alien
KDA_140 писал(а): Подскажите, строго следуя инструкции в видео, у меня при самых лучших настройках PID происходит осцилляция по "синусоиде".
И как это понимать "при самых лучших настройках PID"?
Раз есть осцилляция, то это уже не лучшие настройки.
У автора видео есть расширенная версия видео и там он пояснил, как настраивается. Не говоря о том, нет ли каких-то помех...