sâmbătă, 16 mai 2020

Multimetru de panou cu protectii

    Impreuna cu zvonacfirst de pe elforum, am realizat un multimetru de panou cu protectii, realizat dupa ideea dansului ca un sandvis (din 3 placi: placa de baza la mijloc, afisaj LCD1602 si placa auxiliara), dupa cum se vede in imaginile de mai jos,
dar mai ales in filmuletul urmator:
    Modulul trebuie sa faca urmatoarele:
- sa masoare tensiunea de intrare pana la cca. 55V
- sa masoare curent consumat pana la cca 10A
- sa calculeze puterea consumata
- sa masoare temeperatura cu un senzort LM35
- in functie de temperatura masurata sa porneasca cu turatie scazuta ventilatorul, ulterior sa o creasca pana la maxim
- daca temperatura este redusa se poate cupla releul si astfel se alimenteaza sarcina (consumatorul)
- daca temperatura este prea mare se decupleaza consumatorul si nu se mai poate face reconectarea decat dupa ce scade temperatura
- daca se depaseste curentul maxim se decupleaza consumatorul
- poate functiona si fara placa auxiliara comportandu-se ca un simplu multimetru de panou
    Schema a suferit ceva modificari, incercand sa implementam pe 2 versiuni mari, cea a lui Georgel, cu un ATmega8 ce foloseste referinta interna de 2,56V, eu preferand pe un ATmega328 cu referinta externa cu TL431 la 2,495, deoarece dar merge si cucea interna e doar 1,1V si trebuiau deoarece nu trebuie multe modificari. In functie de compilare, se poate folosi cuartul extern sau cel intern. Ideea e(ra) sa se poate folosi ce e la indemana, dar pe parcurs, versiunea cu ATmega8 e (deja) la limita cu spatiul.
    In mare, pe placa principala se gasesc:
- microcontrolerul cu oscilator cu cuart (in functie de preferinta, acesta poate lipsi)
- stabilizator de 5V, cu alimentare de la o sursa exterioara de 8-12V pentru ca se foloseste un LM7805 in capsula TO-220
- un divizor rezistiv pentru masurarea tensiunii
- un sunt de 10mOhmi si un sistem de amplificare cu operational, care a suferi mai multe modificari.
- senzor LM35
- referinta externa (doar la versiunea cu ATmega328 este strict necesara)
    Pe placa auxiliara se gasesc:
- tranzistor de comanda + releu de cuplare/decuplare consumatori
- tranziator pentru alimentare ventilator
- avertizor sonor (buzzer activ)
   Dupa incarcarea softului la modulul lui zvonacfirst, pe ecran apare urmatoarele informatii:
  Cateva poze cu cablajele primului prototip de placa de baza, proiectate si realizate de zvonacfirst:
  Dupa  ce am primit si eu cablajele, am inceput sa pun piesele:
   Eu am am mai facut mici modificari in schema, dar mari in program, facand si 2 filmulete:
indicator de panou cu protectii
multimeter with protection systems
   Dupa ce am testat prototipul, am adaugat niste noi masuratori pentru autocorectie in vederea reducerii influentei traseelor cablajului si faptului ca tensiunea pe sunt e foarte mica.
   Acum, la pornire, modulul isi face un test si isi configureaza anumite valori:
- prezentare
 - mesaj pentru deconectarea oricarui consumator de la borne;
- o masurare de offset (tensiune de iesire operational, fata de ce se estimase)
- masurare influenta alimentare releu
- masurare influenta alimentare ventilator la turatie maxima
- masurare influenta alimentare ventilator la turatie medie (PWM)
- masurare influenta alimentare releu si ventilator la turatie maxima
- masurare influenta alimentare releu si ventilator la turatie medie (PWM)
 - mesaj pentru ca se poate conecta un consumator de la borne;
- daca nu este conectata alimentarea la conectorul modulului
- daca se conecteaza alimentarea (releul are contactul deschis, aparand semnul !)
- daca se apasa lung pe buton, releului conecteaza intrarea la iesire si consumatorul poate fi si el alimentat (releul are contactul inchis, aparand semnul =)
   Am facut inca 2 filmulete, care arata cum se face autocalibrarea:
   Curand voi posta schemele si programul.

17.05.2020
    Dupa cum scriam mai la inceput, schemele de baza sunt:
