Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Propeller 8 Kern Controller - C Programmierung

Station 4 - Spannungen messen

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.

1 - Potenziometerschaltung

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. 

Abbildung 1 - Courtesy of Parallax Inc.
Abbildung 2: A/D2 wird nacheinander mit GND, 3,3V und 5V verbunden
Material
Aufgabe
  • Baue die Schaltung nach Abb.1 auf.
  • Gib das Programm B04_01.c ein und speicher es unter B04_01 ab.
  • Starte das Programm.
  • Überprüfe, ob sich der Spannungswert A/D3 verändert, wenn am Potenziometer gedreht wird. Er sollte zwischen ca. 0V und 3,3V variieren.
  • Verbinde den Steckdraht des A/D2-Wandlers mit der 3,3V Buchse und überprüfe den angezeigten Spannungswert im Terminalfenster.
  • Verbinde anschließend den Steckdraht nacheinander auch mit der 5V und GND Buchse.

Sollte das Potenziometer nicht fest auf dem Steckbrett sitzen, dann begradige die drei Anschlussbeine des Potenziometers mit einer Flachzange.

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.

Abbildung 3: Terminalausgabe des Programms B04_01.c

Das Programm B04_01.c

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.

2 - AD-Wandler

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
  • Speicher das Programm B04_01.c aus Übung 1 mit Project - Save Project as ...  unter dem neuen Namen B04_02.c ab.
  • Änder das Programm so ab, wie es die folgende Abbildung zeigt und speicher es ab.
  • Starte das Programm und vergleiche die ausgegebenen Zahlenwerte mit der angezeigten Spannungsgröße.
  • Überprüfe den Wert von ad3 mit einem Taschenrechner. Die Umrechnungsformel lautet:

 

Volt = ad x 5V / 4096

Programm B04_02.c

Programm B04_02.c
Terminalausgabe

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
  • Entwickle ein Anwendungsprogramm, das mit einer Statusanzeige im Terminal drei Zustände beschreibt: zu heiß, alles ok, zu kalt. Zusätzlich können auch die beiden LEDs an P26 und P27 eingesetzt werden, um die drei Zustände optisch zu unterstreichen.
Druckversion | Sitemap
© Reinhard Rahner - Gettorf