Пропорционально-интегрально-дифференцирующий, (PID) регулятор постоянно отслеживает ошибку, которая является разницей между заданной точкой (в нашем случае, необходимой нам температурой) и нашей текущей температурой.

Регулятор подстраивает выход микроконтроллера, который управляет нагревателем с помощью ШИМ, исходя из следующей формулы:

Как можно увидеть, есть три параметра Kp, Ki и Kd. Параметр Kp пропорционален ошибке в настоящее время. Параметр Ki учитывает ошибки, которые накопились с течением времени. Параметр Kd является предсказанием будущей ошибки. PID позволяет получить малое время нагрева, сохраняя при этом точность. Ниже приведена схема регулятора.
Устройство позволяет работать с нагревателем паяльника с напряжением от 12-ти до 24В и током до 5А. Максимальная температура 450град. Максимальная погрешность измерения температуры +/- 2%. Порог отключения нагревателя и параметры PID устанавливаются энкодером.Питание от 12 до 24В 5А подаётся через разъём J1. Питание 9В на Ардуино Мини Про поступает с выхода стабилизатора U1 78L09. Термопара и нагреватель паяльника подключаются к регулятору через разъём J2. Напряжение с выхода термопары поступает на входы AINO, AIN1 16-ти разрядного АЦП U2 ADS1115, подключённого к Ардуино Нано по I2C. Транзистор Q1 управляет нагревателем паяльника. Информация отображается на OLED дисплее SSD1306 128x64.
Перед началом работы необходимо провести калибровку измерения температуры. Температуру жала при этом можно измерять с помощью температурного датчика мультиметра. Необходимо нагреть паяльник например до 300 градусов и кратковременно нажать SW1. При этом на второй строке дисплея включается U1. Далее нагревать до 400 градусов и повторно нажать SW1. При этом на второй строке дисплея включается U2 и значение чувствительности термопары в мкВ/град. Важно чтобы разница температур между U1 и U2 была 100 град. Чувствительность термопары S вычисляетcя по формуле
S(мкВ/град) = (U1-U2)/100
Далее энкодером устанавливается порог отключения (SP) нагревателя. Для этого кратковременно нажать SW2 и энкодером установить значение SP. Удержанием SW2 записать это значение в EEPROM. Далее кратковременным нажатием SW2 включить режим установки Кр, энкодером установить это значение и удержанием SW2 записать в EEPROM. Аналогично установить и записать в EEPROM значения Kd и Ki. Принцип установки параметров SP, Kp, Kd, Ki смотрите по ссылке
Подробнее на видео.
Скетч для Ардуино Мини Про выполнен в программе FLPROG 8.2.
Автор: https://radiosch.eu