2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Tento projekt je zameraný na poskytnutie jednoduchého intuitívneho spôsobu pochopenia automatického ladenia PID pomocou ohrievača. To, čo som urobil, je založené na Åström – Hägglundovej metóde na odvodenie parametrov pomocou ovládania bang-bang na odhalenie charakteristík systému a na základe týchto znalostí následne vybraných parametrov. Nie je v tom nič tajné a informácie nájdete tu: https://en.wikipedia.org/wiki/PID_controller#Loop… A pri výbere parametrov si môžete trochu prečítať tu: https://en.wikipedia.org/ wiki/PID_controller#Slučka…
Aby to bolo pekné, je pridané 3,2 rozhranie HMI Nextion pre vstup užívateľov a zobrazovanie rôznych premenných v reálnom čase. ALE urobil som aj sériovú koncovú verziu knižnice, ktorá robí projekt lacnejším!
Skutočný príbeh pozadia je ten, že čiastočne som svojmu otcovi sľúbil, že urobí reguláciu teploty pre tavenie včelieho vosku, čiastočne som chcel osviežiť svoju základnú teóriu ovládania a nakoniec som sa chcel pozrieť na automatické doladenie PID regulátorov. Na druhej strane sa mi to v rámci testovania podarilo použiť aj na výrobu solí a omáčky Sous Vide!
VÝSTRAHA
Pracujem tu s napätím 230 V, čo je nebezpečné, ak neviete, čo robíte! Som elektrikár a inžinier elektroniky, takže tu mám určité skúsenosti - ale NEPOUŽÍVAJTE na 230 V, ak vám to nie je príjemné a dávajte veľký pozor, aby ste sa nedotkli vodičov pod prúdom! Dávajte si tiež pozor na lacné relé SS s ohľadom na možné nebezpečenstvo požiaru, pretože to videli niektorí ľudia (nie však ja).
Zásoby
- Lacná horúca doska WASCO (mohla by byť lepšia - napr. Indukčná platňa Ikea)
- Lacné relé SS
- Jednodrátový teplotný senzor Dallas
- Arduino Mega
- (Voliteľné) Rozhranie/displej HMI 3,2 palca
- Napájanie 5V pre Arduino
Krok 1: Montáž
Postavil som iba kryt pre verziu projektu HMI, pretože to som nakoniec použil. Preto som vyrobil kryt pre montáž relé, HMI a Arduino. Tiež som urobil svorku pre snímač teploty len preto, že som mohol …
Krok 2: Kódovanie
Všetok kód pre HMI a Arduino je k dispozícii v mojom Git repo pre projekt.
V kóde som veľa komentoval, aby som sa pokúsil uľahčiť čítanie a porozumenie. Ale v podstate som nastavil skutočne pomalý PWM pre varnú dosku a prerušenie časovača pre stavový stroj/riadenie a to je naozaj všetko.
Potom je tu samozrejme rutina ladenia a samotné ovládanie + HMI alebo sériové rozhranie …
Robím niečo, čo v tomto kóde nie som veľkým fanúšikom, a to je používať sériovú tlač v prerušení časovača. Sériová tlač vyžaduje veľa času a naozaj by ste sa mu mali vyhýbať prerušovaním časovača …
Ladenie funguje nasledovne:
- Nastaviť pracovný cyklus PWM na 40%
- Počkajte, kým sa nedosiahne požadovaná teplota
- Nastaviť pracovný cyklus PWM na 0%
- Počkajte, kým teplota neklesne pod nastavenú hodnotu
- Opakujte krok 1-4, kým napr. Sú vidieť 3 obdobia s takmer rovnakým časom a amplitúdou
- Vypočítajte paraemtery pre PID na základe vyššie uvedeného
Celkom jednoduché;)
Krok 3: Testovanie
Teraz, keď je kódovanie hotové, je čas na testovanie. V prvej časti som ladenie ukázal graficky z testu - takže na to nie je veľa čo povedať. Je tu však ukázaných niekoľko testov využívajúcich získané parametre.