S preprostim poznavanjem vezja Arduino in napetostnega razdelilnika lahko Arduino spremenimo v digitalni voltmeter in z Arduinom in LCD zaslonom 16x2 lahko merimo vhodno napetost.
Arduino ima več analognih vhodnih zatičev, ki se povežejo z analogno-digitalnim pretvornikom (ADC) znotraj Arduina. Arduino ADC je deset-bitni pretvornik, kar pomeni, da se bo izhodna vrednost gibala od 0 do 1023. To vrednost bomo dobili z uporabo funkcije analogRead () . Če poznate referenčno napetost, lahko enostavno izračunate napetost na analognem vhodu. Za izračun vhodne napetosti lahko uporabimo vezje delilnika napetosti. Več o ADC v Arduinu lahko preberete tukaj.
Izmerjena napetost se prikaže na zaslonu s tekočimi kristali 16x2 (LCD). Napetost smo prikazali tudi v serijskem monitorju Arduino IDE in izmerjeno napetost potrdili z multimetrom.
Potrebna strojna oprema:
- Arduino uno
- 16x2 LCD (zaslon s tekočimi kristali)
- 100 k ohmski upor
- 10 k ohmski upor
- 10 k ohmski potenciometer
- plošča
- mostične žice
Vezje delilnika napetosti:
Preden vstopimo v to vezje Arduino Voltmeter, se pogovorimo o vezju delilnika napetosti.
Napetostni delilnik je uporovno vezje in je prikazan na sliki. V tem uporovnem omrežju imamo dva upora. Kot je prikazano na sliki, sta R1 in R2 10k in 100k ohm. Srednja točka veje je merjena kot anolog vhod v Arduino. Padec napetosti na R2 se imenuje Vout, to je deljena napetost našega vezja.
Formule:
Z uporabo znane vrednosti (dve uporni vrednosti R1, R2 in vhodna napetost) lahko v spodnji enačbi nadomestimo izračun izhodne napetosti.
Vout = Vin (R2 / R1 + R2)
Ta enačba navaja, da je izhodna napetost neposredno sorazmerna z vhodno napetostjo in razmerjem R1 in R2.
Z uporabo te enačbe v kodi Arduino lahko enostavno določimo vhodno napetost. Arduino lahko meri samo enosmerno vhodno napetost + 55v. Z drugimi besedami, pri merjenju 55V bo analogni zatič Arduino dosegel največjo napetost 5V, zato je varno meriti znotraj te meje. Tu je vrednost uporov R2 in R1 nastavljena na 100000 in 10000, tj. V razmerju 100: 10.
Shema vezja in povezave:
Povezava tega digitalnega voltmetra Arduino je enostavna in prikazana na spodnjem vezju:
Pin DB4, DB5, DB6, DB7, RS in EN LCD so neposredno povezani z Pin D4, D5, D6, D7, D8, D9 Arduino Uno
Središče dveh uporov R1 in R2, ki tvori vezje delilnika napetosti, je priključeno na Arduino Pin A0. Medtem ko sta druga dva konca priključena na vhodni volt (napetost, ki jo je treba izmeriti) in gnd.
Pojasnilo kodiranja:
Popolna koda Arduino za merjenje enosmerne napetosti je podana v spodnjem delu kode. Koda je preprosta in jo je mogoče enostavno razumeti.
Glavni del kode je pretvorba in preslikava dane vhodne napetosti v prikazano izhodno napetost s pomočjo zgornje enačbe Vout = Vin (R2 / R1 + R2). Kot smo že omenili, se bo izhodna vrednost Arduino ADC gibala od 0 do 1023, največja izhodna napetost Arduino pa je 5v, zato moramo analogni vhod pomnožiti na A0 do 5/1024, da dobimo dejansko napetost.
void loop () {int analogvalue = analogRead (A0); temp = (analogvalue * 5,0) / 1024,0; // FORMULA, KI SE UPORABLJA ZA PRETVORBO NAPETOSTI input_volt = temp / (r2 / (r1 + r2));
Tu smo prikazali izmerjeno vrednost napetosti na LCD in serijskem monitorju Arduino. Tako je tukaj v kodi Serial.println uporabljen za tiskanje vrednosti na serijski monitor, lcd.print pa za tiskanje vrednosti na LCD 16x2.
Serial.print ("v ="); // natisne vrednost napetosti v serijskem monitorju Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Voltage ="); // natisne vrednost napetosti na LCD-prikazovalniku lcd.print (input_voltage);
Tako lahko z uporabo Arduina enostavno izračunamo enosmerno napetost. Za ogled si oglejte spodnji video. Težko je izračunati izmenično napetost z uporabo Arduina, isto lahko preverite tukaj.