1) cu ATmega8 si referinta interna, cand aceasta este de 2,56V
2) cu ATmega328 si referinta interna, cand aceasta este de 1,1V
3) cu ATmega8 sau ATmega328 cu referinta externa cu TL431 de 2,495V.
   Schema cu ATmega8/Atmega328 cu referinta interna este Schematic_Voltmetru-de-panou-cu-Atmega-8_V2.pdf, respectiv cea cu referinta externa: Schematic_VA-metru-cu-ATmega328_niq_V4.pdf cu modificarile de mai jos.
   Pentru versiunea 2, tensiunea de referinta e de valoare apropiata si divizorul rezistiv pentru masurare tensiune poate avea valori: R1 = 47..56kΩ si R2 = 1kΩ 
respectiv pentru versiunea 2 de R1 = 22kΩ si 1kΩ, pentru a acoperi 55V pe intrare.
   Pentru variantele cu referinta de 2,56V (referinta interna la ATmega8) si rezistentele R1 = 22kΩ,  R2 = 1kΩ, tensiunea maxima pe intrare este de aproximativ 59V, iar daca R1 = 47kΩ,  R2 = 1kΩ de 123V.
   Pentru variantele cu referinta de 2,495V (referinta externa cu TL431) si rezistentele R1 = 22kΩ,  R2 = 1kΩ, tensiunea maxima pe intrare este de aproximativ 57V, iar daca R1 = 47kΩ,  R2 = 1kΩ de 120V.
   Pentru versiunea cu referinta de 1,1V (referinta internal ATmega328) se poate folosi doar versiunea de minim R1 = 47kΩ,  R2 = 1kΩ, pentru care tensiunea maxima este de 53V, recomandandu-se R1 = 51kΩ,  R2 = 1kΩ, pentru care tensiunea maxima este de 57V sau eu as recomanda R1 = 56kΩ,  R2 = 1kΩ, pentru care tensiunea maxima este de 64V.
    Pentru masurarea curentului, schema initiala este
 eu am preferat schema cu ridicarea nivelului tensiunii pe intrarea suntului, deci si pe iesirea operationalului:
  Pentru a face, cel putin, pentru moment, se masoara tensiunea pe iesirea operationalului la curent 0 (fara consumator) si apoi la un curent cunoscut, de aceea in program, exista configurare versiuni:
- pentru dzvonacfirst, ATmega8 cu referinta interna, R1 de 56kΩ
- pentru mine, ATmega328 cu referinta externa cu TL431 si R1 de 22kΩ
- pentru zvonacfirst, ATmega328 cu referinta interna si R1 de 47kΩ
   In functie de amprenta releului sau cum este legat contactul COM-NC sau COM-NO, se modifica comanda acestuia din program
   Curentul maxim la care se decupleaza consumatorul se modifica din linia:
   Configurarile se aleg functie de "persoana", adica de variabila model:
   Initial se va face corectia curentului, modificand variabila ka pana indicatiile de curent sunt corecte (valoarea optima se obine in mai multi pasi), apoi kv pentru tensiune (valoarea optima se obine in mai multi pasi), sunt configurabile in zona de setup() 
Cand ma refeream ca "valoarea optima se obine in mai multi pasi', procedura e urmatoarea: daca se masoara pe aparatul de masura, considerat etalon ca avem un curent de 223mA (adica 0,223A), iar pe indicatorul nostru este 0,19A, coeficientul profilului nostru e ka = 1.014, noul coeficient va avea valoarea de 1,014 * 0,223 / 0.19 = 1.19.. s eincarca din nou programul cu noua valoare si trebuie sa se obtina 0,22A, apoi se masoara la alta valoare de curent pana sunteti multumiti de indicatii. Similar, se face si pentru coeficientul pentru tensiune.
    Trebuie sa recomand folosirea, pentru referinta externa, a unui TL431 cu terminatia B (precizie 0,5%) sau A (1%), deoarece 2% il are si referinta interna a micocontrolerului:
   Cam atat e de prezentat despre programul din versiunea actuala, care este indicator_panou_0c0f.ino.
   Ca de obicei, si schema si programul pot fi imbunatatite, dar pentru moment, cam asta am testat si eu si zvonacfirst, care mi-a trimis masuratori pe un domeniu mai larg,din care se vede precizia de masura:

4 comentarii: