Slotbaer / Slotbaer Projekte (Digital) / D132 & D124 / Luftikus

Die nachfolgende Beschreibung wurde mit grösster Sorgfalt erstellt. Trotzdem erfolgt der Nachbau auf eigene Gefahr und wir übernehmen weder Verantwortung noch Haftung für eventuell entstehende Schäden jedweder Art.

Worum geht's ?

Juni 2009. Eine drahtlose Verbindung zwischen einem Gerät mit serieller Schnittstelle, wie dem Carrera Rundenzähler 30346, und einem Rechner.

Inzwischen haben Microcontroller Einzug in die Slotcartechnik gehalten. 1 allem in eigenständigen Rundenzählern oder Steuergeräten jeder Art finden sie Verwendung. Die gebraüchlichste und billigste Art mit- und zwischen Microcontrollern zu kommunizieren ist die serielle Schnittstelle.

Es gibt verschiedene Spielarten. Die altbekannte einfache RS232 Schnittstelle, SPI, TWI bzw. I2C um nur einige zu nennen.

Zur Kommunikation mit einem Rechner wird bei Slotcarsystemen so gut wie immer eine asynchrone Kommunikation (wie von RS232 bekannt) verwendet. Aber häufig nicht mit den RS232 entspechenden Spannungspegeln, sondern mit TTL kompatiblen Pegeln.

Die Rechner heutzutage haben allerdings keine passende Schnittstelle eingebaut. Deshalb muss man eine Verbindung über den Umweg eines Converters herstellen. Im Artikel über den Anschluss eines Rundenzählers an einen Mac und im ELWMSD Artikel wurde ein TTL kompatibler USB-Seriell Konverter verwendet und auch bei Carreras PC-Unit handelt es sich um einen solchen.

Aber die Zeit schreitet voran und kabellose Verbindungen werden erschwinglich und es stellt sich die Frage ob man die Kabel und Konverter nicht durch etwas moderneres und weniger Stolper produzierendes ersetzen kann.

Nun besteht die Möglichkeit einer eigenen Konstruktion, mit all dem damit verbundenen Aufwand an Hard- und Software Entwicklung.

Oder aber man versucht Bestehendes zu verwenden. Und siehe da Bluetooth, eine drahtlose Technologie über die viele Rechner von Hause aus verfügen oder die für kleines Geld (weniger als 10 €) nachgerüstet werden kann, bietet eine Lösung.

In der nachfolgenden Beschreibung beziehe ich mich auf einen Carrera Rundenzähler 30346, aber die Beschreibung ist ganz einfach auf andere Geräte mit serieller Schnittstelle übertragbar. Es ist nur darauf zu achten ob die Schnittstelle mit TTL oder RS232 Pegeln arbeitet. Der nachfolgende Artikel beschäftigt sich mit der TTL kompatiblen Variante.

Der Stecker oben links an der Seitedes Rz hat nichts mit der Sache zu tun. Ich kann an diesem Stecker die Signale der Lichtschranken des Rz abgreifen bzw. verändern. Dadurch muss ich ihn bei Tests nicht jedesmal aufschrauben.

!!!!!!!! Wichtig !!!!!!!

Als ich die Test am Mac beendet hatte, ging ich davon aus, dass es unter Windows ähnlich einfach funktionieren würde.

Die Verbindung zwischen Modul und Rechner lässt sich unter Windows ebenso leicht herstellen, aber XLap und D132 RMS funktionieren in der jetzigen Form bei meinen Tests nicht. Das liegt daran, dass der Treiber einen Moment braucht bis er die Verbindung zum Modul herstellt. Noch bevor die Verbindung steht, fragt die Software nach Daten, die aber natürlich nicht zur Verfügung stehen, weil die Verbindung noch nicht hergestellt ist.

Das liese sich softwaretechnisch einfach ändern und ich nehme an, dass Bruce, dass auf Anfrage auch schnell ändert. Von Carrera erwarte ich allerdings keine Unterstützung, dazu ist die Anwendung zu exotisch. Das ist keine Klage oder so, nur eine Tatsache.

Software

Wir beschäftigen uns, wie schon gesagt, hier mit Systemen, die eine serielle Schnitttelle zur Kommunikation zwischen Rechner und z.B. Rundenzähler verwenden. Der Carrera Rundenzähler 30346 mit iLap, XLap und D13 RMS sind typische Vertreter dieser Art.

iLap, XLap und D13 RMS testen die seriellen Schnittstellen, die ihnen das System anbietet, darauf ob eine passende Hardware angeschlossen ist.

Wie diese Schnittstelle physikalisch aussieht spielt für die Programme keine Rolle, Hauptsache softwareseitig benimmt sie sich wie eine serielle Schnittstelle.

Und das macht z.B. ein USB-Seriell Konverter, aber was uns hier mehr interessiert ist, dass Bluetooth Geräte unterstützt, die sich softwareseitig wie serielle Schnittstellen verhalten.

Die Unterstützung dafür ist Bestandteil von Bluetooth, d.h. hat man auf seinem Rechner Bluetooth zur Verfügung, benötigt man für den Betrieb keine weitere Software.

Hardware

Wie schafft man es nun, dass das Bluetooth Modul im/am Rechner mit dem Rundenzähler spricht ?

Offensichtlich braucht der Rundenzähler ein Bluetooth kompatibles Gegenstück.

Seit kurzer Zeit gibt es Bluetooth Module mit serieller Schnittstelle für unter 13€. Diese Module sind allerdings für einen Betrieb mit 3,3 V ausgelegt. Slotcarsysteme haben in der Regel Pegel von 5 V (TTL) oder bis zu ±15V (RS232).

Also muss eine Anpassung vorgenommen werden. Im Falle der 5 V Variante kommt man mit Bauteilen für weniger als 3 € (ohne Platine ) aus.

Schaltplan

Der Schaltplan zeigt nur einen Stecker SV1. Dort liegen die Signale für das Gerät das über die serielle Schnittstelle verfügt (z.B. Rundenzähler) an. Der Stecker wurde so gewählt, dass man das Kabel vom TTL kompatiblen USB-Seriell Konverter von FTDI direkt aufstecken kann (so wie auch beim ELWMSD). Deshalb hat der Stecker 6 Pins, von denen aber nur 4 werden verwendet.

Die Fets (Q1 und Q2) und die dazugehörigen Widerstände (R1 - R4)sind für die Pegelanpassung zuständig, der Spannungsregler für die Spannungsanpassung, den Rest macht das Bluetooth Modul.

Für den Anschluss an den Carrera Rundnezähler braucht man noch einen 6 poligen Mini Din Stecker. Nicht vergessen, dass Tx und Rx zwischen Mini Din Stecker und Platine gekreuzt werden müssen.

U$2 ist nur ein Kontakt an den die Antenne angeschlossen wird. Bei der Antenne handelt es sich einfach nur um ein 5,5 cm langes Drahtstück.

Modul Konfiguration

Bevor das Modul mit einem der drei Programme zusammenarbeitet muss man es konfigurieren. Dies geschieht über die serielle Schnittstelle des Moduls. Die Konfiguration muss nur einmal erfolgen. Das Modul behält die Einstellungen auch bei, wenn man es abschaltet.

Am einfachsten geht die Konfiguration mit einem seriellen USB TTL Converter (bei einer RS232 kompatiblen Version entsprechend ein handelsüblicher USB-Seriell Konverter).

Man verbindet die USB Seite des Konverters mit dem PC und die "serielle Seite" mit dem Modul.

Nun startet man eine Terminalemulation wie Hyperterm. Dort wählt man die entsprechende serielle Schnittstelle aus und setzt die Parameter für die Schnittstelle auf: 19200 Baud, 8 Bit, 1Stopbit und keine Parität .

Schreibt man nun etwas in dem Programm, so erscheinen die Buchstaben auch im Fenster der Terminalemulation. Das liegt an der Echo Funktion des Moduls. Dummerweise erwarten die Programme, die wir verwenden kein Echo und deshalb muss man die Funktion abschalten.

Dazu gibt man ATE0 ein und schließt die Eingabe mit der Return Taste ab. Das Modul sollte mit OK antworten.

Tippt man nun Buchstaben ein, so sollten sie nicht mehr in der Emulation angezeigt werden.

Gibt man AT gefolgt von der Eingabetaste ein, so sollte AT nicht angezeigt werden, aber ein OK sollte erscheinen.

Das Modul schickt Meldungen über die serielle Schnittstelle, wenn das Modul eine Verbindung über Bluetooth herstellt oder beendet. Die Rundenzählersoftware ist nicht daraufeingestellt solche Meldungen zu verarbeiten. deshalb müssen sie Abgeschaltet werden. Dies geschieht durch Eingabe von ATQ1 gefolgt von der Eingabetaste.

Damit ist die Konfiguration des Moduls abgeschlossen.

Es gibt zwar noch weitere Konfigurationsmöglichkeiten, aber die anderem Parameter des Moduls sind schon so eingestellt, wie wir es benötigen.

Man beendet die Terminalemulation.

Rechner Konfiguration

MenuDer Rechner muss das Modul kennen und wissen welche Möglichkeiten es bietet. Diese "Bekanntmachung" muss nur einmal erfolgen auch wenn Rechner oder Modul abgeschaltet werden, bleibt die Information erhalten.

Das Modul muss mit Spannung versorgt werden. Entweder in dem man es mit dem USB Seriell Konverter oder mit Hilfe des 6 poligen Steckers mit dem Rundenzähler verbindet. Natürlich muss der Rundenzähler eingeschaltet sein, bzw. der Converter auch mit einem Rechner verbunden sein, sonst ist's nichts mit der Spannung.

Ich beschreibe die Konfiguration am Mac. Beim PC verläuft sie sinngemäß.

Unter OS X gibt es oben rechts im Finder das Bluetooth Menü.

 

BluetoothDort wählt man Bluetooth Gerät konfigurieren. Darufhin öffnet sich ein Fenster mit für den Rechner sichtbaren Bluetooth Geräten.

Unser Gerät heisst Serial Adaptor.

Man wählt das Gerät an und klickt auf Fortfahren.

 

Blue2Nach kurzer Zeit erscheint ein neues Fenster mit einer Fehlermeldung.

Das muss so sein, denn der Rechner möchte als Bestätigung vom Modul 4 Nullen gesendet bekommen und das Modul tut ihm den Gefallen nicht.

Einfach auf Code-Optionen ... klicken.

 

BSUnd schon geht's weiter.

Die Option Einen bestimmten Code verwenden anklicken und 1234 als Code eintragen.

Und das Ganze mit OK bestätigen.

Man kehrt daraufhin zu dem Fehlerfenster zurück und klickt dort Fortfahren an.

 

BSNach kurzer Zeit erschent die Zusammenfassung und nach einem letzten Klick auf Beenden hat man es geschafft.

Modul und Rechner sind konfiguriert.

 

Einsatz

Sollte man das Modul noch nicht an den Rundenzähler angeschlossen haben, so macht man das jetzt.

Jedes Mal, wenn man iLap startet, wird das Modul nun wie eine normale serielle Schnittstelle abgefragt und der Rundenzähler arbeitet wie eine stumme Katze schnur(r)los.

Andere Möglichkeiten

Man kann das Modul mit allen Geräten, die eine asynchrone serielle Schnittstelle haben, verwenden. Man muss ggf. Die Parameter der Schnittstelle anpassen. Dies geschieht übet AT Befehle. Der komplette Befehlssatz ist im BTM-222 Datenblatt beschrieben.

RS232 Version

Sollte man das Modul mit einem Gerät verwenden wollen, dass über eine "echte" RS232 Schnittstelle verfügt so braucht man eine andere Anpassung: