Когда инженер-автоматизатор берётся за шашлык
Всё началось с простого: я устал от пережаренного мяса и недожаренных краёв. Мне нужен был надёжный стационарный мангал — не одноразовая жестянка из супермаркета, а полноценный объект управления с предсказуемой теплоёмкостью, равномерным распределением жара и стабильной аэродинамикой зоны горения. Коллеги крутили пальцем у виска, но я точно знал: если процесс можно описать — его можно автоматизировать.
Объект управления: почему «железо» решает
Прежде чем городить контроллеры и датчики, стоит разобраться с физикой процесса. Мангал — это, по сути, теплообменник открытого типа. Толщина стенок определяет инерционность системы: тонкий металл быстро набирает температуру и так же быстро её теряет, а значит, регулировать нечего — возмущения опережают реакцию контура. Массивная конструкция из стали 4–5 мм или чугуна, напротив, ведёт себя как объект с большой постоянной времени — именно то, что любит PID-регулятор.
Я выбрал себе мангал из толстой стали с продуманной геометрией, регулируемыми заслонками поддува и съёмным зольником. По сути, получил готовый «исполнительный механизм» с двумя каналами воздействия: подача воздуха снизу через колосник и высота решётки над углями. Дальше — дело техники.
Контур управления: от термопары до Grafana
Архитектура системы получилась такой:
- Датчики. Две термопары K-типа: одна в зоне углей, вторая — на уровне решётки, непосредственно у мяса. Дополнительно — датчик внешней температуры и анемометр для компенсации ветровых возмущений.
- Контроллер. ESP32 с прошивкой на MicroPython. Он опрашивает датчики через MAX6675, считает управляющее воздействие и выдаёт ШИМ-сигнал на сервопривод заслонки.
- Алгоритм. Классический PID с автотюнингом по методу Зиглера — Николса. Уставка — 180 °C на уровне решётки. Зона нечувствительности ±3 °C, чтобы сервопривод не дёргался на каждый градус.
- Визуализация. Данные летят по MQTT в InfluxDB, оттуда — в Grafana. На дашборде в реальном времени: температура обеих зон, положение заслонки в процентах, расчётное время до готовности.
Самое интересное началось при настройке. Первый запуск показал, что коэффициент усиления нужно менять в зависимости от типа топлива: берёзовый уголь и брикеты — два совершенно разных объекта. Пришлось завести профили и переключать их кнопкой на корпусе.
Ветер оказался главным возмущающим воздействием. Без компенсации порыв раздувал угли, температура прыгала на 40–50 градусов, и PID не успевал отрабатывать. После добавления feedforward-коррекции по данным анемометра переходный процесс стал почти апериодическим — красота, которую оценит любой, кто хоть раз настраивал контур расхода на реальном производстве.
Результат
Мясо получается одинаково идеальным — раз за разом. Графики в Grafana это подтверждают: отклонение от уставки в установившемся режиме не превышает двух градусов. Гости сначала смеются, потом просят скинуть прошивку.
***
Вывод простой: настоящий инженер-автоматизатор физически не способен приготовить шашлык «на глазок». Ему нужен PID-регулятор, пара термопар, дашборд и хотя бы одно возмущающее воздействие, которое приятно компенсировать субботним вечером с бокалом в руке. И знаете что? В этом нет абсолютно ничего плохого. Это не гиковская блажь — это профессиональная деформация в лучшем её проявлении.

24 декабря, 2012
19 октября, 2011