Met een simpele kennis van Arduino en Voltage Divider Circuit, kunnen we de Arduino in digitale voltmeter veranderen en de ingangsspanning meten met Arduino en een 16x2 LCD-scherm.
Arduino heeft verschillende analoge ingangspennen die verbinding maken met een analoog-naar-digitaal-omzetter (ADC) in de Arduino. De Arduino ADC is een tien-bit converter, wat betekent dat de outputwaarde zal variëren van 0 tot 1023. We zullen deze waarde verkrijgen door de analogRead () functie te gebruiken. Als u de referentiespanning kent, kunt u eenvoudig de spanning op de analoge ingang berekenen. We kunnen een spanningsdelercircuit gebruiken om de ingangsspanning te berekenen. Lees hier meer over ADC in Arduino.
De gemeten spanning wordt weergegeven op het 16x2 Liquid Crystal Display (LCD). We hebben ook de spanning weergegeven in Serial Monitor van Arduino IDE en de gemeten spanning bevestigd met behulp van een multimeter.
Vereiste hardware:
- Arduino uno
- 16x2 LCD (Liquid Crystal Display)
- 100 k ohm weerstand
- 10 k ohm weerstand
- Potentiometer van 10 k ohm
- broodplank
- jumper draden
Spanningsdeler Circuit:
Voordat we dit Arduino Voltmeter-circuit betreden, laten we het hebben over het Voltage Divider Circuit.
Spanningsdeler is een resistief circuit en wordt weergegeven in de afbeelding. In dit resistieve netwerk hebben we twee weerstanden. Zoals getoond in figuur, R1 en R2 die van 10k en 100k ohm zijn. Het middelpunt van de vertakking wordt meegenomen naar de meting als een analoge invoer voor de Arduino. De spanningsval over R2 wordt Vout genoemd, dat is de verdeelde spanning van ons circuit.
Formules:
Met behulp van de bekende waarde (twee weerstandswaarden R1, R2 en de ingangsspanning), kunnen we de onderstaande vergelijking gebruiken om de uitgangsspanning te berekenen.
Vout = Vin (R2 / R1 + R2)
Deze vergelijking stelt dat de uitgangsspanning recht evenredig is met de ingangsspanning en de verhouding van R1 en R2.
Door deze vergelijking toe te passen in de Arduino-code kan de ingangsspanning eenvoudig worden afgeleid. Arduino kan alleen de DC-ingangsspanning van + 55V meten, met andere woorden, bij het meten van 55V heeft de Arduino analoge pin zijn maximale spanning van 5V, dus het is veilig om binnen deze limiet te meten. Hier is de waarde van de weerstanden R2 en R1 ingesteld op 100000 en 10000, dwz in de verhouding van 100: 10.
Schakelschema en aansluitingen:
De aansluiting voor deze Arduino digitale voltmeter is eenvoudig en wordt weergegeven in het onderstaande schakelschema:
Pin DB4, DB5, DB6, DB7, RS en EN van LCD zijn direct aangesloten op Pin D4, D5, D6, D7, D8, D9 van Arduino Uno
Het middelpunt van twee weerstanden R1 en R2, die het spanningsdelercircuit vormt, is verbonden met Arduino Pin A0. Terwijl de andere 2 uiteinden zijn verbonden met de ingangsspanning (te meten spanning) en gnd.
Codering Toelichting:
De volledige Arduino-code voor het meten van de DC-spanning wordt gegeven in het codegedeelte hieronder. Code is eenvoudig en kan gemakkelijk worden begrepen.
Het belangrijkste deel van de code is om de gegeven ingangsspanning om te zetten en in kaart te brengen in de weergegeven uitgangsspanning met behulp van de bovenstaande vergelijking Vout = Vin (R2 / R1 + R2). Zoals eerder vermeld, zal de Arduino ADC-uitgangswaarde variëren van 0 tot 1023 en de maximale uitgangsspanning van de Arduino is 5v, dus we moeten de analoge ingang van A0 tot 5/1024 vermenigvuldigen om de echte spanning te krijgen.
void loop () {int analogvalue = analogRead (A0); temp = (analoge waarde * 5.0) / 1024.0; // FORMULE GEBRUIKT OM DE SPANNING TE CONVERTEREN input_volt = temp / (r2 / (r1 + r2));
Hier hebben we de gemeten spanningswaarde op LCD en seriële monitor van Arduino weergegeven. Dus hier in de code wordt Serial.println gebruikt om de waarden op seriële monitor af te drukken en lcd.print wordt gebruikt om de waarden op 16x2 LCD af te drukken.
Serial.print ("v ="); // drukt de spanningswaarde af in de seriële monitor Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("Voltage ="); // drukt de spanningswaarde af op het LCD-scherm lcd.print (input_voltage);
Op deze manier kunnen we de DC-spanning eenvoudig berekenen met Arduino. Bekijk de video hieronder voor een demonstratie. Het is een beetje moeilijk om de AC-spanning te berekenen met Arduino, je kunt hetzelfde hier controleren.