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

Контроллеры, драйверы, датчики, управляющие устройства.

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

Сообщение Hunter » 11 янв 2012, 18:27

Добрый день, коллеги!

Новичек в данном деле, поэтому прошу подсказать ответы на нижеследующие вопросы.

Исходные данные:
Имеется 675 "ереванец", будем его ЧПУ-шить. Есть желание сделать 4 оси + управление шпинделем.
Приобретено следующее железо:
Сервы Mitsubishi MR-J3-A с моторами, частотник VFD-M от Delta Electronics.

Планируется приобрести Mesa 5i20, 7i37, 7i48. А так же руль MPG, к примеру такой: http://www.ebay.com/itm/Manual-Encoder- ... ltDomain_0

Сервами будем управлять аналоговым сигналом по скорости. Сервы продвинутые, обеспечивают PI-регулирование.

Пока первый вопрос: если всеми координатами будет управлять плата mesa, то имеет ли смыл отключить в сервоусилителях PI-регулирование? Если оставить все как есть, то не возникнут ли конфликтов по управлению между платой mesa и контроллером? Имеется ввиду конфликты типа автоколебаний.

Полезные ссылки

Tuning LinuxCNC/HAL PID loops от LinuxCNC.org (англ.)
PWM Servo Amplifiers от LinuxCNC.org (англ.)
Hunter
Новичок
 
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Откуда: Вологда
Репутация: 1

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

Сообщение Nick » 11 янв 2012, 19:38

По идее автоколебания могут возникнуть, только если будет два регулятора. Если регулятор только 1 то не должно быть колебаний.
А если в серве есть свой PI, что она берет в качестве сигнала?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

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

Сообщение Hunter » 11 янв 2012, 20:43

Ну как, аналоговое напряжение задания скорости, ну и в качестве обратной связи - сигнал от энкодера.

Получается, что два, так как в серве по-умолчанию включено PI (пропорционально-интегральное) управление. Но можно включить P-регулирование.
В доке на серву описан принцип PI на таком примере: типа когда сервомотор остановлен (0 скорость), то из-за внешних факторов его вал может провернуться.
В этом случае серва упирается в противоположную сторону чтобы удержать координату. Ну и, мол, если вам этого не надо, то включайте P-регулирование.

Если вот с описанным случаем mesa справится, то, может, действительно выключить это дело?
Hunter
Новичок
 
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Откуда: Вологда
Репутация: 1

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

Сообщение aftaev » 11 янв 2012, 20:54

Насколько я понимаю внутренний PI регулятор, регулирует ток по входному сигналу и держит скрость, но в отличии от ЕМС не "видет" сколько нужно проехать.
Думю что PI бует у вас включен в обоих местах. Выключить в серве не проблема.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30552
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5425
Медальки:

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

Сообщение mycnc » 12 янв 2012, 11:10

ПИ-регулятор может регулировать что угодно. Наиболее вероятно, его можно запрограммировать на удержание скорости согласно аналогового входа +-10В или удержание положения (я думаю степ-дир вход у него тоже есть) а может и чего еще, драйвера навороченные.
Поэтому ПИ отключать не надо, а вот доки читать придется :)
Аватара пользователя
mycnc
Мастер
 
Сообщения: 801
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 550

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

Сообщение PKM » 12 янв 2012, 12:34

Hunter писал(а):В доке на серву описан принцип PI на таком примере: типа когда сервомотор остановлен (0 скорость), то из-за внешних факторов его вал может провернуться.

так это ж наверное при управлении по позиции?
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 702
Медальки:
Настоящее имя: Андрей

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

Сообщение roach » 12 янв 2012, 12:37

Настраиваю привода от Балтсистем с аналоговое управлением +-10В. Mesa 7i33.
На приводе ПИ регулятор включен по умолчанию и не отключается.
Настроить эту связку получилось, только двигатели "подвывают" немного. На днях заканчиваем монтаж шкафа и закончу с настройкой приводов. Потом опишу подробнее процесс настройки.
Аватара пользователя
roach
Мастер
 
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Медальки:

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

Сообщение Nick » 12 янв 2012, 16:13

А может подойти с другой стороны - не брать в расчет PID месы, просто использовать PI сервы, гнать на нее задание по положению (или по скорости) и брать обратную связь?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

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

Сообщение PKM » 12 янв 2012, 18:31

Nick писал(а): гнать на нее задание по положению (или по скорости)

