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

Fundamentum Propeller SPIN Programmierung

1 - IR-Objekt- und Entfernungserkennung mit NCO- und DUTY-Modus

Richtet man eine Fernbedienung auf ein Fernsehgerät und drückt eine Taste, sendet eine IR-LED Informationen an den IR-Empfänger im Fernsehgerät. Die Blinkrate der LED ist dem Filter im IR-Empfänger des Fernsehgerätes angepasst. Übliche Frequenzen liegen im Bereich (kHz): 36,7; 38; 40 und 56,9.

 

Die Übertragung von Information erfolgt durch Modulation des IR-Signals.

 

Dieses Frequenz- und Filtersystem wird verwendet, um IR-Fernnachrichten vom Umgebungs-IR wie Sonnenlicht und dem 120-Hz-Signal der hausinternen Beleuchtung zu unterscheiden. Die von Fernbedienungen verwendete IR-Wellenlänge liegt typischerweise im Bereich von 800 nm bis 940 nm.

 

Eine IR-LED und der Empfänger lassen sich auch zur Objekterkennung einsetzen. Dazu müssen IR-LED und IR-Empfänger so zueinander platziert werden, dass das Licht der IR-LED von einem Objekt reflektiert wird und zum IR-Empfänger zurückkehrt.

 

Die IR-LED muss ihr Licht auf die Durchgangsfrequenz des IR-Empfängers modulieren. Wenn das Licht der IR-LED von einem Objekt reflektiert wird und zum IR-Empfänger zurückkehrt, sendet der Empfänger ein Signal, das anzeigt, dass er das IR-Signal empfängt. Wird der IR-Strahl nicht reflektiert, sendet er die Information, dass er kein Reflexionssignal empfängt.

Der in der folgenden Übung verwendete IR-Empfänger verfügt über einen 38-kHz-Filter. Das Zählermodul eines Propeller-Chip-Kerns kann verwendet werden, um das 38-kHz-Signal für die IR-LED zu erzeugen, das entweder zur Erkennung von Objekten oder zur Steuerung von Komponenten des Unterhaltungssystems gesendet wird.

 

In diesem Abschnitt wird lediglich die Objekterkennung besprochen. Für die Ferndecodierung und die Steuerung von Komponenten des Unterhaltungssystems gelten jedoch dieselben Prinzipien.

Übung 1 – IR Objekterkennung - Teil 1

Übung 1 - IR Objekterkennung - Teil 1
Aufgaben
  • Baue die Schaltung nach Abb. 1 auf.
  • Übertrage das Programm IRObjekterkennung.spin in den Propeller Tool Editor und speichere es ab.
  • Starte das Programm und überprüfe, ob der Empfänger auf IR-Licht reagiert. "Beleuchte" dazu mit der LED den Empfänger.
  • Stelle anschließend verschiedene Gegenstände zwischen IR Sender und Empfänger (Metallplatte, Stanniolpapier, Papier, Taschenbuch etc.) und überprüfe, ob die Schaltung ein Signal empfängt.
  • Ändere die Position der IR-LED zum Empfänger und finde heraus, wie weit man von der direkten Strahlrichtung abweichen kann und trotzdem noch einen Empfang registriert.
  • Wie müsste der Versuchsaufbau gestaltet werden um ein Signal zu empfangen, wenn man mit einer IR-LED in die zum IR-Empfängermodul entgegengesetzte Richtung blinkt?
Material
  • 1x  Propeller Flip oder Prop-BoE, Prop-AB.
  • 2x  Steckbrett (nur für Prop Flip, sonst genügt ein Steckbrett)
  • 1x  Widerstand, 1 kOhm
  • 1x  Widerstand, 10 kOhm
  • div. Steckdraht

Versuchsaufbau

Abb. 1 - Propeller Flip mit IR-LED und IR-Empfängerteil.

IR-LED-Baugruppe

Abb. 2 - IR-LED Baugruppe

Abb. 2 zeigt, wie die IR-LED zur Objekterkennung zusammengebaut werden muss. Stecke in einem ersten Schritt die LED in den Abstandshalter und raste anschließend den Lichtschutz in den Abstandshalter.

IR-Empfängermodule

Die am Markt erhältlichen IR-Empfängermodule unterscheiden sich im Wesentlichen nur in den IR-Filtern. Handelsüblich sind die Frequenzen: 30 kHz, 33 kHz, 36 kHz, 38 kHz, 40 kHz und 56 kHz.

 

 

 

Abb. 2a

Drei unterschiedliche IR-Empfänger-Module. Nur das mittlere Modul (TSOP) ist für 30 kHz, die beiden anderen für 38 kHz ausgelegt. Die Bedeutung der nummerierten Elektroden:

1 SIG, 2 GND, 3 Vcc

Schaltungsaufbau

Eine Steckbrettanordnung, die für die IR-LED und den Empfänger gut funktioniert, zeigen die Abb. 3 und 4.

 

 

Abb. 3

Schaltungsaufbau der IR-Empfängerschaltung auf dem Steckbrett eines Propeller-AB.

 

 

 

Abb. 4

Die IR-LED mit Vorwiderstand R = 1 kOhm ist aus experimentellen Gründen auf einem separaten Steckbrett untergebracht.

Das Programm IR-Objekterkennung.spin

Das hier wiedergegebene Programm ist für die Anschlussbelegung auf einem Propeller Activity Board/ Board of Education ausgelegt. Wird ein Propeller Flip benutzt, müssen die Anschlussdaten in den Zeilen 20, 21, 26, 28, 29 entsprechend geändert werden.

IR-Objekterkennung mit NCO

Das Objekt IR-Objekterkennung richtet das 38-kHz-Signal im NCO-Modus ein. Immer wenn der an die IR-LED angeschlossene I/O-Pin auf Ausgang gesetzt ist (Zeile 26), sendet er ein mit 38-kHz moduliertes Lichtsignal (siehe Abb. 5a) über einen Zeitraum von 1 ms aus.

Anschließend wird mit ina [5] der Pinzustand an P5 in der Variablen status gespeichert und auf dem seriellen Parallax-Terminal angezeigt (siehe Abb. 5b).

 

Abb. 5a

Die IR-LED sendet ein 38 kHz Signal für 1 ms.

Terminalanzeige

 

 

 

Abb. 5b

Wird ein Objekt erkannt (der IR-Empfänger hat ein moduliertes IR-Signal empfangen), liegt an P9  LOW; wird kein moduliertes IR-Signal empfangen, liegt P9 auf HIGH.

Übung 2 – IR Objekterkennung und Abstandsmessung - Teil 2

Bei größerer Intensität einer IR-LED ist die Reichweite des Detektors größer, gegenüber einer mit geringerer Intensität. Erinnern wir uns, die Intensität einer LED kann mit Hilfe des DUTY-Modus eines Zählermoduls von gering bis hoch gesteuert werden (siehe Zählermodule 2 - Übung 4).

 

Dieser Ansatz kann zusammen mit dem NCO-Signal aus dem IR-Objekterkennungsbeispiel (siehe weiter oben bei Übung 1) kombiniert werden.

Die IR-LED blinkt mit 38 kHz und wechselt ihre Intensität von dunkel (Stufe 0) nach hell (Stufe 512). Mit jeder Erhöhung der Helligkeit überprüft der IR-Detektor, ob er ein Rücklauf-Signal empfängt. In dem Moment, wo das der Fall ist, ist der Quotient aus Helligkeitsstufe n zu maximaler Helligkeit 512 ein Maß für die Entfernung des Gegenstands vom IR-Modul.

Übung 2 - IR Objekterkennung und Abstandsmessung - Teil 2
Aufgaben
  • Baue die Schaltung nach Abb. 1 auf. Verbinde die Kathode der IR-Diode nicht mit GND sondern mit P5.
  • Übertrage die Programme rr_IRDetektor.spin und IRAbstandmessung.spin in den Propeller Tool Editor und speichere sie ab.
  • Starte das Programm und überprüfe, ob in der Terminalanzeige eine relative Entfernungsangabe durch eine Bruchzahl ausgegeben wird.
  • Stelle anschließend verschiedene Gegenstände in gleichem Abstand vor das IR Sender-Empfängermodul (Metallplatte, Stanniolpapier, Papier, Taschenbuch etc.) und notiere den gemessenen Wert.
  • Ändere den Abstand der Gegenstände zum IR-Messmodul und führe weitere Abstandsmessungen durch.
Material
  • 1x  Propeller Flip oder Prop-BoE, Prop-AB.
  • 2x  Steckbrett (nur für Prop Flip, sonst genügt ein Steckbrett)
  • 1x  Widerstand, 1 kOhm
  • 1x  Widerstand, 10 kOhm
  • div. Steckdraht

Das Programm rr_IRDetektor.spin

Wie arbeitet das Programm rr_IRDetector.spin

Programmzeilen 18 - 21 in rr_IRDetector.spin

Das Objekt rr_IRDetector.spin ist für die Entfernungsbestimmung verantwortlich. Das übergeordnete Objekt IRAbstandsmessung ruft die init-Methode auf, mit der festgelegt wird, welche Pins mit den Elektroden des IR-Moduls verbunden sind.

Die Distanzmethode verwendet den Duty-Sweep-Ansatz und die Pin-Nummern, die an die Init-Methode übergeben wurden, um den Abstand eines Gegenstandes oder Objektes zu bestimmen.

 

Programmzeilen 23 - 25 in rr_IRDetector.spin

Die Distanzmethode des rr_IrDetector-Objekts verwendet das SquareWave-Objekt, das aus der Bibliothek des Propeller Tools geladen wird; es legt unter Verwendung des Zählers B ein 38-kHz-Signal an die IR-LED-Schaltung.

 

Programmzeilen 27 - 37 in rr_IRDetector.spin

Anschließend konfiguriert sie Zähler A auf den Single-Ended-DUTY-Modus und initialisiert frqa und phsa auf 0 (siehe Programmzeilen 27 - 32).

In der Wiederholungsschleife wird die Intensität der IR-LED von 0/512 auf 511/512 kontinuierlich erhöht. Mit jedem Iterationsschritt steigt die Spannung an der Kathode der IR-LED-Schaltung an, wodurch die IR-LED weniger hell und der IR-Detektor kurzsichtiger wird. Die Variable dist speichert, wie oft ein Objekt nicht erkannt worden ist.

Diese Art der Abstandsmessung variiert mit der Beschaffenheit der Oberfläche, die das IR-Licht reflektiert. Wenn die Abstandsmethode beispielsweise 175 zurückgibt, kann der gemessene Abstand für ein weißes Blatt Papier fünfmal höher angezeigt werden, als für ein Blatt aus  schwarzem Vinyl, weil weißes Papier Infrarot besser reflektiert.

Das Programm IRAbstandsmessung.spin

Terminalanzeige

 

 

 

 

Abb. 6

Relative Abstandsmessung mit einem IR-Modul. Angezeigt ist der relative Abstand des Moduls von einer ca. 3 m entfernten Wand. Es gilt: je größer der Bruch, desto größer der Abstand.

wf

Druckversion | Sitemap
© Reinhard Rahner - Gettorf