Cercetarea Arv - bine, un termostat destul de mic

Proiectul "Termostat - mai puțin nu se întâmplă" a evoluat până la următoarea etapă de miniaturizare. Aproape neschimbate în ceea ce privește dimensiunile fizice, aceasta a devenit totuși mai ușoară pe circuit și numărul funcțiilor a devenit chiar mai mare!







Particularitatea dispozitivului este că toate modurile sunt controlate de un singur buton. și, așa cum au arătat experimentele noastre cu Toledo, acest lucru este foarte convenabil. Dată fiind dorința copleșitoare de a măsura temperatura în intervalul zecimi de grade, și am realizat această oportunitate prin combinarea gama termometru de -55.0 ° C până la + 125,0 ° C, cu un afișaj cu șapte segmente din trei cifre. Acesta este al doilea punct culminant al dispozitivului: zeci din procente sunt afișate numai în intervalul -9.9. + 99,9 ° C, iar alte temperaturi sunt afișate deja fără zecimi de o parte. Cred că aceasta este cea mai bună soluție. A treia caracteristică - nu este nou: termostat modul cu două prag (adică, un histerezis) cu ieșiri antifază care permite dispozitivului pentru a menține temperatura de la -50 ° C până la + 99 ° C, prin controlul atât a încălzitorului și răcitorul (Fan ).

Schema schematică a termostatului

Diagrama prezintă circuitul termostatului. Este elementar, strict vorbind, nu este un dispozitiv complet finalizat, ci doar baza acestuia: o sursă de energie și etapele de ieșire pot fi inventate oricare.

Microcontroler DD1 tip Atiny26. Senzor DA2 - DS18S20 (în cazul în care orice DS1820 - formă și el), se poate și trebuie să aducă la instalația electrică din locul imediat de componentele fierbinți care pot distorsiona lecturi. 5V putere poate fi obținută din orice sursă - se arată în schema de tip stabilizator DA1 7805 (sau KREN05A). Indicator - "dinamic" din 7 segmente cu trei cifre (cu anozi sau catozi comuni) oricum. În cazul meu a fost indicatorul de tip „inel“ „chinezesc“, pinilor sa determinat experimental, astfel încât numerele PIN nu sunt listate, dar a marcat doar segmente. Buton SB1 - de la sine orice. În firmware, este implementat un afișaj dinamic segmentat, astfel încât numărul de rezistențe limitatoare de curent este redus la trei, adică la minimum, rezistența lor ar trebui să limiteze curentul prin segmentul indicatorului la un nivel de cel mult 30 mA.

Ieșiri OUT1 și OUT2 pot să dea (sau primi) curent la 40 mA, astfel încât etapa de ieșire poate fi orice - de la low-putere la mare putere releu pyativoltovogo comutator tranzistor. Aceste ieșiri funcționează întotdeauna în antifază.

Programul este scris în limba C, textul său este disponibil, este compilat cu WinAVR. La compilație este necesar să se includă optimizarea maximă pe dimensiunea codului. altfel nu se va potrivi în memoria microcontrolerului. Apropo, în versiunea curentă, aproximativ 12% din memoria programului rămâne liberă - există o șansă de a completa programul cu câteva caracteristici utile. Apropo, se va face foarte curând: se va introduce un mod suplimentar de monitorizare a nivelurilor de temperatură "limitative" în firmware (la cererea unuia dintre vizitatorii site-ului).

Pentru cei care nu sunt pregătiți să se ocupe de codul sursă, există 2 versiuni ale firmware-ului gata - pentru indicatori cu anozi și catozi comuni. Înainte de a clipi (sau după), este necesar să instalați siguranțele microcontrolerului CKSEL = 0100. și anume activați generatorul RC încorporat de 8 MHz, alte motoare pot fi lăsate în starea prestabilită din fabrică. În plus față de firmware, este disponibil codul sursă al programului.







În plus față de firmware, este disponibilă o variantă a plăcii de circuite imprimate în formatul Sprint Layout 5 (pentru componentele SMD și indicatorul "nedumit" menționat, setarea butonului în afara plăcii și furnizarea directă de la sursa 5V). Fotografia utilizatorului colectată de Toledo (fără stabilizatorul DA1 - chipul este doar pentru scală) este prezentată în imagini:

