Глядите что я сделал

Глядите что я сделал Инструменты

Вход или регистрация

Имена участников (разделяйте запятой).

Глядите что я сделал

ПИД регулятор – один из самых распространенных автоматических регуляторов. Он настолько универсален, что применяется практически везде, где нужно автоматическое управление.

Применение ПИД регулятора

  • Температурный контроль: специальные печи, холодильники, инкубаторы, паяльники.
  • Управление частотой оборотов мотора, например для станков.
  • Балансировочные устройства: гироскутеры, сигвеи, левитирующие магнитные платформы.
  • Дроны, квадрокоптеры и самолеты с автопилотом.

Преимущества ПИД регулятора

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

Ключевые особенности

  • Простота настройки
  • Универсальность
  • Адаптивность

Заключение

ПИД регулятор – незаменимый инструмент для автоматического управления в различных областях. Его преимущества в простоте настройки и широком спектре применения делают его популярным выбором для множества устройств и систем управления.

Понятия автоматической системы

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

Регулятор

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

Объект управления

Объект управления – это девайс, которым мы управляем, например печка или мотор. У нас есть управляющее устройство, например диммируемый тен или драйвер мотора.

Читайте также:  Армейский сухой паёк

Управляющий сигнал

Управляющее устройство получает от регулятора управляющий сигнал, то есть конкретное число. Управляющий сигнал может быть заполнением шим сигнала, от 0 до 255, или углом поворота сервомашинки от 0 до 180.

Обратная связь

В объекте управления у нас стоит датчик, с которого регулятор получает управляемую величину, то есть текущий сигнал с датчика. Это – обратная связь, которая и даёт возможность системе точно поддержать заданное значение.

Установка

Регулятор получает установку (уставку), то есть число, к которому он должен привести текущее значение с датчика. Установка может задаваться различными способами: крутилкой, ползунком, кнопками и т.д.

Регулятор в действии

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

Программный алгоритм

В программе это будет выглядеть условно так: регулятор получил установку, регулятор получил значение с датчика, регулятор выполнил вычисления и выдал управляющий сигнал.

Частота дискретизации

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

Видео

Ссылка на видео

Реализация на C++

Соединяя все рассмотренные выше уравнения, получим:

ПИД регулятор

Это готовая функция, которая принимает значение с датчика, установку, три коэффициента и время, а также ограничение выхода с регулятора.

Использование функции

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

Функция возвращает управляющий сигнал, то есть можно подать его например как ШИМ. Период dt имеет такой смысл: чем инерционнее у нас система, тем реже можно вычислять ПИД. Например для обогрева комнаты период можно поставить 1 секунду или больше, а для контроля за оборотами двигателя надо будет поставить пару десятков миллисекунд, то есть около сотни раз в секунду.

Библиотеки

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

Настройка коэффициентов

Настройка регулятора – дело не очень простое. Начальные коэффициенты для подбора можно получить по следующему алгоритму:

  1. Выставляем все коэффициенты в 0.

  2. Плавно увеличиваем kP до появления незатухающих колебаний. Значение kP, при котором они появились, запишем и обозначим как kP1.

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

  4. Итоговые коэффициенты получим так:

    kI = kP / T,
    kD = kP1 * T / 100

На полученных коэффициентах должны более-менее работать большинство систем, но не все. Также можно воспользоваться автоматическим тюнером коэффициентов, например два разных алгоритма встроены в библиотеку GyverPID.

Под капотом у ПИД регулятора

ПИД регулятор состоит из трёх составляющих: пропорциональной P, интегрирующей I и дифференциирующей D, формируется просто как сумма трёх значений, умноженных каждая на свой коэффициент. Эта сумма после вычислений становится управляющим сигналом, который подаётся на управляющее устройство, обозначим его как out.

out = P * kP + I * kI + D * kD

kP, kI и kD это и есть те самые коэффициенты, которые нужно настроить для работы ПИДа. Значения тут могут быть самые разные, от 0.001 то десятков и тысяч, это зависит от конкретной системы. Тут есть ещё один момент: любой коэффициент может быть равен нулю, и в таком случае обнуляется вся его компонента. То есть регулятор можно превратить в П, ПИ, ПД, и прочие сочетания. Разные системы требуют разного подхода, именно поэтому ПИД регулятор такой универсальный.

P составляющая

Пропорциональная составляющая предоставляет собой разность текущего значения с датчика и установки.

P = setpoint — input

Регулятор PID: принцип работы и компоненты

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

Коэффициент kP тут влияет роль усиления ошибки и настраивается вручную. Но в то же время, если система пришла к заданной величине, ошибка станет равной нулю, и управляющий сигнал тоже! Другими словами, регулятор никогда не сможет привести к заданному значению, всегда будет некая ошибка.

P составляющая

P составляющая является основной в ПИД регуляторе и так сказать тянет самую большую лямку, регулятор может неплохо работать только лишь на ней одной. P составляющая исправляет ошибку в текущий момент времени.

I составляющая

Интегральная составляющая просто суммирует в саму себя ту же самую ошибку, разность текущего и заданного значения, умноженную на период дискретизации системы, то есть на время, прошедшее с предыдущего расчёта dt – фактически берёт интеграл от ошибки по времени.

I = I + (setpoint - input) * dt

В самом регуляторе это ещё умножается на коэффициент kI, которым настраивается резкость данной составляющей. В интегральной составляющей буквально копится ошибка, что позволяет регулятору с течением времени полностью её устранить, то есть привести систему ровно к заданному значению с максимальной точностью. I составляющая исправляет прошлые, накопившиеся ошибки.

D составляющая

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

err = setpoint - input 
D = (err - prevErr) / dt 
prevErr = err

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

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

Оцените статью
Про пайку
Добавить комментарий