Arduino Nano - spanning meten

In deze handleiding leren we hoe u spanning tussen 0V en 25V kunt meten met een spanningssensor en een Arduino Nano. We behandelen:

Arduino Nano voltage sensor

Hardware benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB-kabel
1×Spanningssensor
1×Jumper Draden (man-man)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Spanningssensor

Een spanningssensor is een kant-en-klaar circuit dat de spanning deelt voor eenvoudige meting. Het bevat twee weerstanden: één van 30 kΩ en één van 7,5 kΩ. Met een referentiespanning van 5V voor de ADC (analoge-digitaal-omzetter) kan de sensor spanningen meten van 0 tot 25V DC. Als de referentiespanning van de ADC 3,3V is, kan de sensor spanning meten van 0 tot 16,5V DC.

Pinout

Een spanningssensor heeft twee groepen pinnen.

  • Ingangsinterface (aansluiten waar u de spanning wilt meten):
    • VCC pin: Dit is de positieve pin. Sluit deze aan op het punt met de hogere spanning.
    • GND pin: Dit is de negatieve pin. Sluit deze aan op het punt met de lagere spanning.
  • Uitgangsinterface (aansluiten op de Arduino Nano):
    • Vout pin (S): Dit is de signaalpin. Sluit deze aan op een analoge ingang op de Arduino Nano.
    • NC pin (+): Niet aansluiten.
    • GND pin (-): Dit is de aarde-pin. Sluit deze aan op GND (0V) van de Arduino Nano.
    Voltage Pinout
    image source: diyables.io

Aansluitschema

Arduino Nano voltage sensor Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Arduino Nano Code

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-measure-voltage */ #define ANALOG_IN_PIN A7 // The Arduino Nano pin connected to voltage sensor #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

  • Verbind de Arduino Nano met de spanningssensor.
  • Verbind de Arduino Nano met een computer via een USB-kabel.
  • Open de Arduino IDE en selecteer het juiste board en de juiste poort.
  • Kopieer de code en open deze in de Arduino IDE.
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino Nano te sturen.
  • Test door 5 volt en 3,3 volt te meten met de Arduino Nano.
  • Controleer de resultaten in 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  

U kunt merken dat het meetresultaat onjuist of significant afwijkend is van de werkelijke waarde. Dit is niet de fout van de spanningssensormodule. De gemeten waarde kan afwijken omdat de standaard spanningsreferentie 5V is, wat onstabiel kan zijn en afhankelijk van de stroomvoorziening. Hier zijn enkele oplossingen om dit probleem aan te pakken:

  • Zorg ervoor dat de voeding voldoende spanning levert voor de Arduino. U kunt dit controleren met een voltmeter door te meten of de 5V-pin van de Arduino echt 5V levert.
  • Gebruik een externe spanningsreferentie van 3,3V. Met deze methode kunt u echter alleen spanning meten van 0 tot 16,5V DC.

Spanning meten met een 3,3V referentie

Voor deze methode moet u zowel hardware als code aanpassen. Voor de hardware verbindt u de AREF-pin van de Arduino met 3,3V zoals te zien in het onderstaande schema.

Arduino Nano measures voltage Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Gebruik vervolgens de volgende code:

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-measure-voltage */ #define ANALOG_IN_PIN A7 // The Arduino Nano pin connected to voltage sensor #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.

Bekijk onze video-tutorial voor visuele begeleiding bij dit project! De video biedt extra inzichten en praktische tips om het meten met de Arduino Nano correct uit te voeren.

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!