- Vaaditut komponentit:
- Työselitys:
- Piirin selitys:
- Ohjelmoinnin selitys:
- Piirin ja piirilevyn suunnittelu EasyEDA: n avulla:
- Piirilevyjen laskeminen ja tilaaminen verkossa:
Kotimme sähkönsyötössä havaitaan usein jännitteen vaihteluita, jotka voivat aiheuttaa toimintahäiriöitä koti-AC-laitteissamme. Tänään rakennamme edullisia korkea- ja matalajännitesuojapiirejä, jotka katkaisevat laitteiden virransyötön korkea- tai matalajännitetapauksissa. Se näyttää myös hälytysviestin 16x2 LCD-näytöllä. Tässä projektissa olemme käyttäneet PIC-mikrokontrolleria lukemaan ja vertaamaan tulojännitettä vertailujännitteeseen ja ryhtymään toimiin vastaavasti.
Olemme tehneet tämän piirin piirilevylle ja lisänneet ylimääräisen piirin piirilevylle samaan tarkoitukseen, mutta tällä kertaa käyttämällä op-amp LM358: ta (ilman mikro-ohjainta). Esittelyä varten olemme valinneet matalan jännitteen rajaksi 150 V ja korkean jännitteen rajaksi 200 V. Tässä projektissa emme ole käyttäneet yhtään releä katkaisuun, me vain osoitimme sen LCD-näytöllä, tarkista video tämän artikkelin lopussa. Mutta käyttäjä voi liittää releen tähän piiriin ja liittää sen PIC: n GPIO: hon.
Tarkasta tarkemmin muut piirilevyhankkeet täällä.
Vaaditut komponentit:
- PIC-mikrokontrolleri PIC18F2520
- Piirilevy (tilattu EasyEDA: lta)
- IC LM358
- 3-napainen liitinliitin (valinnainen)
- 16x2 LCD
- BC547-transistori
- 1k vastus
- 2k2 vastus
- 30K vastus SMD
- 10k SMD
- Kondensaattorit - 0,1uf, 10uF, 1000uF
- 28-napainen IC-pohja
- Uros / naaras burgstickit
- 7805 Jännitesäätimet - 7805, 7812
- Pickit2-ohjelmoija
- LED
- Zener-diodi - 5,1 V, 7,5 V, 9,2 V
- Muuntaja 12-0-12
- 12MHz kristalli
- 33pF-kondensaattori
- Jännitteen säädin (tuulettimen nopeuden säädin)
Työselitys:
Tässä korkean ja matalan jännitteen katkaisupiirissä olemme lukeneet vaihtojännitteen käyttämällä PIC-mikrokontrolleria muuntaja-, sillan tasasuuntaaja- ja jännitteenjakajapiirin avulla ja näyttämällä 16x2 LCD: n näytöllä. Sitten olemme verranneet vaihtojännitettä ennalta määriteltyihin rajoihin ja näyttäneet hälytysviestin nestekidenäytön mukaisesti. Kuten jos jännite on alle 150 V, niin olemme osoittaneet "matala jännite" ja jos jännite on yli 200 V, niin olemme osoittaneet "korkea jännite" -tekstin nestekidenäytössä. Voimme muuttaa näitä rajoituksia tämän projektin lopussa annetussa PIC-koodissa. Tässä olemme käyttäneet Fan Regulator -ohjelmaa lisäämään ja vähentämään sisään tulevaa jännitettä esittelytarkoituksessa Videossa.
Tässä piirissä olemme myös lisänneet yksinkertaisen ali- ja ylijännitesuojapiirin käyttämättä mitään mikro-ohjainta. Tässä yksinkertaisessa piirissä olemme käyttäneet LM358-komparaattoria tulo- ja vertailujännitteen vertaamiseen. Joten tässä meillä on kolme vaihtoehtoa tässä projektissa:
- Mittaa ja vertaa vaihtojännitettä muuntajan, sillan tasasuuntaajan, jännitteenjakajan piirin ja PIC-mikrokontrollerin avulla.
- Yli- ja alijännitteen havaitseminen LM358: lla muuntaja, tasasuuntaaja ja komparaattori LM358: n avulla (ilman mikro-ohjainta)
- Tunnista ali- ja ylijännite käyttämällä vertailulaitetta LM358 ja syötä sen lähtö PIC-mikrokontrolleriin toimiakseen koodin mukaan.
Tässä olemme osoittaneet tämän projektin ensimmäisen vaihtoehdon. Missä olemme laskeneet vaihtovirran tulojännitettä ja sitten muuntaneet sen tasavirraksi käyttämällä sillan tasasuuntaajaa ja kartoittaneet tämän DC-jännitteen jälleen 5 V: iin ja sitten lopulta syöttäneet tämän jännitteen PIC-mikrokontrolleriin vertailua ja näyttöä varten.
PIC-mikrokontrollerissa olemme lukeneet tämän kartoitetun tasajännitteen ja tämän kartoitetun arvon perusteella laskeneet tulevan vaihtojännitteen annetun kaavan avulla:
voltti = ((adcValue * 240) / 1023)
missä adcValue on ekvivalentti DC-tulojännitteen arvo PIC-ohjaimen ADC-nastassa ja voltti on käytetty vaihtojännite. Tässä olemme ottaneet 240 V: n maksimijännitteeksi.
tai vaihtoehtoisesti voimme käyttää tiettyä menetelmää vastaavan DC-tuloarvon kartoittamiseen.
volt = kartta (adcVlaue, 530, 895, 100, 240)
missä adcValue on ekvivalentti DC-tulojännitteen arvo PIC-ohjaimen ADC-nastassa, 530 on pienin DC-jännitteen ekvivalentti ja 895 on suurin DC-jännitteen vastaava arvo. Ja 100v on vähimmäiskartoitusjännite ja 240v on suurin kartoitusjännite.
Tarkoittaa, että 10 mV DC-tulo PIC ADC -nastalla on yhtä suuri kuin 2,046 ADC -arvo. Joten tässä olemme valinneet 530 vähimmäisarvot tarkoittaa, jännite PIC: n ADC-nastassa on:
(((530 / 2,046) * 10) / 1000) Voltti
2.6v, joka kartoitetaan vähintään 100VAC
(Sama laskelma enimmäisrajalle).
Tarkista, että karttatoiminto on annettu PIC-ohjelmakoodin lopussa. Lue lisää jännitteenjakajan piiristä ja jännitteiden kartoittamisesta ADC: n avulla täältä.
Tämän projektin tekeminen on helppoa. Tässä projektissa olemme käyttäneet vaihtojännitepuhaltimien säätimiä sen osoittamiseen. Olemme liittäneet puhaltimen säätimen muuntajan tuloon. Ja sitten lisäämällä tai vähentämällä sen resistanssia saimme halutun jännitelähdön.
Koodissa on kiinteät enimmäis- ja vähimmäisjännitearvot korkea- ja matalajännitetunnistusta varten. Olemme vahvistaneet 200 V: n ylijänniterajaksi ja 150 V: n alarajaksi. Nyt virran kytkemisen jälkeen voimme nähdä vaihtovirran tulojännitteen LCD-näytöllä. Kun syöttöjännite nousee, voimme nähdä jännitteen muutokset LCD-näytössä ja jos jännite ylittää yli jänniterajan, LCD ilmoittaa meistä "HIGH Voltage Alert" -toiminnolla ja jos jännite laskee matalalle kuin alle jännitealueen, LCD ilmoittaa meille osoittamalla " LOW Voltage Alert ”-viesti. Tällä tavalla sitä voidaan käyttää myös elektronisena katkaisijana.
Voimme edelleen lisätä releen kaikkien AC-laitteiden kiinnittämiseen automaattiseen katkaisuun matalilla tai korkeilla jännitteillä. Meidän on vain lisättävä koodirivi laitteen sammuttamiseksi nestekidenäytön hälytysviestin alle, joka näyttää koodin. Tarkista tämä, jos haluat käyttää releä vaihtovirtalaitteiden kanssa.
Piirin selitys:
On korkea ja alhainen Ylivirtareleet Circuit, olemme käyttäneet LM358 op-amp, jossa on kaksi ulostuloa on kytketty 2 ja 3 numero nastat PIC mikro. Ja jännitteenjakajaa käytetään jakamaan jännite ja yhdistämään sen lähtö PIC-mikrokontrollerin 4. numerotappiin. LCD on kytketty PIC: n PORTB: iin 4-bittisessä tilassa. RS ja EN on kytketty suoraan B0: een ja B1: ään ja LCD-datanastat D4, D5, D6 ja D7 on kytketty vastaavasti B2: een, B3: een, B4: ään ja B5: een. Tässä projektissa olemme käyttäneet kahta jännitesäätöä: 7805 mikro-ohjaimelle ja 7812 LM358-piirille. Ja 12v-0-12v-alamuuntajaa käytetään myös vaihtojännitteen alentamiseen. Muut komponentit on esitetty alla olevassa piirikaaviossa.
Ohjelmoinnin selitys:
Osa tämän projektin ohjelmoinnista on helppoa. Tässä koodissa meidän on vain laskettava vaihtojännite käyttämällä jännitteenjakajapiiristä tulevaa kartoitettua 0-5v-jännitettä ja verrataan sitä sitten ennalta määritettyihin arvoihin. Voit tarkistaa koko PIC-koodin tämän projektin jälkeen.
Ensinnäkin, olemme sisällyttäneet koodiin otsikon ja konfiguroinut PIC-mikrokontrollerin määritysbitit. Jos olet uusi PIC-koodauksessa, opi PIC-mikrokontrolleri ja sen kokoonpanobitit täältä.
Sitten olemme käyttäneet joitain nestekidenäytön ohjaamiseen tarkoitettuja ominaisuuksia , kuten void lcdbegin () nestekidenäytön alustamiseen, void lcdcmd (char ch) komennon lähettämiseen LCD: lle, void lcdwrite (char ch) tietojen lähettämiseen LCD: lle ja void lcdprint (char *) str) merkkijonon lähettämiseen LCD-näyttöön. Tarkista kaikki toiminnot alla olevasta koodista.
Annettua funktiota käytetään arvojen kartoittamiseen:
pitkä kartta (pitkä x, pitkä in_min, pitkä in_max, pitkä out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Annetaan int analogRead (int CH) toimintoa käytetään alustetaan ja luetaan ADC:
int analogRead (int ch) {int adcData = 0; jos (ch == 0) ADCON0 = 0x03; // adc-kanava 0 muu if (ch == 1) ADCON0 = 0x0b; // valitse ADC-kanava 1 muu if (ch == 2) ADCON0 = 0x0b; // valitse adc-kanava 2 ADCON1 = 0b00001100; // valitse analoginen i / p 0,1 ja 2 ADC-kanavaa ADCON2 = 0b10001010; // ekvisaatioajan pitoajan aika kun (GODONE == 1); // aloita muunnos adc-arvo adcData = (ADRESL) + (ADRESH << 8); // Tallenna 10-bittinen lähtö ADON = 0; // adc off return adcData; }
Annettuja viivoja käytetään ADC-näytteiden saamiseen ja niiden keskiarvon laskemiseen ja jännitteen laskemiseen:
while (1) {pitkä adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // näytteiden ottaminen {adcValue + = analogRead (2); viive (1); } adcValue / = 100; #if menetelmä == 1 voltti = (((kelluva) adcValue * 240,0) / 1023,0); #else volt = kartta (adcValue, 530, 895, 100, 240); #endif sprintf (tulos, "% d", voltti);
Ja lopuksi annettua toimintoa käytetään tuloksellisten toimien toteuttamiseen:
if (voltti> 200) {lcdcmd (1); lcdprint ("korkea jännite"); lcdcmd (192); lcdprint ("hälytys"); viive (1000); } else if (volt <150) {lcdcmd (1); lcdprint ("matala jännite"); lcdcmd (192); lcdprint ("hälytys"); viive (1000); }
Piirin ja piirilevyn suunnittelu EasyEDA: n avulla:
Tämän KORKEA- ja MATALA-jännitetunnistinpiirin suunnittelemiseksi olemme valinneet online-EDA-työkalun nimeltä EasyEDA. Olemme aiemmin käyttäneet EasyEDA: ta monta kertaa ja pitäneet sitä erittäin kätevänä verrattuna muihin piirilevyvalmistajiin. Tarkista täältä kaikki piirilevyhankkeet. EasyEDA ei ole vain yhden luukun ratkaisu kaaviolliseen sieppaukseen, piirisimulaatioon ja piirilevysuunnitteluun, vaan se tarjoaa myös edullisen piirilevyn prototyypin ja komponenttien hankintapalvelun. He käynnistivät äskettäin komponenttien hankintapalvelun, jossa heillä on suuri määrä elektronisia komponentteja ja käyttäjät voivat tilata tarvittavat komponentit piirilevytilauksen mukana.
Piirejä ja piirilevyjä suunniteltaessa voit myös tehdä piireistä ja piirilevyistä julkisia, jotta muut käyttäjät voivat kopioida tai muokata niitä ja hyötyä niistä. Olemme myös julkaisseet koko piiri- ja piirilevyasettelumme tälle korkea- ja matalajännitteelle Suojapiiri, tarkista alla oleva linkki:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Alla on tilannekuva EasyEDA: n piirilevyasettelun ylimmästä kerroksesta. Voit tarkastella mitä tahansa piirilevyn tasoa (ylä-, ala-, yläsilkki-, pullonsilkki jne.) Valitsemalla kerroksen Tasot-ikkunasta.
Voit myös tarkistaa piirilevyn valokuvanäkymän EasyEDA: n avulla:
Piirilevyjen laskeminen ja tilaaminen verkossa:
Kun olet suorittanut piirilevyn suunnittelun, voit napsauttaa yllä olevaa Fabrication output -kuvaketta. Sitten pääset sivun piirilevylle, jotta voit ladata piirilevysi Gerber-tiedostot ja lähettää ne mille tahansa valmistajalle, on myös paljon helpompaa (ja halvempaa) tilata se suoraan EasyEDA: sta. Täällä voit valita tilattavien piirilevyjen määrän, kuinka monta kuparikerrosta tarvitset, piirilevyn paksuuden, kuparin painon ja jopa piirilevyn värin. Kun olet valinnut kaikki vaihtoehdot, napsauta "Tallenna ostoskoriin" ja suorita tilauksesi, niin saat piirilevyt muutama päivä myöhemmin. Käyttäjä voi myös mennä paikallisen PCB-toimittajansa kanssa tekemään piirilevyjä Gerber-tiedostoa käyttämällä.
EasyEDA: n toimitus on erittäin nopeaa ja muutaman päivän PCB: n tilaamisen jälkeen sain PCB-näytteet:
Alla on kuvat juotettuina komponentit piirilevylle:
Näin voimme helposti rakentaa matalan korkean jännitteen suojapiirin kotiimme. Lisäksi sinun on vain lisättävä rele, jotta siihen voidaan liittää kaikki AC-laitteet, suojaamaan sitä jännitteen vaihteluilta. Liitä vain rele mihin tahansa yleiskäyttöiseen PIC MCU -nastaan ja kirjoita koodi, jotta tappi olisi korkea ja matala sekä LCD-hälytysviestikoodi.