Proiectul presupune realizarea unui sistem de încălzire care utilizeaza controlul Proportional–integral–derivative (PID). Cu ajutorul unor butoane, se va putea alege o temperatura target, rolul sistemului fiind acela de a menține temperatura cât mai aproape de valoarea introdusă (ideal ar fi să rămână constantă). Temperatura va fi citita folosind o termocuplă care va fi atașată la un încălzitor, in combinatie cu un senzor. Toate datele vor fi afisate în timp real pe un display LCD.
Acest proiect are mai multe avantaje și aplicații practice, cele mai importante fiind:
La final, am asamblat componentele într-o carcasă pe care am proiectat-o cu ajutorul unui software CAD și mai apoi am printat-o 3D.
Mediul de dezvoltare folosit a fost PlatformIO. Ca și structură, design-ul software cuprinde atât utilizarea unei librării 3rd-party pentru controlul LCD-ului (LiquidCrystal_I2C.h), cât și programare low-level prin configurarea unor regiștri pentru realizarea anumitor funcționalități. De asemeea, pentru inițializarea și comunicația prin SPI, am folosit API-ul din Laboratorul 5.
Așa cum am explicat anterior, controlul tranzistorului MOSFET se face cu ajutorul timer-ului 2, pe care l-am configurat în modul Fast PWM.
Sistemul este proiectat să funcționeze în trei stări diferite:
Astfel, am folosit un enum pentru a putea detecta cu ușurință starea în care se află sistemul la un moment de timp. Tranziția între cele trei stări se face în ordine, prin apăsarea encoder-ului care va declanșa o întrerupere în rutina căreia se decide starea următoare, în funcție de stare în care ne aflăm la momentul de timp respectiv.
Sistemul de control P-I-D funcționează cum m-am așteptat inițial. De menționat ar fi că precizia acestuia este influențată de mai mulți factori, printre care temperatura mediului ambiant, precizia termocuplei sau delay-ul între momentul citirii temperaturii și aplicarea efective a unei tensiuni pe rezistența de încălzire. Din aceste motive, valorile celor trei constante P-I-D pot fi ajustate de către utilizator înaintea începerii efective a controlului, în funcție de situație.
În poza de mai jos este varianta finală și asamblată complet a proiectului.
Din punctul meu de vedere, a fost un proiect interesant din care am învățat cum funcționează majoritatea sistemelor eficiente de control a temperaturii folosite în diverse aplicații practice. Aceast proiect m-a ajutat să înțeleg nu doar principiile teoretice, ci și implementarea practică și provocările asociate acesteia.
Fișierele obținute în urma realizării proiectului sunt disponibile în arhiva următoare.
Videoclip inspirație: https://www.youtube.com/watch?v=LXhTFBGgskI&t=18s