- Vaaditut komponentit:
- Arduino Voltmeter -piirikaavio:
- Arduino-pohjaisen vaihtovirtamittarin toiminta:
- Simulointi:
- Koodin selitys:
Tässä projektissa aiomme tehdä vaihtovirran mittauslaitteen Arduinolla, joka mittaa vaihtovirtalähteen jännitteen kotona. Tulemme tulostamaan tämän jännitteen Arduino IDE: n sarjavalvontaan ja näyttämään yleismittarissa.
Digitaalisen jännitemittarin tekeminen on paljon helppoa kuin analogisen tekeminen, koska analogisen jännitemittarin tapauksessa sinulla on oltava hyvät tiedot fyysisistä parametreista, kuten vääntömomentti, kitkahäviöt jne., Kun taas digitaalisen voltimittarin tapauksessa voit käyttää vain LCD- tai LED-matriisia tai jopa kannettavan tietokoneen (kuten tässä tapauksessa) tulostaa jännite arvot puolestasi. Tässä on joitain digitaalisia voltimittariprojekteja:
- Yksinkertainen digitaalinen jännitemittaripiiri piirilevyllä ICL7107: n avulla
- LM3914 Voltmeter-piiri
- 0-25 V: n digitaalinen voltimittari AVR-mikrokontrollerilla
Vaaditut komponentit:
- Yksi 12-0-12 muuntaja
- 1N4007-diodi
- 1uf kondensaattori
- Vastukset 10k; 4.7k.
- Zener-diodi (5v)
- Arduino UNO
- Johtojen liittäminen
Arduino Voltmeter -piirikaavio:
Tämän Arduino-jännitemittarin piirikaavio on esitetty yllä.
Liitännät:
- Kytke muuntajan korkeajännitepuoli (220V) verkkovirtaan ja matalajännite (12v) jännitteenjakajan piiriin.
- Liitä 10 k: n vastus sarjaan 4,7 k: n vastukseen, mutta varmista, että jännite syötetään 4,7 k: n vastuksen yli.
- Liitä diodi kuvan mukaisesti.
- Liitä kondensaattori ja zener-diodi 4,7 k: n poikki
- Liitä johdin diodin n-liittimestä Arduinon analogiseen napaan A0.
** Huomaa: Liitä Arduinon maadoitustappi kuvan osoittamaan pisteeseen, tai muuten piiri ei toimi.
Tarvitsetko jännitteenjakajan piirin?
Kun käytämme muuntajaa 220/12 V, saamme 12 voltin lv-puolella. Koska tämä jännite ei sovi Arduinon tuloksi, tarvitsemme jännitteenjakajan piirin, joka voi antaa sopivan jännitteen arvon tuloksi Arduinolle
Miksi diodi ja kondensaattori on kytketty?
Koska Arduino ei ota negatiivisia jännitearvoja syötteenä, meidän on ensin poistettava negatiivinen AC-vaiheen sykli, jotta Arduino ottaa vain positiivisen jännitteen arvon. Tästä syystä diodi on kytketty tasausjännitteen korjaamiseksi. Tarkasta puoliaallon tasasuuntaaja- ja täystaajuisen tasasuuntaajapiirimme saadaksesi lisätietoja oikaisusta.
Tämä tasasuuntainen jännite ei ole sileä, koska se sisältää suuria aaltoiluja, jotka eivät voi antaa meille tarkkaa analogiarvoa. Siksi kondensaattori on kytketty tasoittamaan vaihtosignaali.
Zener-diodin tarkoitus?
Arduino voi saada vahinkoa, jos siihen syötetään yli 5 V: n jännitettä. Siksi 5 V: n zener-diodi on kytketty Arduinon turvallisuuden varmistamiseksi, joka hajoaa, jos tämä jännite ylittää 5 V: n.
Arduino-pohjaisen vaihtovirtamittarin toiminta:
1. Muuntajan lv-puolelta saadaan aleneva jännite, joka soveltuu käytettäväksi normaaleissa nimellistehovastuksissa.
2. Sitten saamme sopivan jännitteen arvon 4,7 k: n vastukselta
Suurin mitattava jännite löydetään simuloimalla tätä virtapiiriä proteuksella (selitetty simulaatio-osassa).
3. Arduino ottaa tämän jännitteen tuloksi nastasta A0 analogiarvojen muodossa välillä 0 - 1023. 0 on 0 volttia ja 1023 on 5 volttia.
4. Arduino muuntaa tämän analogisen arvon vastaavaksi verkkojännitteeksi kaavalla. (Selitetty koodiosassa).
Simulointi:
Tarkka piiri tehdään proteuksessa ja simuloidaan sitten. Suurimman jännitteen löytämiseksi, jota tämä piiri voi mitata osuma- ja koemenetelmää käytetään.
Tehtäessä generaattorin huippujännitettä 440 (311 rms), tapin A0 jännitteen havaittiin olevan 5 volttia eli suurin. Siksi tämä piiri voi mitata enintään 311 rms-jännitettä.
Simulointi suoritetaan eri jännitteille välillä 220 rms - 440v.
Koodin selitys:
Täydellinen ArduinoVoltmeter-koodi annetaan tämän projektin lopussa ja se selitetään hyvin kommenttien kautta. Tässä selitämme vain muutaman osan siitä.
m on tapille A0 vastaanotettu analoginen tuloarvo, m = pinMode (A0, INPUT); // aseta nasta a0 syöttötapiksi
Määritettäessä muuttuja n tähän kaavaan n = (m * . 304177), ensin suoritetaan jonkinlainen laskelma käyttämällä simulaatio-osassa saatuja tietoja:
Kuten simulointivalokuvasta nähdään, analoginen arvo 5v tai 1023 saadaan tapista A0, kun vaihtovirtajännite on 311 volttia. Siten:
Joten mikä tahansa satunnaisanalogiarvo vastaa (311/1023) * m, missä m saadaan analogiarvo.
Siksi pääsemme tähän kaavaan:
n = (311/1023) * m volttia tai n = (m *.304177)
Nyt tämä jännitearvo tulostetaan sarjamonitorille sarjakomennoilla alla kuvatulla tavalla. Ja myös yleismittarissa, kuten alla olevassa videossa on esitetty.
Näytölle tulostetut arvot ovat:
Koodissa määritetty analogisen tulon arvo:
Serial.print ("analoginen tulo"); // tämä antaa nimen, joka on "analogitulo" tulostetulle analogiarvolle Serial.print (m); // tämä yksinkertaisesti tulostaa analogisen tulon arvon
Vaadittu vaihtojännite koodissa määritellyllä tavalla:
Sarjaprintti ("vaihtojännite"); // tämä antaa nimen "vaihtojännite" painetulle analogiarvolle Serial.print (n); // tämä yksinkertaisesti tulostaa vaihtovirtajännitteen arvon