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

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

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

Сообщение Lexxa »

Мне кажется что начинается путаница с ПИД со стороны ЕМС и ПИД со стороны привода.
ПИД-регулирование со стороны ЕМС это регулирование в первую очередь скорости движения.
ПИД-регулирование со стороны сервы это регулирование момента в общем случае. Если привод еще и за положением следит, то, в принципе, это только улучшает ситуацию.
:bender:
RobertW
Новичок
Сообщения: 5
Зарегистрирован: 17 янв 2012, 14:32
Репутация: 0
Контактная информация:

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

Сообщение RobertW »

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

Проблема в другом - простые сервомоторы имеют 2500 меток энкодер (разрешение 10 000 на оборот), что при 3000 об.мин дает 500 кГц степов. Продвинутые моторы - энкодер на 32000 меток и 1,5 Мгц шагов соответственно. Без хард-контроллера такую частоту не получить.
С "атавизмом" полностью согласен, а вот с высокой частотой можно побороться. Скажем привод работает с внутренним энкодеров 65536 имп/оборот. Также имеются настройки пользовательских единиц, т.е. тех в которых контроллер (или ЧПУ) будет вещать задачу. Для приведения разрешения энкодера к пользовательским единицам имеется множитель и делитель, которые задаются пользователем. С их помощью можно установить соответствие одного оборота скажем 1000 импульсам по интерфейсу степ/дир. Тогда при скорости 3000 об/мин получается 50 кГц. Зато серво управляет позицией опираясь на разрешение 65536 на оборот!
Hunter
Новичок
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Репутация: 1
Откуда: Вологда
Контактная информация:

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

Сообщение Hunter »

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

Насколько я понимаю, ПИД-регулирование EMC2 происходит из предположения, что инерционность системы одинакова при вращении ротора сервомотора как в прямом, так и обратном направлении. Я соглашусь с этим для координат X Y, так как никаких дополнительных сил вдоль этих координат на систему не приложено.

Однако координата Z в моем случае – это почти 100 килограммовый стол, на который действует сила тяжести. То есть опускать такой стол – это одно дело, а вот поднимать – совершенно другое. Я хочу сказать, что коэффициенты усиления ПИД-прегулятора EMC2 в прямом и обратном направлении для координаты Z должны быть разными.

Поддерживает ли это дело EMC2?
RobertW
Новичок
Сообщения: 5
Зарегистрирован: 17 янв 2012, 14:32
Репутация: 0
Контактная информация:

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

Сообщение RobertW »

Управляемый по степ/дир сервопривод самостоятельно отрабатывает заданную позицию. ЧПУ в данном случае задает траекторию через позицию. ЧПУ может использовать сигналы энкодера только для контроля того, как качественно отрабатывает сервопривод, а также для нахождения нулевых положений осей. Однако для интеллектуального серво это избыточно, поскольку он сам себя контролиует по заданным параметрам, а также может сам находить нулевые положения по команде. Соответственно ПИД регулятор позиции в серво необходимо настраивать, ибо от качества настройки его (а не ЧПУ) и зависит качество позиционирования.
RobertW
Новичок
Сообщения: 5
Зарегистрирован: 17 янв 2012, 14:32
Репутация: 0
Контактная информация:

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

Сообщение RobertW »

Hunter писал(а):Однако координата Z в моем случае – это почти 100 килограммовый стол, на который действует сила тяжести. То есть опускать такой стол – это одно дело, а вот поднимать – совершенно другое. Я хочу сказать, что коэффициенты усиления ПИД-прегулятора EMC2 в прямом и обратном направлении для координаты Z должны быть разными.Поддерживает ли это дело EMC2?
Совершенно верный вопрос. Но добиваться качества настроек и управления нужно в этом случае от серво. Регулятор в серво может быть весьма сложной структуры и настроить его хорошо нетривиальная задача.
Однако, если управлять серво по скорости через аналоговый интерфейс, то вся ответственность ляжет на регулятор в ЧПУ. Другой вопрос, удастся ли добиться качества в этом случае. Это покажет только опыт.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Hunter писал(а):Насколько я понимаю, ПИД-регулирование EMC2 происходит из предположения, что инерционность системы одинакова при вращении ротора сервомотора как в прямом, так и обратном направлении. Я соглашусь с этим для координат X Y, так как никаких дополнительных сил вдоль этих координат на систему не приложено.
Нет, для этого есть компенсация - pid.bias.
См. формулу PID для emc2 и описание параметров pid, там же на два поста выше.

А как это такая компенсация реализуется в самой серве, тем более если в ней только PI регуляция?
RobertW
Новичок
Сообщения: 5
Зарегистрирован: 17 янв 2012, 14:32
Репутация: 0
Контактная информация:

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

Сообщение RobertW »

Nick писал(а):А как это такая компенсация реализуется в самой серве, тем более если в ней только PI регуляция?
В сервоприводе также могут быть несколько фидфорвардов (по скорости, ускорению, позиции), а также интегральный коефф регулятора скорости также играет роль в данном случае.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

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

Сообщение PKM »

Nick писал(а):всеравно будет иметь место либо сглаживание, либо вибрация
ага, при маленьких скоростях видимо будет импульсный сигнал

все переходим на сервы с управлением по шине! :mrgreen:
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

Hunter писал(а):Пока первый вопрос: если всеми координатами будет управлять плата mesa, то имеет ли смыл отключить в сервоусилителях PI-регулирование?
На мой взгляд нельзя этого делать, так как внутренний ПИ регулятор настроен под этот привод и лучше изготовителя сделать это трудно.
Если менять принцип управления (напряжением) то это связано с серьезной переделкой силовой части блока управления приводом.
Оптимальный вариант выдавать с платы параметр скорости в виде напряжения, а с привода получать только сигнал ошибки привода (DriveFault).
Hunter
Новичок
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Репутация: 1
Откуда: Вологда
Контактная информация:

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

Сообщение Hunter »

Nick писал(а):Нет, для этого есть компенсация - pid.bias.
Почитал. Правильно ли я понял, что это константа, в вольтах, добавляемая к выходному сигналу месы?
Если да, то этого делать нельзя ни в коем случае, поскольку нулевая скорость EMC будет ненулевой для сервы.

Но идея понятна. Сила тяжести всегда одна и та же. Соответственно надо где-то в сервоусилителе добавить константу к выходному сигналу. Пока не нашел...
А еще меня гложет сомнение по поводу силы трения. Интересно, она на вертикальной оси одинаковая или разная в разных направлениях (вверх и вниз)?
Последний раз редактировалось Hunter 18 янв 2012, 12:08, всего редактировалось 2 раза.
Hunter
Новичок
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Репутация: 1
Откуда: Вологда
Контактная информация:

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

Сообщение Hunter »

Impartial писал(а):На мой взгляд нельзя этого делать, так как внутренний ПИ регулятор настроен под этот привод и лучше изготовителя сделать это трудно.
Если менять принцип управления (напряжением) то это связано с серьезной переделкой силовой части блока управления приводом.
Оптимальный вариант выдавать с платы параметр скорости в виде напряжения, а с привода получать только сигнал ошибки привода (DriveFault).
OK. Так и буду делать. Единственное, все-таки попробую добавить диф-составляющую со стороны EMC.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

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

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

Сообщение Lexxa »

Hanter, можно. Бывают конструкции которые под силой тяжести ползут вниз. Вот туда и добавляется небольшая константа в противоположную сторону. Только её очень четко надо подбирать. Опять же сервопривод может косячить. Ну есть там какая-то постоянная утечка. Т.е. при при Uзадания = 0 двигатель крутится. Добавляешь pid.bias в противоположную сторону и это может исправить ситуацию.
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Hunter писал(а):Почитал. Правильно ли я понял, что это константа, в вольтах, добавляемая к выходному сигналу месы?Если да, то этого делать нельзя ни в коем случае, поскольку нулевая скорость EMC будет ненулевой для сервы.
bias разумно использовать при управлении моментом. Если же управляем скоростью, тогда серва должна сама удерживать движок. Хотя, даже в этом случае, ставим 0 скорость => серва контролирует скорость, но т.к. контроль импульсный за время обратной связи станок будет по-чуть-чуть уползать. Это будет компенсироваться внешним pid через обратную связь (сама серва управляется только скоростью) и станок будет чуть-чуть "прыгать". Поэтому и здесь bias актуален.
Hunter писал(а):А еще меня гложет сомнение по поводу силы трения. Интересно, она на вертикальной оси одинаковая или разная в разных направлениях (вверх и вниз)?
Да сила трения равна К*силу реакции опоры. Сила будет постоянно, и если каретка с двух сторон одинаковая, то трение будет одинаковым.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

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

Сообщение Lexxa »

Мне думается, что не совсем так. Сила трения пропорциональна площади трения. Например стол обычного универсального фрезерного станка выезжает за пределы станины (свешивается) при этом площадь контакта станины стола уменьшается, значит и сила трения скольжения уменьшается. Нет разве?
:bender:
Hunter
Новичок
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Репутация: 1
Откуда: Вологда
Контактная информация:

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

Сообщение Hunter »

Lexxa писал(а):Hanter, можно. Бывают конструкции которые под силой тяжести ползут вниз...
Остаюсь при своем мнении. Соглашусь с Вами лишь в том случае, если сигнал подается непосредственно на исполнительный механизм (двигатель постоянного тока, например). В моем случае сигнал подается на сервоусилитель, для которого U задания есть требуемая скорость вращения. И при ненулевом значении серва будет пытаться ее достичь (и достигнет).

Чтобы закрыть вопрос по вертикальной координате скажу, что серва сама скомпенсирует вес стола и, к примеру, удержит его при Uзад=0. Поэтому ничего эдаково настраивать в сервоусилителе MR-J3-A не надо.
Hunter
Новичок
Сообщения: 20
Зарегистрирован: 11 янв 2012, 17:41
Репутация: 1
Откуда: Вологда
Контактная информация:

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

Сообщение Hunter »

Lexxa писал(а):Мне думается, что не совсем так. Сила трения пропорциональна площади трения. Например стол обычного универсального фрезерного станка выезжает за пределы станины (свешивается) при этом площадь контакта станины стола уменьшается, значит и сила трения скольжения уменьшается. Нет разве?
Да, она будет меняться в зависимости от положения. Но, очевидно, она будет одинакова в обоих направлениях для любого положения стола.
Аватара пользователя
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 »

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

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

Сообщение Lexxa »

Серва будет удерживать ось на месте, там есть своя обратная связь по тахогенератору.
Т.е. серва полюбому увидит. Я у себя пробовал шестигранником вращать вал при включенных проводах, очень прикольно они пружинят))
:bender:
Ответить

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