2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Acest proiect își propune să ofere o modalitate intuitivă simplă de a înțelege cum se realizează reglarea automată PID folosind un încălzitor. Ceea ce am făcut se bazează pe metoda Åström – Hägglund pentru derivarea parametrilor folosind controlul bang-bang pentru a dezvălui caracteristicile sistemului și ulterior a ales parametrii pe baza acestor cunoștințe. Nu există nimic secret și informații pot fi găsite aici: https://en.wikipedia.org/wiki/PID_controller#Loop… Și pentru alegerea parametrilor puteți citi un pic aici: https://en.wikipedia.org/ wiki / PID_controller # Buclă …
Pentru a-l face plăcut, se adaugă o interfață HMI Nextion de 3,2 pentru introducerea utilizatorului și afișarea diferitelor variabile în timp real. DAR am făcut și o versiune de terminal Serial a bibliotecii, ceea ce face proiectul mult mai ieftin!
Povestea reală este că, în parte, i-am promis tatălui meu că va face un control al temperaturii pentru topirea cerii de albine, în parte, am vrut să-mi reîmprospătez teoria de control de bază și, în cele din urmă, am vrut să analizez reglarea automată a controlerelor PID. De asemenea, am reușit să-l folosesc pentru Sous Vide, făcând fripturi frumoase și sos Bearnaise ca parte a testării!
AVERTIZARE
Lucrez aici cu 230 V, ceea ce este periculos dacă nu știți ce faceți! Sunt inginer electrician și electronist, așa că am ceva experiență aici - dar NU lucrați cu 230 V dacă nu vă simțiți confortabil și aveți mare grijă să nu atingeți firele sub tensiune! De asemenea, feriți-vă de relele SS ieftine în ceea ce privește posibilele pericole de incendiu, deoarece acest lucru a fost văzut de unii oameni (nu de mine însă).
Provizii
- O placă fierbinte WASCO ieftină (ar putea fi una mai bună - de ex. O placă de inducție Ikea)
- Un releu SS ieftin
- Un senzor de temperatură onewire Dallas
- Un Arduino Mega
- (Opțional) O interfață / afișaj HMI de 3.2 "Nextion
- Alimentare de 5V pentru Arduino
Pasul 1: Asamblare
Am construit doar o incintă pentru versiunea HMI a proiectului, deoarece asta am ajuns să folosesc. Deci, am făcut o carcasă pentru montarea releului, HMI și Arduino. Am făcut și o clemă pentru senzorul de temperatură doar pentru că aș putea …
Pasul 2: Codificare
Tot codul pentru HMI și Arduino este disponibil la depozitul meu Git pentru proiect.
Am comentat multe coduri pentru a încerca să ușurez citirea și înțelegerea. Dar, în esență, am configurat un PWM foarte lent pentru placă fierbinte și o întrerupere a temporizatorului pentru mașina de stat / control și asta este cu adevărat.
Apoi există, desigur, rutina de reglare și controlul în sine + HMI sau interfața Serial …
Fac ceva de care nu sunt un mare fan în acest cod și anume să folosesc imprimarea în serie într-o întrerupere a temporizatorului. Imprimarea în serie durează mult timp și ar trebui evitată într-adevăr într-o întrerupere a temporizatorului …
Reglarea funcționează după cum urmează:
- Setați ciclul de funcționare PWM la 40%
- Așteptați până când temperatura de referință este atinsă
- Setați ciclul de funcționare PWM la 0%
- Așteptați până când temperatura este sub punctul de referință
- Repetați pasul 1-4 până când de ex. Se văd 3 perioade cu aproape același timp și amplitudine
- Calculați paraemterii pentru PID pe baza celor de mai sus
Destul de simplu;)
Pasul 3: Testare
Acum, când codarea a terminat timpul pentru testare. În prima secțiune am arătat reglajul grafic dintr-un test - așa că pentru asta nu mai sunt multe de spus. Dar câteva teste folosind parametrii obținuți sunt afișate aici.