Genau dies wollen wir uns in diesem Kapitel zur Aufgabe machen, wir werden lernen wie wir das ACS-System zum Datenaustausch nutzen können. Dazu benötigen wir ein paar zusätzliche elektronische Bauteile für die PC zu Infrarot Schnittstelle. Der folgende Schaltplan zeigt wie die Bauteile verschalten werden. Es empfiehlt sich den Aufbau auf einer einfachen Lochrasterplatine Rastermass 2,54mm oder einen Steckbrett vorzunehmen.
1x Trimmer PT10 10KOhm
1x TSOP1736 IR-Empfänger
1x 1nF/ min. 10V Kondensator
1x 100µF/ min. 10V Elektrolyte Kondensator
1x 10µF/ min. 10V Elektrolyte Kondenstor
1x 100nF/ min. 10V Kondensator
1x 47Ohm 1/4Watt Widerstand
1x 150Ohm 1/4Watt Widerstand
1x CMOS Schmitt-Trigger CD4093
1x FET 2N7000 oder Vergleichbar
3x IR Diode TSUS520 oder vergleichbar
1x Voltcraft USB Programmer, falls noch nicht vorhanden
1x Lochrasterplatine Pertinax RM 2,54mm mit Kupferaugen
Achtung: Der Aufbaue sollte mit äußerster Sorgfalt durchgeführt werden um eine Beschädigung des PCs oder des USB-Programmers zu vermeiden!
Sollten Sie sich den Aufbau nicht zutrauen, wenden Sie sich am besten an einen befreundetet Elektroniker der dies für Sie übernimmt.
Die Elektronik besteht einmal aus einem Sendezweig und einmal aus einem Empfängerzweig. Der Empfänger ist identisch mit dem auf den Robotersystem PRO-BOT128, auch hier kommt ein TSOP1736 IR-Empfänger zum Einsatz, der das Datensignal an den USB-Voltcraft-Programmer übergibt.
Der Sender ist etwas komplexer als der Empfänger aufgebaut, wie wir ja bereits wissen, muss der Datensignal mit einer Trägerfrequenz von 36 kHz versehen werde. Dies übernimmt der CMOS Baustein CD4093 für uns. Das erste NAND-Gatter ist hier als Oszillator beschalten, mit den Trimmer P1 können wir die Trägerfrequenz leicht variieren und somit den Sender auf maximale Reichweite justieren, für den ersten Test stellen wir den Trimmer in Mittelstellung. Das zweite NAND-Gatter fügt das Trägersignal mit dem Datensignal zusammen, so dass ein digital moduliertes Signal entsteht. Das dritte und vierte Gatter invertiert das Datensignal so, dass es am Empfänger in der richtigen Phasenlage bereitsteht. Da ein CD4093 CMOS-Gatter nur etwa 1 mA Strom liefern kann, muss das Signal aus Gatter drei noch verstärkt werden, diese Aufgabe übernimmt der N-Kanal FET des Typs 2N7000 der hier als einfacher Schalter arbeitet.
Die ganze Schaltung wird über die USB Stromversorung des USB-Programmers versorgt, er kann 100 mA liefern die für unseren Transceiver ausreichen. Verbinden können wir den Programmer mit der Schaltung über eine Stiftleiste 2x2 und einen Raster von 2,54mm. Beim Programmer selber ist in der Auslieferung eine kleine Wanne in der Packung, dies ist das Gegenstück zum Stecker, die Stiftleiste können wir von oben durchstecken, den diese hält die Wanne auf der Platine fest!
Haben wir die Elektronik aufgebaut können wir uns der Software widmen. Dazu finden Sie auf der Buch-CD ein Beispiel mit den Namen „PC-IR-Control" dieser Ordner enthält einmal die Firmware für den Roboter und ein VB.NET Projekt in der die PC-Software enthalten ist. Sollten Sie kein Visual Basic auf Ihren Rechner installiert haben, so können Sie unter Release das fertig kompilierte Programm finden. Grundvoraussetzung ist jedoch, das dass Microsoft Framework 3.5 auf Ihren Rechner vorinstalliert ist! Auf unseren Roboter müssen wir jetzt nur noch die Firmware übertragen und auf der Seite des PCs die PC-Software IR-Control starten.

Die IR-Control Bedienoberfläche
Nach dem Start der PC-Software sollte die Bedienoberfläche wie die Abbildung oberhalb zeit erscheinen. Um sicher zu gehen welchen COM-Port unser Voltcraft USB-Programmer zugeteilt bekommen hat, schauen wir zuvor im Windows Gerätemanager unter Comports nach. Danach wählen wir den richtigen Com-Port in IR-Control Software aus und drücken den Button verbinden.
Wenn wir nun die Software auf den Roboter durch drücken der Reset Taste gestartet haben, können wir die Steuerung Buttons (vorwärts, rückwärts usw.) betätigen. Funktioniert unsere Hardware, so muss sich unser Roboter nun in die gewünschte Richtung bewegen.
Für die ersten Tests, sollten wir die IR-Sensor und Empfänger aufeinander richten und der Abstand sollte nicht größer als 1 m sein! Erst wenn dies funktioniert, können wir den Anstand erhöhen und die Frequenz des Senders mit P1 einstellen.
Tipp: Wer etwas mehr Aufwand betreiben möchte, kann den TSOP des ACS-Systems auf einen anderen freien I/O-Pin legen und den Eingang des zweiten UART Anschlusses (Original ACS) für einen separaten TSOP auf den Experimentierbord nutzen. Dadurch ist das Sichtfeld des IR-Empfängers wesentlich größer!
Info: Da wir den Empfänger des ACS-Systems verwenden, steht uns das ACS-System in seiner ursprünglichen form nicht mehr zur Verfügung!
Die Firmware auf den PRO-BOT128 liest jedes Byte das über die zweite UART-Schnittstelle empfangen wurde in einer eigenen Routine ein und wertet danach die Daten aus.
Die IR-Datenübertragung wird mit folgenden Routinen konfiguriert:
IR_UART_INIT() 'PWM setzen für die Übertragung 36KHz
UART_1_INIT() 'UART Schnittstelle 1 Initialisieren
Der Aufruf der Datenauswertung wird in einer Endlosschleife aufgerufen:
Do While True
UART_INPUT(1) 'UART Schnittstelle 1
End While
Die Datenübertragung wird mit einer Geschwindigkeit von 2400Baud vorgenommen. Das ist jedoch auch schon das Maximum was mit den verwendeten Komponenten möglich ist!
Das ausgesendete Frame (Datenrahmen) setzt sich folgendermaßen zusammen:
Roboter-Adresse <> Kommando 1 <> Kommando 2 <> Kommando 3 <> CRC
CRC ist die Prüfsumme die sich über eine Xor bildung der einzelnen Bytes zusamemnsetzt.
CRC = Roboter-Adresse Xor Kommando 1 Xor Kommando 2 Xor Kommando 3