Ну по скорости они уже гонят вроде. А по положению спокойно можно, в шаговом режиме.
Аватара пользователя
PKM
Почётный участник
Почётный участник
 
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Откуда: Украина
Репутация: 702
Медальки:
Настоящее имя: Андрей

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

Сообщение Nick » 12 янв 2012, 19:41

Суть в том, что можно и не только в шаговом. ИМХО будет более плавнее, чем если серва будет пытаться имитировать шаговик (у нее конечно может быть сглаживающий фильтр, но он будет увеличивать инертность).
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

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

Сообщение Hunter » 12 янв 2012, 21:17

Спасибо откликнувшимся, более-менее понятно. Пусть драйвер занимается PI регулированием.
А вот интересно, можно ли в таком случае отключить в mesa интегральную составляющую? То есть чтобы работало PD-регулирование. По формуле вроде можно http://ru.wikipedia.org/wiki/%D0%9F%D0% ... 0%BE%D1%80

Отвечу сам себе: да, можно.
(float) pid.<loopnum>.Pgain -- Proportional gain
(float) pid.<loopnum>.Igain -- Integral gain
(float) pid.<loopnum>.Dgain -- Derivative gain
http://www.linuxcnc.org/docview/html/ha ... ml#sec:PID

Вот тут нормально описано:
http://www.linuxcnc.org/docview/html/mo ... heory.html

Интересно... Айк в своей разработке вообще выключил ID, оставил только пропорциональное управление.
http://www.microcnc.ru/research/1325F30.php
Hunter
Новичок
 
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Откуда: Вологда
Репутация: 1

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

Сообщение Nick » 12 янв 2012, 23:10

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

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

Сообщение roach » 13 янв 2012, 05:16

Nick писал(а):Кстати, а как в драйвере настраиваются значения коэффициентов P и I?

Например http://www.bsystem.ru/files/Prvod_SA_HA.pdf
п. 9.3.2.1
Аватара пользователя
roach
Мастер
 
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Медальки:

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

Сообщение mycnc » 13 янв 2012, 09:14

Nick писал(а):Суть в том, что можно и не только в шаговом. ИМХО будет более плавнее, чем если серва будет пытаться имитировать шаговик (у нее конечно может быть сглаживающий фильтр, но он будет увеличивать инертность).


Все современные серводрайвера - цифровые, поэтому гнать на них аналоговоый сигнал в качестве задания - это атавизм.
Они прекрасно работают с степ-дир и по-моему - это значительно правильнее, чем +-10В (я не упоминаю более продвинутые промышленные интерфейсы)

Проблема в другом - простые сервомоторы имеют 2500 меток энкодер (разрешение 10 000 на оборот), что при 3000 об.мин дает 500 кГц степов. Продвинутые моторы - энкодер на 32000 меток и 1,5 Мгц шагов соответственно. Без хард-контроллера такую частоту не получить.

Можно, конечно, загробить разрешение внутренними настройками серво-драйвера и кормить его 40кГц от ЕМЦ - но это просто издевательство - и тогда уж лучше устаревший, но проверенный +-10В
Аватара пользователя
mycnc
Мастер
 
Сообщения: 801
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 550

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

Сообщение roach » 13 янв 2012, 09:26

mycnc писал(а):
Nick писал(а):Суть в том, что можно и не только в шаговом. ИМХО будет более плавнее, чем если серва будет пытаться имитировать шаговик (у нее конечно может быть сглаживающий фильтр, но он будет увеличивать инертность).


Все современные серводрайвера - цифровые, поэтому гнать на них аналоговоый сигнал в качестве задания - это атавизм.
Они прекрасно работают с степ-дир и по-моему - это значительно правильнее, чем +-10В (я не упоминаю более продвинутые промышленные интерфейсы)

Проблема в другом - простые сервомоторы имеют 2500 меток энкодер (разрешение 10 000 на оборот), что при 3000 об.мин дает 500 кГц степов. Продвинутые моторы - энкодер на 32000 меток и 1,5 Мгц шагов соответственно. Без хард-контроллера такую частоту не получить.

Можно, конечно, загробить разрешение внутренними настройками серво-драйвера и кормить его 40кГц от ЕМЦ - но это просто издевательство - и тогда уж лучше устаревший, но проверенный +-10В


согласен, но мы купили 7i33 теперь от нее и пляшем, хотя драйвера поддерживают работу в режиме по положению

