Съдържание:

Система за автоматично управление с гореща плоча (HPACS): 3 стъпки
Система за автоматично управление с гореща плоча (HPACS): 3 стъпки

Видео: Система за автоматично управление с гореща плоча (HPACS): 3 стъпки

Видео: Система за автоматично управление с гореща плоча (HPACS): 3 стъпки
Видео: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, Може
Anonim
Система за автоматично управление с гореща плоча (HPACS)
Система за автоматично управление с гореща плоча (HPACS)
Система за автоматично управление с гореща плоча (HPACS)
Система за автоматично управление с гореща плоча (HPACS)

Този проект има за цел да осигури прост интуитивен начин да разберете как да направите автоматична PID настройка с помощта на нагревател. Това, което направих, се основава на метода на Åström – Hägglund за извличане на параметри с помощта на bang-bang контрол за разкриване на характеристиките на системата и подредени последователно параметри въз основа на тези знания. В това няма нищо тайно и информация може да се намери тук: https://en.wikipedia.org/wiki/PID_controller#Loop… А за избор на параметри можете да прочетете малко тук: https://en.wikipedia.org/ wiki/PID_controller#Loop…

За да стане хубаво, се добавя Nextion 3.2 HMI интерфейс за потребителско въвеждане и показване на различни променливи в реално време. НО аз също направих версия на библиотеката на сериен терминал, което прави проекта по-евтин!

Истинската история е, че отчасти обещах на баща ми да направи температурен контрол за топене на пчелен восък, отчасти исках да обновя основната си теория за управление и накрая исках да разгледам автоматичното настройване на PID контролерите. Отстрани също успях да го използвам за Sous Vide за приготвяне на хубави пържоли и сос Bearnaise като част от тестването!

ВНИМАНИЕ

Тук работя с 230 V, което е опасно, ако не знаете какво правите! Аз съм електротехник и инженер по електроника, така че имам известен опит тук - но НЕ работете с 230 V, ако не ви е удобно и внимавате да не докосвате жици под напрежение! Също така, пазете се от евтините SS-релета по отношение на възможна опасност от пожар, тъй като това е било видяно от някои хора (не от мен обаче).

Консумативи

  • Евтина гореща плоча WASCO (може да бъде по -добра - например индукционна плоча на Ikea)
  • Евтино SS-реле
  • Едножичен температурен сензор от Далас
  • Мега Arduino
  • (По избор) A Nextion 3.2 "HMI интерфейс/дисплей
  • 5V захранване за Arduino

Стъпка 1: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Изградих корпус само за HMI версията на проекта, тъй като това е, което в крайна сметка използвах. И така, направих корпус за монтиране на реле, HMI и Arduino. Направих и скоба за температурния сензор само защото можех …

Стъпка 2: Кодиране

Кодиране
Кодиране

Целият код за HMI и Arduino е достъпен в моето Git репо за проекта.

Коментирах много в кода, за да се опитам да го направя по -лесен за четене и разбиране. Но по същество създадох наистина бавен ШИМ за горещата плоча и прекъсване на таймера за машината на състоянието/контрола и това е наистина.

След това, разбира се, има рутинната настройка и самият контрол + HMI или сериен интерфейс …

Правя нещо, на което не съм голям фен в този код, и това е да използвам сериен печат при прекъсване на таймера. Серийният печат отнема много време и наистина трябва да се избягва при прекъсване на таймера …

Настройката работи както следва:

  1. Задайте работния цикъл на ШИМ на 40%
  2. Изчакайте, докато се достигне зададената температура
  3. Задайте работния цикъл на PWM на 0%
  4. Изчакайте, докато температурата падне под зададената стойност
  5. Повторете стъпка 1-4, докато напр. Виждат се 3 периода с почти същото време и амплитуда
  6. Изчислете параметрите за PID въз основа на горното

Доста просто;)

Стъпка 3: Тестване

Тестване!
Тестване!
Тестване!
Тестване!
Тестване!
Тестване!

Сега, когато кодирането е приключило, е време за тестване. В предишния раздел показах настройката графично от тест - така че за това няма много какво да се каже. Но тук са показани няколко теста, използващи получените параметри.

Препоръчано: