Arduino UNO R4 - spanning meten

In deze handleiding leren we hoe u spanning kunt meten van 0V tot 25V met behulp van een spanningssensor met een Arduino UNO R4. We bespreken:

Arduino UNO R4 voltage sensor

Over de Spanningssensor

Een spanningssensor is een kant-en-klare schakeling genaamd een spanningsdeler, die nauwkeurige weerstanden gebruikt om het meten van spanning eenvoudig te maken. Het heeft twee weerstanden, 30 KΩ en 7.5 KΩ. Met een 5V referentiespanning voor de ADC kan deze sensor spanningen tussen 0 en 25V DC meten. Als de ADC's referentiespanning 3.3V is, kan het spanningen van 0 tot 16.5V DC meten.

Pinout

Een spanningssensor heeft twee soorten pinnen:

  • Input Interface (sluit deze aan waar u spanning moet meten):
    • VCC-pin: Dit is de positieve pin. Sluit deze aan waar de spanning hoger is.
    • GND-pin: Dit is de negatieve pin. Sluit deze aan waar de spanning lager is.
  • Output Interface (sluit aan op de Arduino UNO R4):
    • Vout-pin (S): Dit is de signaalpin. Sluit deze aan op een analoge pin van de Arduino UNO R4.
    • NC-pin (+): Sluit deze niet aan; wordt niet gebruikt.
    • G&-pin (-): Dit is de grondpin. Sluit deze aan op de GND (0V) van de Arduino UNO R4.
    Voltage Pinout
    image source: diyables.io

Bedradingsschema

Arduino UNO R4 voltage sensor Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Arduino UNO R4 Code

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 5.0 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Verbind de Arduino UNO R4 met de spanningssensor.
  • Verbind het Arduino Uno R4 board met uw computer via een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 board (bijv., Arduino Uno R4 WiFi) en COM-poort.
  • Kopieer de verstrekte code en open deze in de Arduino IDE.
  • Klik op de Upload knop in de Arduino IDE om de code naar de Arduino UNO R4 over te zetten.
  • Test door 5V en 3.3V te meten op de Arduino UNO R4.
  • Controleer de resultaten op de Serial Monitor.
COM6
Send
Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Het meetresultaat kan verkeerd zijn of sterk afwijken van de werkelijke waarde. Dit is niet de schuld van de spanningssensormodule. Het probleem kan zijn omdat de standaard spanningsreferentie 5V is, wat mogelijk onstabiel is en varieert met de voedingsbron. Hier zijn enkele manieren om dit probleem op te lossen:

  • Zorg ervoor dat u een voeding gebruikt die de juiste hoeveelheid spanning levert aan de Arduino UNO R4. Controleer of de 5V-pin op de Arduino UNO R4 werkelijk 5V levert door een voltmeter te gebruiken.
  • Gebruik een externe 3.3V spanningsreferentie. Onthoud dat u op deze manier alleen spanningen tussen 0 en 16.5V DC kunt meten.

Spanning Meten met een 3.3V Referentie

Om deze methode te gebruiken, bereid eerst de hardware en de code voor. Voor de hardware, verbind de AREF-pin op de Arduino UNO R4 met 3.3V zoals het diagram toont.

Arduino UNO R4 measures voltage Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Gebruik vervolgens deze code:

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); analogReference(EXTERNAL); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Functie Referenties

Opmerkingen

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!