Потом нашел у меса 7i47 http://www.mesanet.com/pdf/motion/7i47man.pdf - как она себя поведет в связке с EMC? для управления по степ диру?
Аватара пользователя
roach
Мастер
 
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Медальки:

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

Сообщение Nick » 13 янв 2012, 11:33

mycnc писал(а):Все современные серводрайвера - цифровые, поэтому гнать на них аналоговоый сигнал в качестве задания - это атавизм.Они прекрасно работают с степ-дир и по-моему - это значительно правильнее, чем +-10В (я не упоминаю более продвинутые промышленные интерфейсы)

Мне не нравится этот цифровой интерфейс тем, что серва и соответственно ее pid не будет получать задание на перспективу. А вместо этого будет получать команду на следующий шаг, в результате чего PI сервы может не правильно обрабатывать сигнал. И либо у нее будет сгладивающий фильтр, который будет переводить последовательность шагов в ту же аналоговую скорость, либо может начать дергаться. Фактически при увеличении количества шагов в секунду получим тот же ШИМ, точнее частотно импульсную модуляцию.

Так или иначе, в EMC2 планировщик траектории запускается раз в servo-thread и между его запусками никаких изменений или дополнительных реакций на обратную связь не будет.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

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

Сообщение Hunter » 14 янв 2012, 09:13

Согласен с Nick. Чтобы инструмент не сбивался с траектории необходимо управлять скоростью.
С другой стороны, я согласен с roach. Аналоговое задание скорости - атавизм.
И не понятно, почему-то в серве MR-J3-A отсутствует возможность цифрового задания скорости (ШИМ, к примеру).
Hunter
Новичок
 
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Откуда: Вологда
Репутация: 1

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

Сообщение Hunter » 14 янв 2012, 09:31

Nick писал(а):Кстати, а как в драйвере настраиваются значения коэффициентов P и I?


А вот тут интересно.
Есть модификации MR-J3, которые позволяют объединить несколько серв оптической связью. При это каждая серва как бы "знает" чем занимается соседняя.
То есть все сервы в сети работают слаженно. А раз такое дело, то скорее всего там очень нетривиальные алгоритмы управления.

В связи с этим, производитель предлагает в основном пользоваться автонастройкой.

Есть специальное ПО - MR-Configurator под Win. Подключаешь серву к компу USB-кабелем и в программе включаешь автонастройку.
Прога начинаем мучать привод, определять характеристики системы (инерционность и т.п.).

Что касается ручной настройки, то вот параметры:

The following parameters are used for gain adjustment:
Parameter No. Abbreviation Name
PB06 GD2 Ratio of load inertia moment to servo motor inertia moment
PB07 PG1 Model loop gain
PB09 VG2 Speed loop gain
PB10 VIC Speed integral compensation
Hunter
Новичок
 
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Откуда: Вологда
Репутация: 1

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

Сообщение mycnc » 17 янв 2012, 09:05

Nick писал(а):Мне не нравится этот цифровой интерфейс тем, что серва и соответственно ее pid не будет получать задание на перспективу. А вместо этого будет получать команду на следующий шаг, в результате чего PI сервы может не правильно обрабатывать сигнал.


Любопытно - а какие интерфейсы/привода предполагают работу с заданием на перспективу ?
Аватара пользователя
mycnc
Мастер
 
Сообщения: 801
Зарегистрирован: 03 июл 2011, 02:01
Репутация: 550

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

Сообщение Nick » 17 янв 2012, 11:05

Насколько я понимаю при работе через внешний пид и ШИМ управление скоростью получается следующее (все описано для случая EMC2):
pid обновляет свои значения раз в servo-period, соответственно имеем постоянное задание на 1 servo-period, который обычно равен 1 мс.
в случае со степ-дир управлением имеем то же задание (т.к. планировщик работает раз в серво-период), а сигналы выдаются раз в base-period, который обычно раз в 30-50 быстрее. При этом нет четкого задания скорости, а есть только суррогатное задание положения.

Да, конечно можно сказать, что в данном случае серва сама отслеживает свое положение в 50 раз чаще, чем в случае со внешним pid, но всеравно будет иметь место либо сглаживание, либо вибрация.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1571
Заслуга: Developer
Медальки:

След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], CNC-Logic, Google [Bot], hmnijp, MSN [Bot], serpvect, Yandex [bot]

Reputation System ©'