- Componente necesare:
- Explicație de lucru:
- Explicația circuitului:
- Explicație de programare:
- Proiectarea circuitelor și PCB-urilor folosind EasyEDA:
- Calculul și comanda PCB-urilor online:
Adesea observăm fluctuații de tensiune în alimentarea cu energie electrică la noi acasă, care pot provoca defecțiuni la aparatele noastre de curent alternativ. Astăzi construim un circuit de protecție de înaltă și joasă tensiune cu cost redus, care va întrerupe alimentarea cu energie a aparatelor în caz de tensiune înaltă sau joasă. De asemenea, va afișa un mesaj de alertă pe ecranul LCD 16x2. În acest proiect, am folosit microcontrolerul PIC pentru a citi și a compara tensiunea de intrare cu tensiunea de referință și a lua măsurile în consecință.
Am realizat acest circuit pe PCB și am adăugat un circuit suplimentar pe PCB în același scop, dar de data aceasta folosind op-amp LM358 (fără microcontroler). În scop demonstrativ, am ales limita de joasă tensiune ca 150v și limita de înaltă tensiune ca 200v. Aici, în acest proiect, nu am folosit niciun releu pentru întrerupere, doar l-am demonstrat folosind LCD, verificați videoclipul de la sfârșitul acestui articol. Dar utilizatorul poate atașa un releu cu acest circuit și îl poate conecta cu GPIO-ul PIC.
Verificați în continuare celelalte proiecte ale noastre PCB aici.
Componente necesare:
- Microcontroler PIC PIC18F2520
- PCB (comandat de la EasyEDA)
- IC LM358
- Conector terminal cu 3 pini (opțional)
- 16x2 LCD
- BC547 Tranzistor
- 1k rezistor
- Rezistor 2k2
- Rezistență SMD de 30K
- 10k SMD
- Condensatoare - 0,1uf, 10uF, 1000uF
- Bază IC cu 28 de pini
- Burgsticks masculin / feminin
- 7805 Regulatoare de tensiune - 7805, 7812
- Programator Pickit2
- LED
- Diodă Zener - 5,1v, 7,5v, 9,2v
- Transformator 12-0-12
- Cristal de 12 MHz
- Condensator de 33pF
- Regulator de tensiune (regulator de turație a ventilatorului)
Explicație de lucru:
În acest circuit de întrerupere de înaltă și joasă tensiune, am citit tensiunea de curent alternativ utilizând microcontrolerul PIC cu ajutorul transformatorului, redresorului de punte și circuitului divizor de tensiune și afișat pe 16x2 LCD. Apoi am comparat tensiunea de curent alternativ cu limitele predefinite și am afișat mesajul de alertă pe ecranul LCD în consecință. Ca și dacă tensiunea este sub 150v, atunci am arătat „Low Voltage” și dacă tensiunea este mai mare de 200v, atunci am arătat textul „High Voltage” pe ecranul LCD. Putem schimba aceste limite în codul PIC dat la sfârșitul acestui proiect. Aici am folosit regulatorul ventilatorului pentru a crește și reduce tensiunea de intrare în scop demonstrativ în videoclip.
În acest circuit, am adăugat, de asemenea, un circuit simplu de protecție sub și supratensiune fără a utiliza niciun microcontroler. În acest circuit simplu am folosit comparatorul LM358 pentru a compara tensiunea de intrare și de referință. Deci, aici avem trei opțiuni în acest proiect:
- Măsurați și comparați tensiunea de curent alternativ cu ajutorul transformatorului, redresorului de pod, a circuitului divizor de tensiune și a microcontrolerului PIC.
- Detectarea supra și sub tensiune utilizând LM358 cu ajutorul transformatorului, redresorului și comparatorului LM358 (fără microcontroler)
- Detectați sub și supra tensiunea utilizând un comparator LM358 și alimentați-i ieșirea către microcontrolerul PIC pentru a lua măsuri prin cod.
Aici am demonstrat prima opțiune a acestui proiect. În care am redus tensiunea de intrare AC și apoi am transformat-o în DC utilizând un redresor de punte și apoi am mapat din nou această tensiune DC la 5v și apoi am alimentat în cele din urmă această tensiune la microcontrolerul PIC pentru comparație și afișare.
În microcontrolerul PIC am citit această tensiune DC mapată și pe baza valorii mapate am calculat tensiunea alternativă de intrare cu ajutorul formulei date:
volt = ((adcValue * 240) / 1023)
unde adcValue este echivalentul valorii tensiunii de intrare DC la controlerul PIC Pin ADC și volt este tensiunea alternativă aplicată. Aici am luat 240v ca tensiune maximă de intrare.
sau, alternativ, putem folosi metoda dată pentru cartografierea unei valori de intrare DC echivalente.
volt = hartă (adcVlaue, 530, 895, 100, 240)
unde adcValue este echivalentă cu valoarea tensiunii de intrare DC la pinul ADC al controlerului PIC, 530 este echivalentul tensiunii DC minime și 895 este valoarea echivalentă a tensiunii DC maxime. Și 100v este tensiunea minimă de mapare și 240v este tensiunea maximă de mapare.
Înseamnă că intrarea de 10mV DC la pinul PIC ADC este egală cu valoarea echivalentă ADC 2.046. Deci, aici am selectat 530 ca valoare minimă, tensiunea la pinul ADC al PIC va fi:
(((530 / 2.046) * 10) / 1000) Volt
2.6v care va fi mapat valoarea minimă de 100VAC
(Același calcul pentru limita maximă).
Verificați dacă funcția de hartă este dată în codul programului PIC la final. Aflați mai multe despre circuitul divizorului de tensiune și maparea tensiunilor folosind ADC aici.
Lucrul acestui proiect este ușor. În acest proiect, am folosit un regulator al ventilatorului de tensiune alternativă pentru demonstrarea acestuia. Am atașat regulatorul ventilatorului la intrarea transformatorului. Și apoi, prin creșterea sau scăderea rezistenței sale, am obținut tensiunea dorită.
În cod, avem valori de tensiune maxime și minime fixe pentru detectarea de înaltă tensiune și joasă tensiune. Am stabilit 200v ca limită de supratensiune și 150v ca limită de tensiune inferioară. Acum, după alimentarea circuitului, putem vedea tensiunea de intrare AC pe ecranul LCD. Când tensiunea de intrare crește, putem vedea schimbări de tensiune pe ecranul LCD și dacă tensiunea devine mai mare decât limita de tensiune, atunci LCD ne va avertiza prin „Alertă de înaltă tensiune” și dacă tensiunea scade decât sub limita de tensiune, atunci LCD ne va alerta afișând Mesaj Lert Voltage Alert ”. În acest fel poate fi folosit și ca întrerupător electronic.
Putem adăuga în continuare un releu pentru a atașa orice aparat de curent alternativ la întreruperea automată la tensiuni mici sau mari. Trebuie doar să adăugăm o linie de cod pentru a opri aparatul, sub mesajul de alertă LCD care arată codul. Verificați aici pentru a utiliza releu cu aparate de curent alternativ.
Explicația circuitului:
În circuitul de protecție de înaltă și joasă tensiune, am folosit un op-amp LM358 care are două ieșiri conectate la 2 și 3 pini numerici ai microcontrolerului PIC. Și un divizor de tensiune este utilizat pentru a împărți tensiunea și își conectează ieșirea la pinul cu numărul 4 al microcontrolerului PIC. LCD-ul este conectat la PORTB al PIC în modul pe 4 biți. RS și EN sunt conectate direct la B0 și B1, iar pinii de date D4, D5, D6 și D7 din LCD sunt conectați la B2, B3, B4 și respectiv B5. În acest proiect, am folosit două regulatoare de tensiune: 7805 pentru alimentarea cu microcontroler și 7812 pentru circuitul LM358. Și un transformator de descărcare 12v-0-12v este, de asemenea, utilizat pentru a reduce tensiunea de curent alternativ. Restul componentelor sunt prezentate în schema de circuit de mai jos.
Explicație de programare:
Programarea unei părți a acestui proiect este ușoară. În acest cod, trebuie doar să calculăm tensiunea de curent alternativ utilizând tensiunea de 0-5v mapată provenită din circuitul de divizare a tensiunii și apoi să o comparăm cu valori predefinite. Puteți verifica codul PIC complet după acest proiect.
Mai întâi, în cod, am inclus un antet și am configurat biții de configurare a microcontrolerului PIC. Dacă sunteți nou în codificarea PIC, aflați aici microcontrolerul PIC și biții de configurare ai acestuia.
Apoi am folosit câteva funcții pentru conducerea ecranului LCD, cum ar fi void lcdbegin () pentru inițializarea ecranului LCD, void lcdcmd (char ch) pentru trimiterea unei comenzi la LCD, void lcdwrite (char ch) pentru trimiterea de date către LCD și void lcdprint (char *) str) pentru trimiterea șirului pe LCD. Verificați toate funcțiile din codul de mai jos.
Funcția de mai jos este utilizată pentru maparea valorilor:
hartă lungă (x lung, lung in_min, lung în_max, lung out_min, lung out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Funcția dată analog analogie (int ch) este utilizată pentru inițializarea și citirea ADC:
int analogRead (int ch) {int adcData = 0; if (ch == 0) ADCON0 = 0x03; // canalul adc 0 altceva dacă (ch == 1) ADCON0 = 0x0b; // selectați canalul ADC 1 altul dacă (ch == 2) ADCON0 = 0x0b; // selectați canalul ADC 2 ADCON1 = 0b00001100; // selectați canalul analogic i / p 0,1 și 2 al ADC ADCON2 = 0b10001010; // timpul de echivalare care deține timpul maxim în timp ce (GODONE == 1) // începe conversia valoare adc adcData = (ADRESL) + (ADRESH << 8); // Stocați ieșirea de 10 biți ADON = 0; // adc off return adcData; }
Liniile date sunt folosite pentru a obține probe ADC și pentru a calcula media acestora și apoi pentru a calcula tensiunea:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // prelevarea probelor {adcValue + = analogRead (2); întârziere (1); } adcValue / = 100; #if method == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (rezultat, "% d", volt);
Și, în cele din urmă, funcția dată este utilizată pentru acțiunea rezultată:
if (volt> 200) {lcdcmd (1); imprimare lcd ("High Voltage"); lcdcmd (192); lcdprint ("Alertă"); întârziere (1000); } else if (volt <150) {lcdcmd (1); imprimare lcd („Low Voltage”); lcdcmd (192); lcdprint ("Alertă"); întârziere (1000); }
Proiectarea circuitelor și PCB-urilor folosind EasyEDA:
Pentru a proiecta acest circuit detector de înaltă și joasă tensiune, am ales instrumentul EDA online numit EasyEDA. Am folosit anterior EasyEDA de multe ori și am găsit că este foarte convenabil de utilizat în comparație cu alți fabricanți de PCB. Consultați aici toate proiectele noastre PCB. EasyEDA nu este doar soluția unică pentru captarea schematică, simularea circuitelor și proiectarea PCB-urilor, ci oferă, de asemenea, un serviciu de aprovizionare a componentelor și prototipului PCB cu costuri reduse. Recent, și-au lansat serviciul de aprovizionare cu componente, unde au un stoc mare de componente electronice, iar utilizatorii își pot comanda componentele necesare împreună cu comanda PCB.
În timp ce vă proiectați circuitele și PCB-urile, puteți, de asemenea, să vă faceți publice circuitele și PCB-urile, astfel încât ceilalți utilizatori să le poată copia sau edita și să beneficieze de acolo, de asemenea, am făcut publice toate aspectele noastre de circuit și PCB pentru această tensiune înaltă și joasă Circuit de protecție, verificați linkul de mai jos:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Mai jos este Instantaneul stratului superior al aspectului PCB-ului de la EasyEDA, puteți vizualiza orice strat (superior, inferior, de top, de fund etc.) al PCB-ului, selectând stratul din fereastra „Straturi”.
De asemenea, puteți verifica vizualizarea Foto a PCB utilizând EasyEDA:
Calculul și comanda PCB-urilor online:
După finalizarea proiectării PCB-ului, puteți face clic pe pictograma de ieșire Fabrication de mai sus. Apoi veți accesa pagina de comandă PCB pentru a descărca fișiere Gerber ale PCB-ului dvs. și a le trimite către orice producător, de asemenea, este mult mai ușor (și mai ieftin) să îl comandați direct în EasyEDA. Aici puteți selecta numărul de PCB-uri pe care doriți să le comandați, de câte straturi de cupru aveți nevoie, grosimea PCB-ului, greutatea cuprului și chiar culoarea PCB-ului. După ce ați selectat toate opțiunile, faceți clic pe „Salvați în coș” și finalizați comanda, apoi veți primi PCB-urile câteva zile mai târziu. Utilizatorul poate merge, de asemenea, cu furnizorul său local de PCB pentru a face PCB-uri folosind fișierul Gerber.
Livrarea EasyEDA este foarte rapidă și după câteva zile de comandare a PCB-urilor am primit probele de PCB:
Mai jos sunt imaginile după lipirea componentelor de pe PCB:
Astfel putem construi cu ușurință circuitul de protecție de joasă și înaltă tensiune pentru casa noastră. Mai mult, trebuie doar să adăugați un releu pentru a conecta orice aparat de curent alternativ la acesta, pentru a-l proteja de fluctuațiile de tensiune. Trebuie doar să conectați releul cu orice Pin general PIC MCU și să scrieți codul pentru a face pinul mare și mic împreună cu codul mesajului de alertă LCD.