Урок 76. ПИД-регулятор скорости вращения двигателя постоянного тока. Проверка работы, настройка на быстродействие и устойчивость.

Программа настройки ПИД-регулятора

В уроке настроим ПИД-регулятор, оптимизируем его под разные показатели качества регулирования.

Предыдущий урок     Список уроков     Следующий урок

Настройка регулятора – это выбор коэффициентов: пропорционального, интегрального и дифференциального.

 

В программе они заданы в следующих строках.

#define K_P 0.1  // пропорциональный коэффициент
#define K_I 0.01  // интегральный коэффициент
#define K_D 0.0 // дифференциальный коэффициент

У любого регулятора есть критерии оценки качества регулирования или показатели качества. Основные:

  • Быстродействие или скорость регулирования – время уменьшения ошибки рассогласования до допустимой величины.
  • Точность – ошибка рассогласования в установившемся режиме.
  • Устойчивость – отсутствие колебаний параметра регулирования.

Интегральное звено ПИД-регулятора сводит ошибку рассогласования к 0. Т.е. точность ПИД-регулятора в статическом режиме настроить невозможно. Она определяется только погрешностью измерения и вычисления.

А вот два других критерия качества регулирования противоречат друг другу. При высоком быстродействии, как правило, регулятор обладает низкой устойчивостью. И, наоборот, при высокой устойчивости регулятор работает медленно.

Т.е. ПИД-регулятор может быть настроен:

  • на высокое быстродействие;
  • на устойчивость к возмущающим воздействиям;
  • конечно, может быть и компромиссный вариант.

Теорию автоматического управления (ТАУ) в институте мне преподавал очень квалифицированный, известный в стране специалист Савин Михаил Михайлович. Он, не заглядывая в тетрадки или учебники, выписывал на доске громадные формулы. Значительную часть курса ТАУ Михаил Михайлович посвящал определению устойчивости системы регулирования.

Оказывается устойчивость системы можно рассчитать теоретически. Основным показателем он считал критерий устойчивости Найквиста. Формулируется он так: линейная динамическая система, устойчивая в разомкнутом состоянии, устойчива и в замкнутом состоянии, если амплитудно-фазовая частотная характеристика (АФЧХ) разомкнутой системы при изменении частоты от 0 до бесконечности не охватывает на комплексной плоскости точку с координатами (-1, j0).

Попробуйте сообразите, что это такое, посчитайте, постройте АФЧХ. Не говоря о том, что в систему входит двигатель, а его электрические и механические параметры нам  неизвестны.

Я к тому, что все будем делать эмпирически, т.е. опытным путем. Михаил Михайлович меня простит.

 

Программа верхнего уровня для настройки ПИД-регулятора.

Оптимально настроить ПИД-регулятор можно только наблюдая его реакцию на разного рода возмущения. Для этого необходим инструмент – регистратор изменения параметров регулятора в реальном времени.

Я разработал программу верхнего уровня, которая выполняет такие функции.

Установка и запуск программы ничем не отличается от других программ верхнего уровня курса уроков Ардуино.

Необходимо:

Загрузить архив PidMotorReg.zip.

  Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!  

Разархивировать его.

Скопировать папку PidMotorReg в удобное место.

Подключить к компьютеру плату Ардуино с программой регулятора.

Запустить файл PidMotorReg.exe.

При первом запуске, если COM порт задан неверно, появится сообщение.

Предупреждение

Нажимаете OK.

Открывается основное окно программы. Программа данные считать не может, поэтому отображаются прочерки.

Основное окно программы монитора

Нажимаете закладку верхнего меню ”Выбор порта”.

Окно выбор порта

Выбираете ваш порт, закрываете окно выбора порта. Может потребоваться перезапустить программу. Номер порта запоминается, больше устанавливать его нет необходимости.

Если все работает нормально, то красный квадратик рядом с надписью ”Обмен” большую часть времени светится зеленым цветом, периодически мигая красным.

Программа отображает основные параметры в реальном времени.

Основное окно программы монитора

Также каждые 0,2 сек происходит запись параметров в регистратор. Для просмотра необходимо нажать кнопку ”Регистратор”. Откроется окно с диаграммами.

Окно регистратора

Регистрация продолжается и при открытом окне регистратора. Кривые отрисовываются в реальном времени.

  • Синяя кривая – заданная скорость.
  • Красная – измеренная скорость.
  • Зеленая – ШИМ.

Первые 2 параметра отображаются относительно левой вертикальной оси, а ШИМ – относительно правой.

Чтобы сбросить данные регистратора, надо нажать кнопку ”Сброс”.

Удобно расположить на экране в видимой зоне одновременно основное окно и окно регистратора. Вся информация будет доступна.

 

Оценка устойчивости регулятора.

Как мы будем оценивать работу регулятора.

В окне регистратора, прежде всего, нас интересуют 2 линии:

  • синяя – заданная скорость и
  • красная – измеренная скорость.

В идеальном случае они всегда должны совпадать. Но даже при регуляторе, работающем без задержек, двигатель не разгоняется или останавливается мгновенно. Двигатель тоже входит в систему регулирования.

Зеленая линия  (ШИМ) позволяет нам оценить, как реагирует сам регулятор. Отставание красной линии от зеленой показывает инерционность двигателя.

Общая задача любого регулирования:

  • На систему воздействуют возмущения – внешние воздействия, которые стремятся изменить регулируемый параметр.
  • Система возвращает параметр к заданному значению.

Вот и мы при настойке ПИД-регулятора должны формировать возмущения и оценивать, как они отрабатываются системой.

В нашем случае есть 2 типа возмущения:

  • входное – изменение заданного значения;
  • выходное – изменение механической нагрузки двигателя.

