1 - Potenziometerschaltung
- Weitere Vorschläge zum gleichen Thema mit den Boards: Prop-BoE - Prop-AB - BASIC Stamp - Raspberry Pi
Ein Arduino UNO Board verfügt über einen 10 Bit
Sechs-Kanal-Analog-Digital-Umsetzer. Eingangsspannungen zwischen 0 bis 5 Volt werden auf einen Bereich von 0 bis 1023 abgebildet. Die Auflösung liegt dann bei 5 Volt / 1024 = 4,9 mV pro Stufe. Der
Einlesevorgang für einen analogen Spannungswert liegt bei 100 µs (0,0001 s); pro Sekunde lassen sich 10.000 Messungen durchführen.
Die Anschlüsse der sechs AD-Wandler sind auf den Arduino UNO Boards mit ANALOG
IN gekennzeichnet und tragen die Bezeichnungen A0 ... A5.
Abbildung 1 - AD-Wandler Eingänge A0 ... A5
Angesprochen werden die AD-Wandler über die Funktion
Als Rückgabewert wird eine Zahl vom Typ int (integer) zwischen 0 und 1023
ausgegeben.
2 - Übung 1 - Eine erste Spannungsmessung
Eine erste Spannungsmessung mit AD-Wandler |
Material |
- 1x Arduino UNO oder NANO ESP32
- 1x USB-Verbindungskabel
- 1x Spannungsnetzteil
- 1x Potenziometer, 10 kOhm
|
Aufgaben |
- Baue die Schaltung nach vorliegender Schaltskizze auf
dem Steckbrett auf.
- Übertrage das Programm
Potenziometer_UNO_WiFi_R2.ino in den Editor und speichere es ab.
- Starte das Programm und öffne den seriellen
Monitor.
- Überprüfe, ob sich die angezeigten Werte verändern,
wenn der Schleifer am Potenziometer bewegt wird.
- Stelle fest, ob sich Werte zwischen 0 und 1023
liegen.
|
Schaltskizze und Schaltungsaufbau
Abbildung 2 - Schaltskizze (links) und Schaltungsaufbau auf dem Steckbrett und Verbindung zum Arduino Board (rechts)
TIPP: Sollte das Potenziometer nicht fest auf dem
Steckbrett sitzen, dann begradige die drei Anschlussbeine des Potenziometers mit einer Flachzange.
Das Programm Potenziometer_UNO_WiFi_R2.ino
Abb. 3 - Das Programm Potenziometer_UNO_WiFi_R2.ino mit Datenausgabe auf dem seriellen Monitor
Im seriellen Monitor sollten für die Schleiferstellung linker Anschlag bzw. rechter Anschlag beim Potenziometer die Werte 0 bzw. 1023
angezeigt werden. Bei jeder Zwischenstellung des Schleifers wird ein Wert zwischen diesen beiden Extremen angezeigt (siehe Abb. 3).
3 - Übung 2 - Umrechnung der Rohdaten in Spannungsgrößen
Die vom AD-Wandler zurückgegebenen Werte liegen zwischen 0 und 1023; sie sind ein Maß für die Stellung des Schleifers beim eingesetzten
Potenziometer und sie sind ein Maß für die Spannung, die vom Schleifer abgegriffen wird.
In der einen Extremposition (linker Anschlag) wird ein Wert 0 und bei Rechtsanschlag ein Wert 1023 im Terminal ausgegeben. Dieser
höchste Wert entspricht der anliegenden Spannung und das sind hier 5 Volt. Mit Hilfe des Dreisatzes können wir sagen:
Mit dieser Formel (klassischer Dreisatz) kann die Umrechnung durchgeführt werden:
Das zugehörige Programm poti_1.ino ist durch wenige Zeilen ergänzt worden und es wurde die Fließkommavariable
spannung vom Typ float eingeführt.
Das Programm Spannungsmessung_UNO_WiFi_R2.ino
Abb. 4 - Anzeige der Spannungswerte bei einem Potenziometer, dessen Mittelabgriff über A0 abgefragt wird.
Die zugehörige Terminalausgabe zeigt Bild 4. In der linken Spalte wird der vom AD-Wandler ausgegebene Wert angezeigt, rechts
daneben der daraus berechnete Spannungswert nach Formel (1) in der Einheit Volt.
4 - Übung 3 - Spannungsmessung am Poti (grafische Programmierung)
Was wird benötigt?
- Grafische Software VISUINO
- Ein Arduino Board (ich benutze ein Arduino UNO WiFi)
- Ein Potenziometer (z.B. 10 kOhm)
- Steckbrett und Steckdraht (MA-MA)
Wie geht es weiter?
- Starte das Programm VISUINO
- Baue auf dem Steckbrett die Schaltung nach Schaltskizze (s. Abb. 5) auf.
- Baue die Blockstruktur unter VISUINO auf.
Die Blockstruktur aufbauen
- Auf der Arbeitsoberfläche von Visuino aktiviere das von dir benutzte Arduino Board. Ich benutze hier ein Arduino UNO WiFi
Rev2.
- Füge auf der Arbeitsoberfläche die beiden Blöcke "Taktgeber" und "Rohmesswerte" ein.
Gib dazu im Icon-Fenster ganz rechts im Suchfeld "form" ein und ziehe das Icon "Formatted Text" in die Arbeitsoberfläche. Im Eigenschaften-Fenster wird der Name in
"Rohmesswerte" geändert.
Abb. 6 - Die Blöcke Taktgeber (Pulse) und Rohmesswerte (Formatted Text) werden auf die Arbeitsoberfläche gezogen.
Abb. 7 - Eigenschaften-Fenster von Formatted Text
- Gib im Suchfeld "puls" ein und ziehe das Icon "Digital"-"Pulse Generator" in die Arbeitsoberfläche und gib im Eigenschaften-Fenster im
Feld Name "Taktgeber" ein.
- Verbinde den Ausgang des Taktgebers Out mit dem Takteingang (Clock) von "Rohmesswerte" und ebenso den Ausgang
von Feld Digital[14]/Analog(0) im Arduino Block mit dem Eingang (In) des Blocks "Rohmesswerte".
- In einem letzten Schritt wird der Ausgang Out des Blocks "Rohmesswerte" mit dem Eingang In des Feldes
Serial[0] (9600) im Block Arduino verbunden.
Abb. 8
Durch einfaches Anklicken der quadratischen weißen Flächen lassen sich die Anschlüsse der Blöcke verbinden.
- Öffne in VISUINO im Arbeitsmenü Build; überprüfe ob das benutzte Board und der COM-Port aktiviert sind und starte über das Icon Compile/Build
and Upload das Programm.
- Öffne den Serial Monitor und aktiviere die Verbindung über den Button "Connect".
- Jetzt sollten die Analogwerte (Rohdaten) im Fenster angezeigt werden (s. Abb. 9).
Abb. 9 - Die Rohdaten werden im Terminalfenster ausgegeben. Die Werte ändern sich je nach Position des Mittelabgriffs am Potenziometer; sie schwanken zwischen 0
(Linkanschlag) und 1 (Rechtsanschlag) des Mittelabgriffs am Potenziometer.
5 - Übung 4 - Rohdaten umrechnen in Volt (grafische Programmierung)
Die Umrechnung der Rohdaten in Spannungsgrößen erfolgt über das Einfügen eines weiteren Blocks in die bereits bestehende Blockstruktur aus Übung 3 (s. Abb.
6).
Übung 3 hat gezeigt, dass die aufgenommenen Rohdaten zwischen 0 und 1 liegen und als 3-stellige reelle Zahl ausgegeben werden (s. Abb. 9).
Bei einer Betriebsspannung von 5 V muss der ermittelte Rohdatenwert mit dem Spannungswert multipliziert werden, um den tatsächlichen Spannungswert zu
erhalten.
Die Blockstruktur anpassen
- Öffne im Icon-Fenster durch Anklicken das Math Icon.
Abb. 10 - Icon Fenster
Das Math Icon zeigt das Bild eines Tischrechners.
- Ziehe das Icon Multiply Analog by Value (s. Abb. 11) in die Arbeitsoberfläche und gib dem neuen Block einen
Namen. In meinem Beispiel ist es "Spannung_in_Volt_". Die Unterstriche zwischen den Worten müssen sein, sonst gibt es eine Fehlermeldung.
Abb. 11 - Das Icon "Multiply Analog By Value" ist das dritte in der obersten Zeile von links.
- Der Multiplikationsfaktor wird im Feld "Value" mit 5 eingetragen (s. Abb. 12).
Abb. 12 - Block Multiply Analog By Value
Die Felder Name und Value werden neu belegt.
Den neuen Block einbinden
- Klicke mit der rechten Maustaste die Verbindung am Ausgang von Analog(0) an und wähle Disconnect Link. Positioniere den Block
"Spannung_in_V" vor den analogen Ausgang und stelle die Verbindung zum Arduino- und zum Rohmesswerte-Block wieder her.
- Compile/Build/Upload startet das Programm.
Abb. 13 - Der neue Block wird an den Ausgang mit dem Ausgang Out von Digital[14]AnalogIn(0)
verbunden.
- Öffnen des Terminalfensters zeigt die gemessenen Spannungswerte am Mittelabgriff des Potenziometeres in der Einheit Volt (s. Abb. 14).
Abb. 14 - Terminalfenster
Die Rohdaten werden jetzt in der Einheit Volt ausgegeben.