ПИД-регулирование. Общие вопросы.

Контроллеры, драйверы, датчики, управляющие устройства.
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

А ПИД настроен? Ускоряться собрался :) Интересно что в ускорении и компенсации люфтов записано и как влияет на выбросы?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

почему только пр смене направления? после остановки никаких выбросов при повторении направления
:bender:
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

При смене направления логично предположить backlash.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Nick »

Lexxa писал(а):Скачки только при смене направления, что непонятно
Может за счет ускорения и "инерции" отстает и пытается догнать, отсюда и скачек...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Что такое backlash?
Скачки и на станке и на столе
:bender:
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

backlash - люфт. Параметр компенсации люфта или таблица компенсации оси.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Почему компенсация люфта приводит к скачку?
Почему при этом выскакивает ошибка?
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Nick »

Чтобы компенсировать люфт, надо при смене направления движения быстро переместиться на величину люфта, чтобы его выбрать и не отстать от траектории. Поэтому происходит скачек. А зачем ты его настроил?
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

Логически правильно, причем компенсация люфта происходит на максимальной скорости.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Nick писал(а): А зачем ты его настроил?
Чтоб люфт убрать) 6 соток люфт. НО! На станке при скачке ошибка также выскакивала
:bender:
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

xentaur писал(а):компенсация люфта происходит на максимальной скорости.
Оказалось что скорость компенсации отдельно задается и для каждой оси своя.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Где и чем?
:bender:
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

[Показать установки HAL]
HAL Configuration
Снимок-HAL Configuration.png (2190 просмотров) <a class='original' href='./download/file.php?id=5827&mode=view' target=_blank>Загрузить оригинал (28.9 КБ)</a>
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Полезная инфа
:bender:
xentaur
Опытный
Сообщения: 178
Зарегистрирован: 09 ноя 2010, 02:29
Репутация: 1
Откуда: Украина Харьков
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение xentaur »

Вот ссылочки на wiki.linuxcnc.org
Tuning LinuxCNC/HAL PID loops
PWM Servo Amplifiers
Может стоит их перевести и в шапку?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Nick »

Lexxa писал(а):Полезная инфа
+1
xentaur писал(а):Вот ссылочки на wiki.linuxcnc.org
Сейчас просто добавлю, потом надо будет шапку полностью переоформить.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Итак вместе с TOOT крутили сегодня PID-параметры на станке.
долго мучались а at_pid, в итоге запустили.
Результат такой
P = 1.4
I = 34.5
D = 0.014
I великоват)
Ковыряли с такими настройками:
FERROR = 1
MIN_FERROR = 10
Для проверки их поставили в 0,02 и 1 соответственно - вылетает с ошибкой joint 2 error...
Короче вопрос такой.
Если пользоваться штукой pid_tuning, то каков должен быть алгоритм?
Например настрамваем ось Z.
В осциле смотрим пины
1) пид-комманд
2) енкодер.позишн
3) пид.еррор
Цель - свести к минимуму пид.еррор, правильно?
Делали мы так - увеличивали параметр P до тех пор, пока значение амплитуды выхода pid.output не станет равным заданному ползунком. Значение получилось 0.1
Далее увеличивая и уменьшая параметры I и D добились почти точного совпадения пид.комманд и энкодер.позишн, но при этом пид.эррор никак не хотел уменьшаться, т.е. конечно разница по сравнению с тем что было изначально и что стало в пид.еррор заметна, но очень мала.
Т.е. графика типа этого
Изображение
где эррор начинает меняться особо мы не получили, это всегда был четкий синус.
Куда копать, кто посоветует?
P.S. 5i20 + 7i33
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Nick »

Lexxa писал(а): FERROR = 1
MIN_FERROR = 10
Эм... а не наоборот?

По идее ты должен увеличивать P пока на feedback не начнут появляться колебания. Колебания будут лучше всего видны не при синусоиде, а при квадратной форме.

Описание тюнинга в двух словах: :)
If the system must remain on line, one tuning method is to first set the I and D values to zero. Increase the P until the output of the loop oscillates. Then increase I until oscillation stops. Finally, increase D until the loop is acceptably quick to reach its reference.

Вот это читали: http://www.linuxcnc.org/docs/2.4/html/m ... tml#r1_1_3
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Lexxa »

Конечно наоборот)
Читали)))
Как-то у меня не укладывается в голове вот что:
Если увеличивать P-параметр, не контролируя Uзадания, то можно ненароком его усилить до степени, когда максимум и минимум синусоиды будет обрезаться, т.е. превышать +-10В, что не есть хорошо. Вот какая штука. Если поставить в pid_tunning режим синус или прямоугольник (на треугольнике это тоже есть, просто видно плохо), установить амплитуду 1В в gui0, и увеличивать P, то рано или поздно на выходе 7i33 будет не 1В, как задано, а все 10.
Т.е. получается, что задав 1 раз коэффициент Р менять его уже нельзя. Или же при дальнейшем увеличении I и D значене P, установленное выше, уже будет иметь новый верхний предел?
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ПИД-регулирование. Общие вопросы.

Сообщение Nick »

Смотри, задание - это pid.command на PID у тебя должна приходить скорость или положение, что в принципе не важно.
Т.е. синусоида - это задание, а выход пид это или скорость или момент, и выход не должен быть ни синусоидой, ни чем-то похожем. Плюс выход может быть обрезан +10В, ничего такого в этом нет, это просто значит, что серва должна тянуть со всей скоростью. Хотя, если появляется +10В, это скорее всего значит, что серва не справляется и нужно понижать ускорение.

Амплитуда синуса и прямоугольника, это задание по перемещению, т.е. поставил 20 - это +-20мм в каждую сторону, к абсолютному значению P это не относится.

Главное попробуй отловить колебания на углу прямоугольника при увеличении P.
Ответить

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