Включение и выключение контроллера внешним сигналом приравнивается к входному возмущению. По сути, заданная скорость изменяется от 0 до заданного значения.

Конечно, есть еще возмущения связанные с изменением температуры окружающей среды, нестабильностью питания двигателя и т.п. Но они незначительны. Мы ими пренебрегаем.

Кстати, если бы двигатель питался от нестабилизированного источника питания, то изменение питающего напряжения было бы реальным возмущением системы. Нам пришлось бы проверять реакцию и на него. Регулятор должен отрабатывать, в том числе и нестабильность питания.

Итак, что мы должны оценивать:

  • Отсутствие колебаний в статическом режиме. Прошло достаточное время, система установила регулируемый параметр, но идут колебания.

Колебания

В принципе если в регуляторе приоритет быстродействие, то колебания в статическом режиме допустимы.

Могут быть затухающие колебания.

Затухающие колебания

  • Реакция регулятора на возмущения.

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

Задержка регулирования

Еще раз повторю, что в эту задержку входит время разгона или торможения двигателя.

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

А на следующей диаграмме происходит значительный переход через заданное значение. Этот выброс в ТАУ называется перерегулированием.

Перерегулирование

Допустимо ли перерегулирование – зависит от конкретной задачи. Быстрый регулятор без перерегулирования создать сложно.

 

Первичная оценка устойчивости регулятора.

Начинаем настраивать наш регулятор. Оценим сначала работу пропорционального звена.

Отключаем интегральную часть, устанавливаем пропорциональный коэффициент 0,1.

#define K_P 0.1 // пропорциональный коэффициент
#define K_I 0.0 // интегральный коэффициент

Загружаем, проверяем.

Окно регистратора

Регулятор быстро отрабатывает ошибку рассогласования. Обратите внимание, что зеленая линия ШИМ мгновенно реагирует на разницу между заданным и измеренным значением скорости.

В установившемся режиме, при заданной скорости 2000 измеренная скорость равна 1200. Но так и должно быть. Пропорциональный регулятор никогда не отрабатывает ошибку рассогласования полностью. Но ШИМ для этих 1200 об/мин будет сформирован мгновенно. Остальные обороты добавит интегральная частью

Колебания, даже затухающие не возникают. Пропорциональный коэффициент можно увеличивать.

Удивительно, но на моем двигателе колебания появляются при пропорциональном коэффициенте большем 1. Вот диаграмма для K_I=1.5.

Окно регистратора

Видно, как пошел в разнос ШИМ.

Отключим пропорциональное звено, интегральный коэффициент установим 0,01.

Окно регистратора

Видно, что в устоявшемся режиме ошибка рассогласования равна 0. Регулятор стал работать точно. Но на изменение заданной скорости появилась задержка, не только измеренной скорости, но и ШИМ.

 

Окончательная настройка.

Включаем оба звена. Настраиваем регулятор на отсутствие перерегулирования. Я поставил коэффициенты K_P=0,5, K_I=0,01.

Окно регистратора

Регулятор быстро отрабатывает большую часть изменения скорости, а затем медленно дотягивает красную линию до синей. Надо увеличить интегральный коэффициент. Вот диаграмма для коэффициентов K_P=0,5, K_I=0,05.

Окно регистратора

Появилось небольшое перерегулирование в нескольких местах, но регулятор стал быстрее компенсировать ошибку рассогласования. Меня такая работа вполне устраивает.

Проверяем реакцию на изменение механической нагрузки.

Окно регистратора

Пластиковой ручкой отвертки я надавливал на диск двигателя. Видно, что скорость начала падать, ШИМ увеличиваться. Скорость вернулась к заданной. Кривая скорости корявая из-за того, что я не смог обеспечить равномерную механическую нагрузку.

Затем я резко убрал нагрузку, скорость прыгнула до значения 2125 и вернулась к заданной.

В середине диаграммы я сильно надавил на диск, ШИМ возрос до максимального значения 255, но этого не хватило. Мощности двигателя недостаточно для такой механической нагрузки.

У меня все работает прекрасно. На настройку регулятора уходят считанные минуты. Он работает при первых попавшихся коэффициентах. Но не обольщайтесь. У меня двигатель легкий, неинерционный. Для других моторов подбор коэффициентов может быть сложнее.

Игорь проверил работу ПИД-регулятора на своем 500 ваттном двигателе. Вот короткий ролик об этом.

У него тоже все работает. Он уже эксплуатирует регулятор в составе сверлильного станка.

Я еще не написал этот урок, а в комментариях появились советы добавить к устройству защиту по току и температуре. Вполне разумно. Но для не особенно мощных двигателей в качестве защиты по току можно использовать самовосстанавливающиеся PTC-предохранители. Защита по температуре не всегда необходима.

 

Есть мысли добавить в устройство индикатор, для отображения скорости, реализовать защиту двигателя и выложить в рубрике “Проекты Ардуино”.

Предыдущий урок     Список уроков     Следующий урок

0

Автор публикации

не в сети 5 дней

Эдуард

68
Комментарии: 1362Публикации: 152Регистрация: 13-12-2015

4 комментария на «Урок 76. ПИД-регулятор скорости вращения двигателя постоянного тока. Проверка работы, настройка на быстродействие и устойчивость.»

  1. Здравствуйте.
    Нашел еще одну причину для контроля тока двигателя. Если подмешать на вход в ПИД, реакция на изменение нагрузки будет сразу, уменьшится задержка на инерционность системы.

    0
    • Здравствуйте!
      Ну, так мы скоро дойдем до оптимальных и адаптивных регуляторов.
      Хотя обратная связь по току для регуляторов двигателей встречается. Но у нас достаточно простой регулятор. Мы решаем чисто практическую задачу и стремимся решить ее проще.

      0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *