Arduino-põhine alalisvoolumõõturi ahel - ehituse üksikasjad ja testimine

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame Arduino abil alalisvoolumõõturi, kus näidud kuvatakse 16x2 LCD-ekraanil.



Kavandatud voltmeetri konstruktsioon võib lugeda kuni 30 V tolerantsiga +/- 0,5 volti. Vaatame, kuidas see seadistus toimib, ja uurime muid võimalusi, mida saame saavutada peale pinge mõõtmise.



See projekt on üsna lihtne, isegi algajad saavad hõlpsasti hakkama, kuid vooluahela prototüübi koostamisel tuleb olla ettevaatlik, kuna hakkame rakendama välist pinget, mis tahes vale ühenduse loomine Arduinoga võib põhjustada teie plaadi surmava kahju.

Las hoiatus on külg, uurime, kuidas see toimib.



Siin kasutame analoog-digitaalset teisendusprotsessi. Pinge mis tahes allikast on analoogfunktsioon, mille 16x2 LCD ekraanil kuvatud näidud on digitaalsed funktsioonid.

Väljakutse on nende analoogfunktsioonide teisendamine digitaalseks. Õnneks on Arduinol funktsionaalsus analoogfunktsioonide lugemiseks ja nende teisendamiseks diskreetseks funktsiooniks.

Arduino mikrokontroller, mis on varustatud 10-bitise analoog-digitaalmuunduriga (ADC). See tähendab, et Arduino suudab lugeda 2 ^ 10 = 1024 diskreetset pingetaset.

Teisisõnu, Arduino analoognõelale rakendatud pingest võetakse 1024 diskreetset pingetaset võrdluspinge suhtes, mille prooviväärtus kuvatakse LCD-ekraanil. See on selle voltmeeter või peaaegu iga digitaalse voltmeetri põhimõte.

Rakendatud välist pinget Arduino aga otseselt ei mõõda. Pinge langetatakse pingejaoturite abil ja tegeliku pingenäidu saamiseks tehakse programmis matemaatikat.

Kuidas see töötab

Vooluring koosneb kahest takisti, üks LCD-ekraan ja Arduino, mis on digitaalse voltmeetri aju. Need kaks takistit toimivad pingejagajana, jaguri sõlm on ühendatud Arduino analoognõelaga # A0, mis loeb sisendpinge. Maandusühendus on loodud Arduino ja välise pingeallika vahel.

Minimaalne pinge, mida selle voltmeetri abil saab mõõta, on 0,1 V, see künnis on programmis seatud nii, et see loeb pärast pingeallika lahtiühendamist 0,00 volti ega näita mõõtesondi ümber staatilise laengu tõttu näitu.

Autori prototüüp:

Arduino baasil alalisvoolumõõturi testi tulemused

Ärge muutke polaarsust pinge mõõtmise ajal vastupidiseks, see ei kahjusta vooluahelat, kuid see ei loe ühtegi pinget ja kuvab 0,00 V, kuni pole polaarsust parandanud. Reguleerige vedelkristallekraani kontrastsus potentsiomeetri pööramisega optimaalsele tasemele.

Veenduge, et te ei kasuta ühtegi pingeallikat, mis võib tõusta üle 30 V, see võib teie Arduino plaati kahjustada. Tehniliselt saate selle vooluahela maksimaalse mõõtepinge kokku lüüa, muutes takisti väärtusi ja modifitseerides programmi, kuid illustreeritud seadistuse jaoks on 30 V piir.

Täpseks lugemiseks valige fikseeritud takistid minimaalse tolerantsiväärtusega, takistitel on pingelugemise kalibreerimisel oluline roll.

Skeem:

Arduino põhine alalisvoolu voltmeeter

Selle voltmeetri teine ​​võimalus on see, et saame programmi muuta mõnede ülesannete automatiseerimiseks.

Näiteks tuvastage aku täispinge ja lahutage aku laadijast või ühendage aku lahti, kui pinge langeb alla etteantud pingetaseme ja nii edasi. Neid ülesandeid saab täita ka ilma LCD-ekraanita. Kuid see on juba teise artikli teema.

Programm:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Palun kontrollige näidud hea voltmeeter / multimeeter.




Paari: Bluetoothi ​​auto süüteluku ahel - võtmeta autokaitse Järgmine: Magnetiline ukse turvahäire ahel hoiatamiseks ukse avamise korral