Arduino alapú egyenáramú feszültségmérő áramkör - Részletek és tesztelés

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben egy DC feszültségmérőt fogunk építeni az Arduino segítségével, ahol az olvasott értékek 16x2 LCD-ben jelennek meg.



A javasolt voltmérő kialakítása 30 V-ig képes leolvasni +/- 0,5 volt tűréssel. Meg fogjuk nézni, hogyan működik ez a beállítás, és megvizsgáljuk a feszültség mérésén kívüli egyéb lehetőségeket is.



Ez a projekt meglehetősen egyszerű, még a kezdők is könnyedén teljesíthetnek, de ügyelni kell az áramkör prototípusának elkészítésére, mivel külső feszültséget fogunk alkalmazni, az Arduino bármilyen hibás csatlakoztatása halálos kárt okozhat a táblában.

Legyen a figyelmeztetés oldal, vizsgáljuk meg, hogyan működik.



Itt analóg-digitális átalakítási folyamatot használunk. Bármely forrásból származó feszültség analóg funkció, a 16x2 LCD-n megjelenített értékek digitális funkciók.

A kihívás az analóg funkciók digitális funkcióvá alakítása. Szerencsére az Arduino rendelkezik funkcióval az analóg függvények olvasására és diszkrét funkcióvá alakítására.

Arduino mikrovezérlő 10 bites analóg-digitális átalakítóval (ADC) felszerelve. Ez azt jelenti, hogy az Arduino 2 ^ 10 = 1024 diszkrét feszültségszintet tud leolvasni.

Más szavakkal, az Arduino analóg érintkezőjére alkalmazott feszültségről 1024 diszkrét feszültségszintet vesznek fel egy referenciafeszültséghez képest, amelyet a mintavételezett érték megjelenít az LCD-n. Ez az elv áll a voltmérő vagy szinte bármely digitális voltmérő mögött.

Az alkalmazott külső feszültséget azonban nem közvetlenül méri az Arduino. A feszültséget feszültségosztók segítségével csökkentik, és a programban matematikát végeznek a tényleges feszültség leolvasása érdekében.

Hogyan működik

Az áramkör két ellenállásból áll, egy LCD kijelzőből és egy Arduino-ból, amely a digitális voltmérő agya. A két ellenállás feszültségosztóként működik, az osztó csomópontja az Arduino # A0 analóg tűjéhez csatlakozik, amely leolvassa a bemeneti feszültséget. Földi kapcsolat jön létre az Arduino és a külső feszültségforrás között.

A minimális feszültség, amelyet ezzel a voltmérővel mérni lehet, 0,1 V, ezt a küszöbértéket a program úgy állítja be, hogy a feszültségforrás leválasztása után 0,00 voltot olvasson, és a mérőszonda körüli statikus töltés miatt ne jelenjen meg az érték.

A szerző prototípusa:

Arduino alapú DC feszültségmérő teszt eredményei

Ne változtassa meg a polaritást a feszültség mérése közben, ez nem károsítja az áramkört, de nem olvas le feszültséget és 0,00 V-ot jelenít meg, amíg nem javítja a polaritást. Állítsa be az LCD kijelző kontrasztját az optimális szintre a potenciométer forgatásával.

Ügyeljen arra, hogy ne használjon olyan feszültségforrást, amely 30 V-nál nagyobb csúcsot okozhat, és ez károsíthatja az Arduino kártyát. Technikailag megnövelheti ennek az áramkörnek a maximális mérési feszültségét az ellenállás értékeinek megváltoztatásával és a program módosításával, de az ábrázolt beállításnál a 30 V korlát.

A pontos leolvasáshoz válassza a minimális tűrésértékű rögzített ellenállásokat, az ellenállások fontos szerepet játszanak a feszültségleolvasás kalibrálásában.

Kördiagramm:

Arduino alapú DC feszültségmérő áramkör

A feszültségmérő másik lehetősége, hogy módosíthatjuk a programot egyes feladatok automatizálásához.

Például érzékelje az akkumulátor teljes feszültségét, és húzza ki az akkumulátort a töltőből, vagy húzza ki az akkumulátort, ha a feszültség az előre beállított feszültségszint alá esik stb., Ezeket a feladatokat LCD kijelző nélkül is el lehet látni. Ez azonban egy másik cikk tárgya.

Program:

//--------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---------//

Kérjük, ellenőrizze az olvasást jó voltmérővel / multiméterrel.




Előző: Bluetooth autós gyújtáskapcsoló áramkör - kulcs nélküli autóvédelem Következő: Mágneses ajtó biztonsági riasztó áramkör riasztáshoz, ha az ajtót nyitották