Настройка AT_PID шпинделя c асинхронным мотором
Добавлено: 11 июл 2013, 23:39
Хочу поделиться результатами сегодняшних экспериментов.
Все подключил по мануалу, вместо pid грузим at_pid.
sum2 не подключал, надеялся заменить установкой FF0 в 1. Сразу скажу - не получилось.
Запускаем linuxcnc, затем в консоли пишем:
в axis даем команду типа s1000m3.
Запускаем halscope, настраиваем два канала:
pid.0.error
pid.0.output
error должен показать 1000, output предположительно около нуля.
в консоли пишем:
наверняка ничего не начнет крутится либо будет, но настройка не идет.
Начинаем увеличивать pid.0.tune-effort, при этом pid.0.output должен увеличиваться, pid.0.error уменьшаться, до тех пор, пока не пересечет ноль. После этого шпиндель должен начать разгонятся/тормозить - типа идет настройка.
Когда процесс отстановится, настройка как-бы завершена.
Можно проверить как оно работает в реале:
Если что-то не так - повторяем процес. Можно попробовать увечить количество итераций
Все подключил по мануалу, вместо pid грузим at_pid.
sum2 не подключал, надеялся заменить установкой FF0 в 1. Сразу скажу - не получилось.
Запускаем linuxcnc, затем в консоли пишем:
Код: Выделить всё
halcmd setp pid.0.tune-mode 1
Запускаем halscope, настраиваем два канала:
pid.0.error
pid.0.output
error должен показать 1000, output предположительно около нуля.
в консоли пишем:
Код: Выделить всё
halcmd setp pid.0.tune-start 1
Начинаем увеличивать pid.0.tune-effort, при этом pid.0.output должен увеличиваться, pid.0.error уменьшаться, до тех пор, пока не пересечет ноль. После этого шпиндель должен начать разгонятся/тормозить - типа идет настройка.
Когда процесс отстановится, настройка как-бы завершена.
Можно проверить как оно работает в реале:
Код: Выделить всё
halcmd setp pid.0.tune-mode 0
Код: Выделить всё
halcmd setp pid.0.tune-cycles 1000