kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Serielle Datenübertragung per Infrarot

(EN google-translate)

(PL google-translate)

Vom PC sollen Anweisungen an alle in der Nähe befindlichen Mikrocontrollerplattformen geschickt werden können. Dies soll über die serielle Schnittstelle geschehen. Allerdings soll die Übertragung nicht per Kabel sondern über Infrarot erfolgen. Ein geeigneter Baustein ist der TSOP 31230 als Empfänger in Kombination mit Infrarotdioden des Typs LD274-3 als Sender.

Der TSOP 31230 erwartet die seriellen Daten als Infrarotsignale mit einer Wellenlänge von 950nm und aufmoduliert auf einer Trägerfrequenz von 30kHz.

Bauteil Beschreibung Kenndaten
TSOP 31230 Infrarot-Empfänger-Baustein VCC 2,5..5,5Volt; Trägerfrequenz 30kHz; größte Lichtempfindlichkeit bei 950nm.
LD274-3 Infrarot-Sendediode Höchste Intensität bei 950nm; VCC 1,3Volt; 80mW.

Tabelle 0-1: Bauteilbeschreibung.

Anschlußbelegung TSOP 31230.

Bild 0-1: Anschlußbelegung TSOP 31230.

Die Umsetzung erfolgt in mehereren Schritten. Zunächst soll ein Mikrocontroller-Testboard als Sender und ein zweites als Empfänger aufgebaut werden.

Test1 - Verbindung zweier Mikrocontroller bei der die Infrarotverbindung als Schalter wirken soll (ohne serielle Datenübertragung)

Anordnung für alle drei Tests.

Bild 0-2: Anordnung für alle drei Tests.

Übung zu Test1
  • Bauen Sie die Testschaltung auf.
  • Schreiben Sie ein Sendeprogramm für Board1.
  • Schreiben Sie ein Empfangsprogramm für Board2.
  • Prüfen Sie die Funktion als Fernschalter.
  • Bis zu welchem Abstand funktioniert das System?
  • Läßt sich die Rechweite durch Änderungen an den Programmen oder an den Testaufbauten verbessern? Riskieren Sie bei Ihren Versuchen nicht, dass Bauteile zerstört werden (insbesondere die IR-Diode).

Test2 - Übertragung von Daten mit Infrarot

Nun sollen TXD beim Sender und RXD beim Empfänger genutzt werden. Die gesendeten 8-Bit-Werte sollen die Helligkeit der roten LED beim Empfänger einstellen.

Übung zu Test2
  • Erweitern Sie das Sende- und das Empfangsprogramm so, dass Daten seriell übertragen werden.
  • Schreiben Sie das Sendeprogramm so, dass es kontinuierlich steigende und dann sinkende Zahlen sendet.
  • Schreiben Sie das Empfangsprogramm so, dass es die empfangenen Daten als Helligkeitswerte der roten LED interpretiert.
  • Prüfen Sie, welche Baudrate sich realisieren läßt, für die die Datenübertragung per Infrarot noch funktioniert (sie darf nicht zu hoch sein).
  • Auch die Polung der Infrarotdiode kann eine Rolle spielen - warum?
  • Um Teile des Aufbaus besser überprüfen zu können, wird folgendes empfohlen:
  • Lassen Sie die Zahlen nicht von 0..255 laufen, sondern von 65 bis 90.
  • Dies entspricht den ASCII Zeichen A bis Z (grosses Z !!!)
  • Skalieren Sie dann die empfangenen Zeichen auf einen Bereich von 0..255.
  • Prüfen Sie erst die beiden Schaltungen getrennt unter Verwendung von gtkterm.
  • Prüfen Sie dann die Datenübertragung per Draht.
  • Erst wenn die vorhergehenden Tests erfolgreich verlaufen sind, stellen Sie um auf Infrarot.
  • Verwenden Sie zuletzt statt der LED einen Servo.
  • Optimieren Sie die Baudrate und die Schaltungen für einen maximalen Abstand und eine sichere einigermaßen schnelle Datenübertragung, jedoch ohne die Zerstörung der Bauteile, insbesondere der IR-Diode, zu riskieren.
Baudraten:
110
300
2400
4800
9600
19200
38400
57600
115200

Code 0-1: Mögliche Standard-Baudraten.

Test3 - Übertragung von Daten mit Infrarot zwischen PC und Mikrocontroller

Bisher findet die Kommunikation zwischen zwei Mikrocontrollern statt. Nun soll die Sendestation serielle Daten vom PC weiterleiten.

Übung zu Test3
  • Ergänzen Sie die Sendeschaltung so, dass Daten vom PC in RXD geleitet werden und TXD weiterhin auf die IR-Diode geht.
  • Passen Sie das Sendeprogramm entsprechend an.

Da typischerweise die Kommunikation mit dem PC nicht per Terminal sondern automatisiert abläuft soll nun ein Weg gefunden werden, Daten über ein Java-Programm an die Infrarot-Sendestation zu schicken.

  • Schauen Sie sich dazu zunächst die Programme SimpleRead und SimpleWrite im Installationsverzeichnis von javacomm an.
  • Passen Sie das Sendeprogramm so an, dass automatisch Winkelstellungen per Infrarot gesendet werden.