Elektrische Spannung hat immer etwas zu tun mit Ladungsunterschieden. Batterien haben zum Beispiel zwei Pole, einen Plus- und einen Minuspol. Zwischen den beiden Polen gibt es einen deutlichen Ladungsunterschied, den wir messen und als Spannungswert angeben können.
Wenn man Spannungen misst, lassen sich damit vielleicht auch Antworten auf Fragen beantworten wie:"Wie neu ist diese Batterie?" oder "Was hat mein Sensor da eigentlich gemessen?".
Bei einer normalen neuen Alkaline Batterie vom Typ AA messen wir vielleicht eine Spannung von 1,6 bis 1,65V zwischen ihren beiden Polen. Ältere Batterien liegen da eher bei 1,45V oder darunter. NiMH-Akkus liefern bautechnisch bedingt etwas geringere Spannungswerte als die o.g. Alkaline Batterien.
Viele analoge Sensoren liefern an ihren Ausgängen einen Spannungswert, der proportional zum Eingangswert steht. Joysticks sind dafür ein gutes Beispiel. Bei ihnen hängt der gemessene Spannungswert von der Position des Sticks ab. Der ist mit einem Potenziometer verbunden. Wir werden das in einer Übung ausmessen. Ebenso werden wir die Spannungswerte der Anschlüsse GND, 3,3 und 5V auf unserem Board ausmessen.
Schaltungsaufbau und Schaltskizze
Auf dem Propeller Activity Board gibt es vier Analog-Digital-Kanäle (A/D) zur Spannungsmessung. Wir werden A/D2 zur Spannungsmessung nutzen.
Abb. 1 zeigt, dass der A/D2 mit GND verbunden ist, wir werden aber in weiteren Messungen auch die Anschlüsse 3,3V und 5V überprüfen. A/D3 ist mit dem Mittelabgriff eines Potenziometer-Ausgangs verbunden. Wird das Potenziometer verstellt, ist der gemessene Spannungswert ein Maß für seine eingenommene Drehposition.
Material |
|
Aufgabe |
|
Das Programm ausprobieren
Das Beispielprogramm zeigt im Debug Terminal die gemessenen Spannungswerte des A/D2 an. Sie sollten z. B. bei Anschluss des Messkabels an der 3,3V Buchse bei ungefähr diesem Wert liegen.
Im gezeigten Beispiel (Abb. 2) misst der Wandler A/D2 an der 3,3V Buchse auf dem Board einen Wert von 3,24...V und am Mittelabgriff des Potenziometers 1,05..V. Dieser Wert entspricht bei einer anliegenden Spannung von 3,3V nicht ganz der Mittelstellung des Mittelabgriffs im Potenziometer.
Das Programm B04_01.c
Wie arbeitet das Programm B04_01.c?
Als zusätzliche Bibliothek wurde in dieses Programm adcDCpropab aufgenommen. In ihr finden sich viele Funktionen, die für A/D Wandler und Spannungsmessungen entworfen wurden. In ihr findet sich auch die Funktion
adc_init
die gleich zu Beginn des Programmes aufgerufen wird und dafür sorgt, dass die I/O Propeller Pin bekannt sind, die mit den Anschlüssen /CS, SCL, DO und DI des A/D Wandler verbunden sind, Die Anschlusszahlen befinden sich ganz in der Nähe des A/D Wandlers, gleich rechts unterhalb der GND Anschlüsse des Boards.
In Zeile 15 werden zwei Fließkommazahlen definiert. In ihnen werden die Messergebnisse abgelegt.
Innerhalb der Endlosschleife werden in den Zeilen 18 und 19 die Spannungswerte von A/D2 und A/D3 in den Variablen v2 und v3 abgelegt. Die nachfolgenden print-Befehle geben die gemessenen Werte im Terminalfenster aus.
Wechselspannung und Gleichspannung
Gemessen werden Gleichspannungen. Sie sorgen dafür, dass sich Ladungen innerhalb eines elektrischen Stromkreises nur in einer Richtung bewegen. Die negative Ladung bewegt sich vom Minus- zum Pluspol der Energiequelle.
Bei Wechselspannungen ändern die Anschlusstellen der Energiequelle in einem festen Rhythmus ihre Polung; damit wird auch die Flussrichtung der Ladung ständig verändert.
A/D Wandler und Bit Auflösung
Der A/D Wandler auf dem Activity Board ist ein sogenannter 12-Bit-Wandler. Er hat 4096 gültige Worte, jedes Wort mit einer LSB-Gewichtung (least significant bit) von 1/4096. Wenn an den Eingang des Wandlers 5V angelegt werden, zeigt der A/D Wandler 4095 an, den höchsten Wert, den er ausgeben kann.
Die Funktion adc_in aus der adcDCpropab Bibliothek gibt die aktuellen Zahlen zurück, die der A/D Wandler an den Propeller übergibt.
Die Zahlen liegen im Bereich von 0 bis 4095 und repräsentieren Spannungswerte, die ein ganzzahliges Vielfaches von 5/4096 sind.
Aufgabe |
Volt = ad x 5V / 4096 |
Programm B04_02.c
Jetzt kommst du!
Temperatursensoren sind ebenfalls gängige analoge Sensoren mit einer variablen Spannungsausgabe. Stellen wir uns vor, dass wir ein Terrarium mit einem solchen Temperatursensor haben.
Das Terratrium ist zu warm, wenn der Sensor einen Spannungswert > 1,0V ausgibt und zu kalt, wenn der Wert unter 0,5V absackt.
Aufgabe |
|