Med en enkel kunnskap om Arduino og Voltage Divider Circuit, kan vi gjøre Arduino til Digital Voltmeter og kan måle inngangsspenningen ved hjelp av Arduino og en 16x2 LCD-skjerm.
Arduino har flere analoge inngangspinner som kobles til en Analog-til-digital-omformer (ADC) inne i Arduino. Arduino ADC er en ti-bit konverter, betyr at utgangsverdien vil variere fra 0 til 1023. Vi vil oppnå denne verdien ved å bruke funksjonen analogRead () . Hvis du kjenner referansespenningen, kan du enkelt beregne spenningen som er til stede ved den analoge inngangen. Vi kan bruke spenningsdelerkrets for å beregne inngangsspenningen. Lær mer om ADC i Arduino her.
Den målte spenningen vises på 16x2 LCD-skjermen. Vi har også vist spenningen i Serial Monitor av Arduino IDE og bekreftet den målte spenningen ved hjelp av Multimeter.
Nødvendig maskinvare:
- Arduino uno
- 16x2 LCD (flytende krystallskjerm)
- 100 k ohm motstand
- 10 k ohm motstand
- 10 k ohm potensiometer
- brødbrett
- jumper ledninger
Spenningsdelerkrets:
Før vi går inn i denne Arduino Voltmeter-kretsen, kan vi diskutere om Voltage Divider Circuit.
Spenningsdeler er en resistiv krets og er vist i figur. I dette resistive nettverket har vi to motstander. Som vist i figur, R1 og R2 som er på 10k og 100k ohm. Midtpunktet til grenen blir tatt til måling som en anologinngang til Arduino. Spenningsfallet over R2 kalles Vout, det er den delte spenningen i kretsen vår.
Formler:
Ved å bruke den kjente verdien (to motstandsverdier R1, R2 og inngangsspenningen) kan vi erstatte i ligningen nedenfor for å beregne utgangsspenningen.
Vout = Vin (R2 / R1 + R2)
Denne ligningen sier at utgangsspenningen er direkte proporsjonal med inngangsspenningen og forholdet mellom R1 og R2.
Ved å bruke denne ligningen i Arduino-koden kan inngangsspenningen lett avledes. Arduino kan bare måle DC-inngangsspenningen på + 55v. Med andre ord, når du måler 55V, vil Arduino-analoge pinnen være på sin maksimale spenning på 5V, så det er trygt å måle innenfor denne grensen. Her er motstandene R2 og R1-verdien satt til 100000 og 10000, dvs. i forholdet 100: 10.
Kretsdiagram og tilkoblinger:
Tilkobling for dette Arduino Digital Voltmeter er enkel og vist i kretsskjemaet nedenfor:
Pin DB4, DB5, DB6, DB7, RS og EN på LCD er direkte koblet til Pin D4, D5, D6, D7, D8, D9 av Arduino Uno
Midtpunktet til to motstander R1 og R2, som gjør spenningsdelerkretsen, er koblet til Arduino Pin A0. Mens de to andre endene er koblet til inngangsspenningen (spenning som skal måles) og GND.
Koding Forklaring:
Full Arduino-kode for måling av DC-spenning er gitt i Kodedelen nedenfor. Koden er enkel og kan lett forstås.
Hoveddelen av koden er å konvertere og kartlegge den gitte inngangsspenningen til vist utgangsspenning ved hjelp av den ovennevnte ligningen Vout = Vin (R2 / R1 + R2). Som nevnt tidligere vil Arduino ADC-utgangsverdien variere fra 0 til 1023, og Arduino maks utgangsspenning er 5v, så vi må multiplisere den analoge inngangen ved A0 til 5/1024 for å få den virkelige spenningen.
void loop () {int analogvalue = analogRead (A0); temp = (analogverdi * 5.0) / 1024.0; // FORMEL Brukt til å konvertere spenningen input_volt = temp / (r2 / (r1 + r2));
Her har vi vist den målte spenningsverdien på LCD og seriell skjerm på Arduino. Så her i koden Serial.println brukes til å skrive ut verdiene på seriell skjerm og lcd.print brukes til å skrive ut verdiene på 16x2 LCD.
Serial.print ("v ="); // skriver ut spenningsverdien i den serielle skjermen Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Voltage ="); // skriver ut spenningsverdien i LCD-skjermen lcd.print (input_voltage);
Slik kan vi enkelt beregne DC-spenningen ved hjelp av Arduino. Sjekk videoen nedenfor for demonstrasjon. Det er litt vanskelig å beregne vekselspenningen ved hjelp av Arduino, du kan sjekke det samme her.