Inhaltsverzeichnis:
- Schritt 1: Grundlagen
- Schritt 2: Messen von 0-5V
- Schritt 3: Messen der Spannung über 5V
- Schritt 4: Aufbau des Spannungsteilers
- Schritt 5: Lesen der Spannung
Video: Spannungsmessung mit Arduino - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Die Spannungsmessung ist mit jedem Mikrocontroller im Vergleich zur Strommessung recht einfach. Das Messen von Spannungen wird notwendig, wenn Sie mit Batterien arbeiten oder Ihr eigenes regelbares Netzteil herstellen möchten. Obwohl diese Methode für jeden uC gilt, lernen wir in diesem Tutorial, wie man die Spannung mit Arduino misst.
Auf dem Markt sind Spannungssensoren erhältlich. Aber braucht man sie wirklich? Lass es uns herausfinden!
Schritt 1: Grundlagen
Ein Mikrocontroller kann die analoge Spannung nicht direkt verstehen. Deshalb müssen wir einen Analog-Digital-Wandler oder kurz ADC verwenden. Atmega328, das Gehirn des Arduino Uno, hat 6 Kanäle (gekennzeichnet als A0 bis A5), 10-Bit-ADC. Dies bedeutet, dass Eingangsspannungen von 0 bis 5 V in ganzzahlige Werte von 0 bis (2^10-1) abgebildet werden, d. h. gleich 1023, was eine Auflösung von 4,9 mV pro Einheit ergibt. 0 entspricht 0V, 1 bis 4,9mV, 2 bis 9,8mV und so weiter bis 1023.
Schritt 2: Messen von 0-5V
Zuerst werden wir sehen, wie die Spannung mit einer maximalen Spannung von 5 V gemessen wird. Dies ist sehr einfach, da keine speziellen Modifikationen erforderlich sind. Um die variierende Spannung zu simulieren, verwenden wir ein Potentiometer, dessen mittlerer Pin mit einem der 6 Kanäle verbunden ist. Wir werden nun den Code schreiben, um die Werte vom ADC zu lesen und sie wieder in nützliche Spannungswerte umzuwandeln.
Lesen des analogen Pins A0
Wert = analogRead(A0);
Die Variable 'value' enthält nun je nach Spannung einen Wert zwischen 0 und 1023.
Spannung = Wert * 5,0/1023;
Der erhaltene Wert wird nun mit der Auflösung (5/1023 = 4,9 mV pro Einheit) multipliziert, um die tatsächliche Spannung zu erhalten.
Und schließlich die gemessene Spannung auf dem seriellen Monitor anzeigen.
Serial.print ("Spannung = ");
Serial.println (Spannung);
Schritt 3: Messen der Spannung über 5V
Das Problem tritt jedoch auf, wenn die zu messende Spannung 5 Volt überschreitet. Dies kann mit einer Spannungsteilerschaltung gelöst werden, die wie gezeigt aus 2 in Reihe geschalteten Widerständen besteht. Ein Ende dieser Reihenschaltung ist mit der zu messenden Spannung (Vm) und das andere Ende mit Masse verbunden. An der Verbindungsstelle zweier Widerstände erscheint eine der gemessenen Spannung proportionale Spannung (V1). Diese Verbindung kann dann mit dem analogen Pin des Arduino verbunden werden. Die Spannung kann mit dieser Formel ermittelt werden.
V1 = Vm * (R2/(R1+R2))
Die Spannung V1 wird dann vom Arduino gemessen.
Schritt 4: Aufbau des Spannungsteilers
Um nun diesen Spannungsteiler zu bauen, müssen wir zuerst die Werte der Widerstände herausfinden. Befolgen Sie diese Schritte, um den Wert der Widerstände zu berechnen.
- Bestimmen Sie die maximale Spannung, die gemessen werden soll.
- Bestimmen Sie einen geeigneten Standardwert für R1 im Kilo-Ohm-Bereich.
- Berechnen Sie R2 mit der Formel.
- Wenn der Wert von R2 kein Standardwert ist (oder nahe daran liegt), ändern Sie R1 und wiederholen Sie die obigen Schritte.
- Da Arduino maximal 5V verarbeiten kann, ist V1 = 5V.
Angenommen, die maximale zu messende Spannung (Vm) beträgt 12 V und R1 = 47 Kiloohm. Dann ergibt die Verwendung der Formel R2 gleich 33k.
Bauen Sie nun eine Spannungsteilerschaltung mit diesen Widerständen auf.
Mit diesem Setup haben wir jetzt eine Ober- und Untergrenze. Für Vm = 12V erhalten wir V1 = 5V und für Vm = 0V erhalten wir V1 = 0V. Das heißt, für 0 bis 12 V an Vm liegt eine proportionale Spannung von 0 bis 5 V an V1 an, die dann wie zuvor in den Arduino eingespeist werden kann.
Schritt 5: Lesen der Spannung
Mit einer leichten Änderung im Code können wir jetzt 0 bis 12V messen.
Analogwert wird wie zuvor gelesen. Dann wird unter Verwendung der gleichen zuvor erwähnten Formel die Spannung zwischen 0 und 12 V gemessen.
Wert = analogRead(A0);
Spannung = Wert * (5,0/1023) * ((R1 + R2)/R2);
Die gängigen Voltage Sensor Modules sind nichts anderes als eine Spannungsteilerschaltung. Diese sind für 0 bis 25 V mit 30 Kiloohm und 7,5 Kiloohm Widerständen ausgelegt.
Warum also kaufen, wenn Sie selbst basteln können!
Danke, dass du bis zum Ende durchgehalten hast. Ich hoffe, dass dieses Tutorial Ihnen geholfen hätte.
Abonniere meinen YouTube-Kanal für weitere anstehende Projekte und Tutorials. Noch einmal vielen Dank!
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E