Пид регулятор

Пид регулятор Инструменты
  • Применение ПИД регулятора

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

Примеры использования ПИД регулятора:

  • Регулирование температуры: специальные печи, холодильники, инкубаторы, паяльники, сопло и стол 3D принтера, ИК паяльные станции и др.
  • Поддержание частоты оборотов мотора, например для станков.
  • Балансирующие устройства, гироскутеры, сигвеи, левитирующие магнитные платформы.
  • Квадрокоптеры и самолеты с автопилотом.

ПИД регулятор выбирается из-за своей простоты настройки и универсальности в различных процессах управления.

  • Настройка ПИД регулятора

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

  1. Установите все коэффициенты в 0.
  2. Плавно увеличивайте kP до появления незатухающих колебаний.
  3. Запомните значение kP1 при появлении колебаний и замерьте период колебаний системы (T).
  4. Вычислите коэффициенты по формуле с учетом полученных данных.

Например, если незатухающие колебания возникают при kP 20 и периоде колебаний 3 секунды, рассчитайте коэффициенты их интересующего.

  • Использование автоматического тюнера коэффициентов

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

Полезные страницы

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

ФормулаОписание
Настройка kP:Плавно увеличивайте kP до появления колебаний
Расчет коэффициентов:kI = kP1 / T, kD = kP1 * T / 8
Автоматический тюнер коэффициентов:Библиотека GyverPID

Эти инструкции помогут вам настроить ПИД регулятор для оптимального управления вашими устройствами.

ПИД регулятор: базовые понятия

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

Регулятор

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

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

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

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

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

Установка (уставка)

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

ПИД регулятор: структура

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

Выражение ПИД регулятора

ПИД регулятор формируется по формуле:

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

где kP, kI и kD — коэффициенты, которые нужно настроить для работы ПИДа.

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

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

Универсальность ПИД регулятора

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

Переменные

В дальнейшем будем использовать следующие названия переменных:

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

P = установка - вход

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

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

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

I = I + (установка - вход) * dt

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

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

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

err = установка - вход
D = (err - prevErr) / dt
prevErr = err

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

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

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

Как использовать функцию

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

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

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

Видео

Watch the video

Читайте также:  Паяльник бутановый XZ-1 КВТ 66240 купить в Москве с доставкой в интернет-магазине «ТУЛЗМАРКЕТС» || Бутановый паяльник
Оцените статью
Про пайку
Добавить комментарий