Cercetarea Arv - bine, un termostat destul de mic

Cercetarea Arv - bine, un termostat destul de mic

Vedere din față

Iată cum funcționează dispozitivul. Există 5 moduri funcționale:

  1. Afișaj de temperatură.
  2. Indicarea pragului superior al termostatului.
  3. Indicarea pragului inferior al termostatului.
  4. Corectarea pragului superior.
  5. Corectarea pragului inferior.

De fapt termostatic. și anume compararea temperaturii curente cu valorile de prag și formarea ieșirilor de semnal corespunzătoare se efectuează continuu în oricare dintre modurile considerate. Comutarea nivelului cu creșterea temperaturii la ieșiri are loc atunci când temperatura depășește pragul superior și atunci când temperatura este scăzută, când aceasta scade sub pragul inferior, adică intervalul dintre valorile pragului este histerezisul termostatului.

În primul mod, afișajul afișează pur și simplu temperatura curentă.

În cel de-al doilea și al treilea mod, sunt afișate pragurile termostatului corespunzătoare. Pentru praguri, valorile sunt specificate numai în grade întregi. Pentru a diferenția o valoare de alta, în prima cifră a indicatorului, segmentele A sau D, respectiv, pentru pragurile superioare și inferioare sunt evidențiate suplimentar.

Comutarea primelor trei moduri se face prin apăsarea scurtă a butonului și numai modul 1 este stabil - restul se îndreaptă automat la acesta dacă butonul nu este apăsat timp de mai mult de 2,5 secunde.

Din modurile de indicare a pragului, puteți trece la modurile de modificare a pragului dacă apăsați și mențineți apăsat butonul timp de mai mult de 2,5 secunde. Din acest moment începe să fie interesant (adică punctul culminant al controlului cu un singur buton). De îndată ce modul de modificare a valorii pragului este activat, segmentul corespunzător A sau D de pe primul indicator (semn de corecție a pragului) clipește imediat și, simultan, în timp ce butonul este apăsat, valoarea se schimbă rapid. Așteptând până când pragul "alunecă" valoarea dorită, trebuie să eliberați butonul. După aceasta, puteți corecta valoarea în direcția opusă printr-o scurtă modificare a apăsării scurte. Dacă butonul este apăsat în direcția greșită, trebuie să îl eliberați și să îl apăsați din nou pentru o perioadă lungă de timp.

Voi explica prin exemplu. Să spunem că pragurile sunt -5 și +15 grade, trebuie să le faci -2 și +2. Activați modul de corectare a pragului superior prin apăsarea și menținerea butonului în cel de-al doilea mod. După 2,5 secunde, valoarea începe să se schimbe rapid în direcția creșterii. Așteptați până când apare pe afișaj 15. eliberați butonul. Dacă sunteți ghinion, iar indicatorul 16 - nici o problemă: apăsați scurt butonul și se reduce cu 1, adică, devine 15. în funcție de necesități. Butonul nu este atins 2,5 secunde - flicker de segment A este terminată - din nou, a fost activat Modul 2. Buton de apăsare pe scurt, inclusiv prin aceasta modul 3. Acum butonul de împingere și să aștepte o lungă perioadă de timp, până rândul său, modul de corecție prag inferior. De îndată ce segmentul D clipește, valoarea începe să scadă rapid - așteptați până când ajunge la -2 și eliberați butonul. Ai sărit? - nu contează! Printr-o scurtă apăsare a butonului, vom reveni la un nivel gradat. Mai departe - la fel ca înainte: nu atingeți butonul de 2,5 secunde, iar după pornirea tasta modul de corecție nu este atins - în momentul în modul automat de comutare 1 va stoca noile valori de prag.

Voi încerca să formulez algoritmul de corecție cu o propoziție. În modul de corecție, modificați valoarea este în trepte de 1 grad, printr-o apăsare scurtă a unui buton schimbă valoarea doar un pas, și o apăsare lungă duce la o schimbare accelerată, după care pas semnul inversat. Sper că totul este clar. Oricum, este destul de ușor să vă obișnuiți cu acest algoritm și sper că va părea convenabil pentru dvs.







Trimiteți-le prietenilor: