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

Kapitel 3 – Taster

Nachdem wir uns mit der Software MakerPlot ein wenig befasst haben, wenden wir uns jetzt weiteren Anwendungen zu. In diesem Kapitel werden

  • die Eingangseigenschaften einer BASIC Stamp
  • die grundlegenden Operationen eines BJT (bipolar junction transistor)  und
  • mechanische wie elektronische Schalter

genauer untersucht.

 

Einem HIGH-Pegel oder einer logischen 1 entspricht typischerweise die positive Spannung eines Systems; einem LOW-Pegel oder einer logischen 0 entsprechend die Massereferenz des Systems.

 

Bei der BASIC Stamp und dem Board of Education sind diese mit Vdd (+5 V) und Vss (0 V oder Masse) bezeichnet.

Wenn die Eingangsspannung statt 5 V nur 3,5 V beträgt, ist das dann immer noch logisch 1 oder HIGH? Und wie verhält es sich bei 2,5V? Ab wann liegt eine logische 0 vor?

Ein digitales System kennt nur einen von zwei Zuständen. Bleibt die Frage, bei welcher Eingangsspannung der Zustand HIGH in LOW übergeht bzw. umgekehrt?

 

In Übung 1 wird die Schwellenspannung bestimmt, unterhalb der der Eingang LOW und oberhalb der der Eingang HIGH ist. Dazu wird ein Analog-Digital-Wandler (ADC) eingesetzt, der die Spannungspegel am Eingang misst. Eine umfassende Darstellung des hier eingesetzten ADC-Typs erfolgt im Kapitel 6.

Übung 1 – Messung der Schwellenspannung

Übung 1 – Messung der Schwellenspannung
Material
  • 1x  ADC0831  Analog-Digital-Wandler
  • 1x  Potenziometer, 10 kOhm
  • 2x  Widerstand, 220 Ohm
  • 1x  LED rot
  • 1x  Board of Education mit BS2, Steckernetzteil, USB-Verbindungskabel
Aufgaben
  • Baue die Schaltungen nach Schaltskizze auf dem Steckbrett auf.
  • Starte den BASIC Stamp Editor und gib das Programm DataMonitoring.bs2 ein. Speichere es anschließend ab.
  • Starte das Programm und schließe das Debug Terminal.
  • Starte das Programm MakerPlot mit dem Makro sic_pc_data_monitoring.spm.
  • Stelle die Verbindung her und starte die grafische Auswertung.
  • Verstelle das Potenziometer. Der Spannungswert und die grafische Anzeige sollten sich entsprechend verändern. Die LED an P0 zeigt die beiden Zustände logisch 1 oder HIGH und logisch 0 oder LOW an.
  • Bei welchem Spannungswert schaltet der Eingang P8 von HIGH auf LOW um. Dies ist dann die gesuchte Schwellenspannung.

Schaltskizze

Abb. 1a - Prozesssteuerung Teilschaltung 1 - ADC0831 mit Potenziometer Mittelabgriff am BS2-Eingang P8
Abb. 1b - Prozesssteuerung Teilschaltung 2 - LED an P0

Das Programm DataMonitoring.bs2

Der BASIC Befehl

  • SHIFTIN Dpin, Cpin, Mode, [Variable{\Bits}, Variable{\Bits}, …] 

mit seinen vier Parametergrößen soll hier kurz vorgestellt werden.

  • Dpin
    Variable, die den I/O-Pin angibt, der mit dem Datenausgang des seriellen Geräts verbunden wird. Dieser Pin wird in den Eingabemodus gesetzt. Der Datenausgang des ADC0831 ist DO. Er ist in der vorliegenden Schaltung mit P15 verbunden.
  • Cpin
    Eine Variable, die den I/O-Pin angibt, der mit dem Takt-Pin des synchronen seriellen Geräts verbunden wird. Dieser Pin wird auf Ausgabemodus gesetzt. Der Takt-Pin des ADC0831 ist CLK und mit P14 verbunden.
  • Mode
    Eine Variable oder eines von vier vordefinierten Symbolen, die die Reihenfolge, in der Datenbits angeordnet werden sollen, und die Beziehung von Taktimpulsen zu gültigen Daten angibt.

    MSBPOST - Daten sind MSB-zuerst; Abtastbits nach dem Taktimpuls.

    LSBPOST – Daten sind LSB-zuerst; Abtastbits nach dem Taktimpuls

    MSBPRE - Daten sind MSB-zuerst; Abtastbits vor dem Taktimpuls.

    LSBPRE - Daten sind LSB-zuerst; Abtastbits vor dem Taktimpuls.
    (MSB - most significant bit; 
    LSB - least significant bit)
  • Variable
    Eine Variable, in der eingehende Datenbits gespeichert werden
  • Bits (optional)
    Ist eine optionale Variable/Konstante/Ausdruck, die angibt, wie viele Bits durch Verschieben eingegeben werden sollen. wenn kein Bits-Argument angegeben wird, ist SHIFTIN standardmäßig auf 8 Bits eingestellt.

 

 

 

 

 

 

 

 

 

Abb. 2

MakerPlot-Diagramm. Aufgenommen wurden der Spannungswert am Mittelabgriff des Potenziometers (analog) und die Spannung über der LED (digital).

Verstellt man den Mittelabgriff des Potenziometers kontinuierlich, wird in einer bestimmten Position die LED ein- bzw. ausgeschaltet.

In den Datenblättern der Hersteller von elektronischen Bauteilen wird die Schwellenspannung angegeben und garantiert. Die zulässigen HIGH- und LOW-Werte liegen ober- bzw. unterhalb des gelisteten Schwellenwertes.

 

Für eine BASIC Stamp2 gibt der Hersteller Parallax Inc. zum Beispiel die Werte:

  • VIH = 2,0 Volt   (Voltage In-High: minimaler Eingangs-Spannungswert, bei dem sicher der logische Zustand 1 oder HIGH erkannt wird.)
  • VIL = 0,8 Volt    (Voltage In-Low: maximaler Eingangs-Spannungswert, bei dem sicher der logische Zustand 0 oder LOW erkannt wird.)

an.

 

Etwa in der Mitte zwischen VIH und VIL liegt der hier gemessene 1,5-V-TTL-Logik-schwellenwert, bei dem der Eingang die erfassten Zustände ändert.

 

Nicht alle digitalen Geräte haben die gleichen Schwellenwerte. Darüber hinaus können Bauteile über Eingänge mit einem Schmitt-Trigger verfügen, bei denen sich die Schwellenwerte unterscheiden (sog. Hysterese), je nachdem, ob die Spannung zu- oder abnimmt. Das Konzept der Hysterese wird in späteren Kapiteln weiter untersucht.

Wie arbeitet das Programm?

 

Die Schaltung betreffend

 

Die LED wird einzig dazu genutzt, den Zustand von P8 anzuzeigen: LED AN -> HIGH, LED aus -> LOW.

 

Das Potenziometer in der Schaltung ist ein klassischer Spannungsteiler. Je nach Stellung des Mittelabgriffs stellen sich unterschiedliche Teilspannungen ein (siehe Abb. 3).

Weitere Informationen zum Thema Spannungsteiler gibt es hier.

 

 

 

Abb. 3

Vier verschiedene Positionen des Mittelabgriffs eines Potenziometers mit ihren Teilwiderständen.

Der Spannungsausgang ist eine Funktion des Spannungsabfalls gegen Masse, dargestellt durch R2 in Abbildung 3.

Eine Kirchhoffsche Regel besagt, dass die „algebraische Summe der Spannungen in einer Reihenschaltung gleich der Versorgungsspannung sein muss“. Die an R1 und R2 abfallenden Teilspannungen müssen der Versorgungsspannung Vdd von 5 V entsprechen.

 

Mit dem Ohmschen Gesetz ergibt sich so eine Stromstärke Iges von 0,5 mA durch R1 und R2. Die entsprechende Teilspannung über R2 lässt sich jetzt für die drei gezeigten Teilwiderstände in Abb. 3 leicht berechnen. Diese Spannung liegt am Eingang des ADC und an P8.

  • Liegen am Spannungsteiler ca. 1,5 Volt oder mehr, erkennt P8 dies als HIGH oder logisch 1, unterhalb dieses Wertes als LOW oder logisch 0.

Mit dem ADC0831 werden Spannungen zwischen 0 und 5 Volt gemessen und als 8-Bit Wert ausgegeben; die BS2 übernimmt diesen Wert mit SHIFTIN. Bei einem 8-Bit AD-Wandler wird der Spannungsbereich zwischen 0 und 5 Volt in 255 Teilschritte aufgeteilt.

  • Ein Teilschritt entspricht dann 0,0196 Volt.

255 Teilschritte entsprechen dann 5 Volt, 120 Teilschritte 120 * 0,0196 = 2,35 Volt.

Den Programmcode betreffend

 

Im Hauptprogramm wird das Unterprogramm

  • GOSUB ReadData

aufgerufen. Mit

  • LOW ADC_CS

wird das IC aktiviert. Die Bit-Variable

  • DigDataIn

liest den an Vin bzw. P8 anliegenden Spannungswert ein und überträgt ihn mit

  • SHIFTIN ADC_Dout, ADC_Clk, MSBPOST, [ADC_DataIn\9]

an den AD-Wandlerbaustein der einen Zahlenwert zwischen 0 und 255 an ADC_Dout ausgibt; anschließend wird das IC disabled. Die Daten werden über das

  • Unterprogramm PlotData

an MakerPlot übertragen und grafisch angezeigt.

In der folgenden Übung 2 wird zum Potenziometer in der ADC-Schaltung aus Übung 1 ein LDR zugeschaltet. Dieser lichtgesteuerte Spannungsteiler an der BS2 sorgt dafür, dass die LED bei einer bestimmten Lichtstärke ein- bzw. ausgeschaltet wird.

Übung 2 – Eine Nachlicht-Schaltung

Übung 2 – Eine Nachtlicht-Schaltung
Material
  • 1x  ADC0831  Analog-Digital-Wandler
  • 1x  Potenziometer, 10 kOhm
  • 1x  LDR
  • 2x  Widerstand, 220 Ohm
  • 1x  LED rot
  • 1x  Board of Education mit BS2, Steckernetzteil, USB-Verbindungskabel
Aufgaben
  • Baue die Schaltungen nach Schaltskizze auf dem Steckbrett auf.
  • Starte den BASIC Stamp Editor und gib das Programm DataMonitoring.bs2 ein. Speichere es anschließend ab.
  • Starte das Programm und schließe das Debug Terminal.
  • Starte das Programm MakerPlot mit dem Makro sic_pc_data_monitoring.spm.
  • Stelle die Verbindung her und starte die grafische Auswertung.
  • Setze den LDR dem Tageslicht aus.
  • Stelle das Potentiometer auf ein Tageslicht von 1,0 V ein.
  • Beobachte, was mit der Spannung passiert, wenn auf den LDR ein Schatten fällt?

Schaltskizze

Abb. 4a - Prozesssteuerung Teilschaltung 1 - ADC0831 mit LDR und Potenziometer an P8
Abb. 4b - Prozesssteuerung Teilschaltung 2 - LED an P0

Im Photowiderstand regen Lichtphotonen Elektronen an. Fällt Licht auf die Fotoschicht, steigt der Strom an, der Widerstandswert nimmt ab. In unserem Fall erhöht sich sein Widerstand, wenn wir den Fotowiderstand abschatten.

 

An der unteren Seite des Spannungsteilers (vom Schleifer zu Vss) fällt eine größere Spannung ab. Wenn der Spannungsabfall gegen Masse über die Schwellenspannung steigt, erkennt der Eingang P8 der BASIC Stamp ein HIGH.

Übung 3 – Offener Eingang

Ein nicht beschalteter offener Eingang ist keinem Spannungspotential zugeordnet, er wird als  "schwebend" bezeichnet und von der BASIC Stamp möglicherweise nicht als eindeutiges logisches HIGH oder LOW erkannt.

 

Wird ein Taster zwischen Eingang und Vdd geschaltet, dann bleibt das Potential am Eingang Vin des ADC0831 undefiniert, wenn der Taster nicht gedrückt ist. Wird er gedrückt, liegt am Eingang die Betriebsspannung Vdd.

Übung 3 – Offener Eingang
Material
  • 1x  ADC0831  Analog-Digital-Wandler
  • 1x  Taster (offen)
  • 2x  Widerstand, 220 Ohm
  • 1x  LED rot
  • 1x  Board of Education mit BS2, Steckernetzteil, USB-Verbindungskabel
Aufgaben
  • Baue die Schaltungen nach Schaltskizze auf dem Steckbrett auf.
  • Starte den BASIC Stamp Editor und gib das Programm DataMonitoring.bs2 ein. Speichere es anschließend ab.
  • Starte das Programm und schließe das Debug Terminal.
  • Starte das Programm MakerPlot mit dem Makro sic_pc_data_monitoring.spm.
  • Stelle die Verbindung her und starte die grafische Auswertung.
  • Betrachte die digitalen und analogen Größen.
  • Berühre kurzzeitig die Leitung von R1 auf der Druckknopfseite. Was passiert? (Die Ergebnisse können je nach Bedingungen variieren.)
  • Lade deine Hand statisch auf (durch Reiben auf Wolle, Haar o.ä.) und wiederhole den vorherigen Schritt.
  • Drücke den Taster, während du gleichzeitig eine Elektrode kurz berührst. Was passiert?

Schaltskizze

Abb. 5a - Prozesssteuerung Teilschaltung 1 - ADC0831 mit Taster an P8
Abb. 5b - Prozesssteuerung Teilschaltung 2 - LED an P0

Ein Beispielplot zu Übung 3

 

Abb. 6

Berührt man mit einem Finger die blanken Drähte in der Schaltung, bekommt man die in der Abbildung gezeigten Spikes, die in diesem Beispiel in ihrer Stärke unterhalb von 5 Volt liegen. Sie führen zu Veränderungen am Eingang P8 und werden als Einsen oder HIGH angezeigt.

Wie arbeitet die Schaltung?

 

Wird T1 gedrückt, fließt Strom durch den Schalter. Der Eingang des ADC0831 liegt auf festem Potential (Ubat oder Vdd) und erkennt HIGH. Ist T1 nicht gedrückt, liegt ein nicht definiertes Potential am Eingang des ADC, der Eingang ist offen.

 

Durch Berühren einer Elektrode in der Schaltung erzeugt die statische Elektrizität des eigenen Körpers Spannungsspitzen am Eingang des ADC, die i.d.R. über der Schwellenspannung liegen. Der Digitaleingang wechselt den Zustand.

 

  • Offene Eingänge können zu unregelmäßigen und unerwünschten Zuständen führen.

Stabilisierung des offenen Eingangs

 

  • Füge der Schaltung aus Abb. 5a einen 10 kΩ-Widerstand hinzu (siehe Abb. 7) und teste die Schaltung erneut.
Abb. 7 - Prozesssteuerung Teilschaltung 1 - ADC0831 mit Taster und Pull-Up-Widerstand an P8

Ein Beispielplot zur Schaltung aus Abb. 7

 

 

 

Abb. 8

Bei offenem (nicht gedrücktem) Taster liegt am Eingang von P8 ein LOW. Wird der Taster gedrückt, erkennt P8 ein HIGH. Berührungen der Anschlussdrähte mit bloßer Hand haben keine Auswirkungen auf den Digitaleingang.

Erläuterungen zur Schaltung aus Abb. 7

 

Der Pull-Down-Widerstand R2 zieht bei offenem Taster T1 den Punkt P der Schaltung auf GND (Vss). Der Zustand LOW wird vom ADC angezeigt. Bei geschlossenem Taster T1 liegt P auf Potential Vdd. Durch R2 fließt ein vom Widerstandswert R2 abhängiger Strom I. Seine Größe sollte möglichst gering gehalten werden; Werte zwischen 10 kOhm und 100 kOhm sind üblich.

HINWEIS

Informiere dich bei einem digitalen Baustein immer über das Datenblatt. Unterschiedliche Bausteine haben unterschiedliche Eingangsspannungs- und Stromspezifikationen. Sie können durch statische Elektrizität beschädigt werden, wenn die Eingänge nicht belegt werden.

Einige Bausteine verfügen möglicherweise über interne Pullup-Widerstände, sodass diese nicht zum Eingang hinzugefügt werden müssen. TTL-Geräte nehmen normalerweise einen HIGH-Zustand an, wenn sie nicht angeschlossen sind, aber dies ist insbesondere während des internen Taktens oder Schaltens nicht gewährleistet. Deshalb sollte auch hier gelten: offene Ausgänge vermeiden.

06 14 15

Druckversion Druckversion | Sitemap
© Reinhard Rahner - Gettorf