Milk писал(а):Серва управляется +-10В по скорости. Настрока через pncconf, завтра выложу hal.
Фишка в том, что мотор дрейффует даже в jog- режиме...Думаю может из-за отсутствия фильтра (noise filter) в цепи питания сервы.
в серве ПИД есть?
Я много думал на счет ПИДа. Очень по нему документация не внятная.
Вот какое дело. В приводе +-10 это Uзадания скорости. pncconf об этом даже не подозревает.
У себя еще не пробовал, но обязательно, как только добью датчики, заставить регулировать ПИД ЕМС скорость. По умолчанию он регулирует положение.
Чтобы это сделать необходимо:
Код: Выделить всё
## Загружаем модуль "производная"
loadrt ddt count=6
# Скорость и ошибка скорости Х
addf ddt.0 servo-thread
addf ddt.1 servo-thread
net xpos-cmd => ddt.0.in
net xvel ddt.0.out => => pid.x.command
net xpos-fb xpos-fb => ddt.1.in
net xvel-fb ddt.1.out => pid.x.feedback
Т.е. первая производная от положения есть скорость. Ну а дальше как фантазии хватит:
а) P=I=D=FF0=0, тогда ПИД EMC работать не будет. Тут надо будет подобрать всего 2 параметра - FF1 - коэффициент прапорциональности для скорости и FF2 - коэффициент прапорциональный ускорению.
б) настраивать все коэффициенты ПИД, тогда будет двойная петля регулировки скорости, тут может быть конфликт, типа перерегулирования и одна петля по моменту.