Projekt 12: Unser Faller-Car-System
a) Fahrzeugen sinnvolle Fahrtrouten zuweisen
Dieser Beitrag hat neben der Hauptseite und dieser Seite vier weitere:
b) Fahrzeuge steuern
c) Fahrzeuge in sicherem Abstand hintereinander her fahren lassen
d) Fahrzeuge selber bauen
e) Fahrzeuge automatisch auf der Anlage nachladen
Wenn Fahrzeuge auf unterschiedlichen Routen fahren sollen, könnte man die Weichen im Fahrweg zufällig hin-
und herschalten. Das ergäbe zwar immer wieder unterschiedliches Fahren, aber sinnvoll wäre dies nicht.
Unter "sinnvoll" verstehen wir z.B. Buslinien und Bushaltestellen, aber auch unmerkliches Abweisen von
zu langen Fahrzeugen bei Engstellen (oder von Bussen an der Tankstelle).
Dazu müssen wir die Fahrzeuge unterscheiden, also erkennen können.
Diese Erkennung hat vom Prinzip her sehr wenig mit den anderen Aktivitäten für das Faller-Car-System zu
tun und kann somit auch unabhängig davon installiert werden.
Nach verschiedenen Versuchen, z.B. das Codieren über Permanentmagnete in einem bestimmten Raster oder
Barcode-Leser, sind wir zu der betriebssichersten Methode gekommen, einer aktiven Codierung. Diese wird fest in die
Fahrzeuge eingebaut und strahlt ständig zur rechten Seite über eine IR-Diode eine Kennung aus. Diese
enthält neben dem Fahrzeugtyp (1 ... 31) auch eine Kennung, die besagt, daß der Akku nachgeladen werden
muß. Somit wird automatisch der befürchtete höhere Stromverbrauch durch dieses Senden ausgeglichen.
Und - diese Version kann sich in ihrer Information ändern (zumindest beim Akku-leer-Bit), was wir mit den
statischen anderen Codierungen nicht hätten erreichen können. Im Bild sehen Sie so einen Sender
(Größe 16×10mm) in einem Bus und, ganz links, die Sendediode. Sie strahlt normalerweise durch ein
kleines Loch an der Seite der Karosserie.
Die Empfänger-Dioden am Straßenrand (Bild rechts) sind in einem kleinen Messingrohr untergebracht, das
3mm Durchmesser hat und etwa 10mm aus dem Boden ragt. Oben seitlich ist ein Fenster für die IR-Diode
eingearbeitet. Der Anschluß erfolgt durch ein Koax-Kabel (grün), das durch einen Schrumpfschlauch
befestigt ist. Dieser besitzt bei uns einen Innenkleber, da der Mantel unseres Kabels aus Teflon ist und sonst
hätte herausrutschen können. Das Röhrchen wollen wir durch unterschiedliche Gegenstände
kaschieren, vom Kinderwagen bis zur Mülltonne. Die Empfangs-Elektroniken entsprechen in ihrer
Funktionalität genau denen, die wir in den Fahrzeugen bei der Infrarotsteuerung verwenden wollen und die auch
schon gut funktionieren. Die Telegramme, mit denen die Daten aus dem Fahrzeug übertragen werden, entsprechen im
Aufbau denen der Infrarotsteuerung, sind aber im Inhalt grundsätzlich anders, so daß ein versehentlich von
einer Infrarotsteuerung empfangenes Fahrzeug-Erkennungs-Telegrann dort zu keiner Fehlfunktion führen kann und
umgekehrt.
Die Auswertung der Fahrzeug-Information muß kurz vor jeder Weiche eingebaut werden und hat (zunächst
jedenfalls!!) nur das Ergebnis "Weiche nach rechts" oder "Weiche nach links", s. die
Beschreibung des Bitmusters weiter unten.
Damit reduziert sich das seinerzeit in Projekt 8 angesprochene Blocksystem auf "autarke Inseln", zwischen
denen die Fahrzeuge ungehindert fahren können. Damit ist für uns das Projekt 8 gestorben.
Wir wollen die Auswerte-Elektroniken in großer Zahl (maximal 63 verschiedene) einsetzen. Da bietet es sich an,
diese gleichartig aufzubauen, auch aus Gründen der Ersatzteilhaltung. Da prinzipiell jede Weiche anders ist,
also auch anders auf einen bestimmten Fahrzeug-Typ reagieren muß, muß der Elektronik vor Einbau in die
Anlage gesagt werden, zu welcher Weiche sie gehören soll. Steckbrücken auf der Platine würden zu einem
enormen Platzverbrauch führen. Dies wurde verworfen. Auch wurde die Idee, Codierschalter
("Mäuseklaviere") einzubauen, fallengelassen, da diese nur ein einziges Mal beim Start eingelesen
werden müssen und dann nie wieder. Und - sie verbrauchen immens viele Eingänge bei dem Steuerungs-Prozessor
(PIC16F690), die viel besser benutzt werden könnten.
Die hier beschriebenen Platinen heißen bei uns Weichendecoder (WD).
Aus dieser Problematik heraus wurde eine Software-Lösung entworfen, bei der Codierschalter einmalig auf die
Platine aufgesteckt werden. (Das funktioniert auch auf dem Schreibtisch!) Der PIC erkennt beim Start, ob diese
Schalter gesteckt sind, liest sie aus und merkt sich ihre Stellung. Falls er beim (nächsten) Start keine
gesteckten Schalter bemerkt (das ist der Normalfall), greift er auf die gemerkten Werte zurück. Ab diesem
Zeitpunkt werden die jetzt eingesparten Eingänge anderweitig und damit sinnvoller verwendet. In dem PIC stecken
63 verschiedene Auswerte-Programme. Eines von denen wird durch die Codierung ausgewählt und übernimmt die
Steuerung. Alle anderen 62 Programme werden nicht benutzt. Somit ist auch auf der Programm-Ebene nur eine einzige
Reserve vonnöten. Bei Änderung eines Programms wird dieses in den betroffenen PIC gebrannt und in den
Reserve-PIC. Alle anderen Weichendecoder laufen mit "ihrem" anderen Programm. Sollte ein WD ausgetauscht werden
müssen, wird nach Reparatur dieser zur Reserve und erhält dabei automatisch das neueste Programm.
Im Laufe der immer weiter schreitenden Programmierung haben wir festgestellt, daß der 16F690 mit seiner
Speicherkapazität nicht ausreicht. Wir sind daher zu dem inzwischen preiswerteren PIC16F1829 umgestiegen, der
doppelt so viel Speicherplatz beinhaltet. Sollte auch dieser nicht ausreichen, könnten wir uns auch zwei
verschiedene Auswerte-Systeme für je 32 Weichen vorstellen. Auf der Anlage haben wir zwei voneinander
räumlich getrennte (aber zusammenhängend befahrbare) Bereiche, Landbahnhof und Stadt, für die wir
dann zwei unterschiedlich programmierte PICs bevorraten müßten. Aber auch das ist machbar.
Warum das alles?
Wir haben zur Organisation des Fahrverkehrs nichts Anderes als diese Auswerte-Elektroniken. Wir wollen sie auch zur
Vorfahrt-Steuerung bei Kreuzungen usw. einsetzen; auch um kurzfristiges Halten an Tankstellen und Busbahnhöfen
zu ermöglichen. Daher wurde auf jede Elektronik-Platine zusätzlich eine aufwendige Logik (Software) gebaut,
die mit anderen Elektroniken kommunizieren kann.
Jede Elektronik erhält frei verfügbare 9 Aus- und 6 Eingänge. Mit diesen schaltet sie Weichen und
Stopstellen, kommuniziert aber auch mit benachbarten Logiken. Wir haben mit Absicht diesen etwas umständlichen
Weg gewählt, da er für Nicht-Programmierer besser verständlich ist.
Durch die o.g. Codierung wird auch die zu der gewählten Weiche zugehörige Logik angesprochen.
Dabei ist noch das Einfachste die Weichenposition. Jede der 64 möglichen Weichen erhält in der Software
ein Bitmuster für unsere 32 Fahrzeug-Typen, wobei eine "1" für "nach rechts" steht;
zusätzlich noch Bits für generelle Sachen, die für alle Autos gelten, wie "Akku leer" oder
"Betriebsende". Hierbei sollen alle Autos an einen bestimmten Punkt auf der Anlage geführt werden,
wo sie abgesammelt (bzw. geladen) werden können.
Die Zuordnung von 64 Weichen zu 32 Fahrzeugen ergibt einen Codier-Umfang von 2048 Verknüpfungen, die
Sonderregelungen nicht mitgerechnet. Dieser ist nur durch Einführung eines Bitmusters beherrschbar. Dieses
wird einmalig bei der Konzeptionierung der Fahrstraßen erstellt und dann (hoffentlich) nie wieder
geändert.
Der Sender der Fahrzeugerkennung
Der Sender der Fahrzeugerkennung ist eine recht kleine Platine, die in jedes Fahrzeug paßt. Den Einbauort
haben wir schon weiter oben beschrieben.
Die Platine enthält zwei Baugruppen: eine
Stufe, die eine geregelte und von der Akkuspannung unabhängige Spannung
von 3,3 Volt erzeugt, und einen kleinen PIC, der laufend die Akkuspannung mißt und das Ergebnis zusammen mit
der Fahrzeugkennung in ein Telegramm wandelt und abstrahlt. Auf der linken Seite der Platine (Bild rechts) ist die
Spannungserzeugung (mit TPS61221) plaziert, rechts der PIC (12F222). Er vergleicht die Akku-Spannung mit der
3,3-V-Spannung und erkennt somit eine Unterspannung des Akkus. Die Programme sind leicht unterschiedlich: es
muß der Fahrzeug-Code eingebrannt werden. Aus diesem wird intern automatisch abgeleitet, ob das Fahrzeug mit
2,4 Volt läuft oder ein "Einzeller" ist. Wir haben es uns einfach gemacht: Alle Fahrzeugtypen von 24 bis 31
sind Einzeller.
Der Empfänger der Fahrzeugerkennung
Der Empfänger sitzt auf einer recht große Platine, die sehr viele Steckverbindungen halten muß. In
der Mitte der PIC mit 20 Beinchen, links davon das IC des Empfänger-Vorverstärkers für die
Infrarot-Signale. Darunter befinden sich 2 Stecker für die Empfangsdiode und einen Reed-Kontakt; weiter darunter
(stehend) ein Anschluß zum Testen, rechts daneben der oben schon besprochene Stecker für die
Codier-Schalter (s. Bild weiter oben). Ganz in der Mitte sitzt eine grüne LED, die den Empfang eines
gültigen Telegramms anzeigt. Ganz ehrlich gesagt: bei der Fehlersuche ist sie das wichtigste Bauelement auf der
Platine.
Der Vorverstärker besteht aus einem Doppel-OP (MCP6002), dessen erste Stufe als
Transimpedanzverstärker
geschaltet ist; ein großer Name für 3 Bauelemente. Die zweite Stufe ist nicht gegengekoppelt,
funktioniert daher fast wie ein Schmitt-Trigger. An deren Ausgang ist direkt der PIC angeschaltet. Mit dem
Spannungsteiler am "-" - Eingang der 2. Stufe wird die Schaltschwelle eingestellt.
Leider passen auf eine Euro-Karte gerade eben nicht 4 Platinen, so daß der Rohling ein leichtes
Übermaß haben (175 x 125 mm) muß. Als Operationsverstärker sollte es schon der MCP6002 sein.
Bei anderen Typen, die nicht
Eingänge "rail-to-rail"
haben, funktioniert die Schaltung nicht.
Die 4 Stecker oben rechts sind Durchschleifungen für 2 Weichenantriebe. Sie beinhalten automatisch auch die
Stromversorgung. Die 3 Stecker weiter unten sind 5 Ausgänge und 6 Eingänge. Sie sind frei benutzbar, je
nach aktivem Programm.
Der Einbau auf der Straße
Das Auto mit der Sendediode fährt an der Empfangsdiode vorbei. Dabei entstehen mit Sicherheit verstümmelte
Telegramme bei Beginn oder Ende der Vorbeifahrt. Um sicher zu gehen, daß immer ein vollständiges
Telegramm ausgewertet wird, wurde festgelegt, daß in die Straße unter den Fahrdraht ein
Reed-Kontakt
eingebaut wird, der vom Schleifer des Fahrzeuges betätigt wird. Diese Anordnung wird so neben der
Empfangs-Fotodiode positioniert, daß das zur Zeit der Betätigung empfangene Telegramm vollständig
ist. Ist dies nicht der Fall, weil etwas defekt ist oder weil das Auto noch keinen Sender besitzt, so wird im
Empfänger der Fz-Typ "0" generiert, zu dem ebenfalls ein Auswerte-Programm existiert. Somit ist das
System kompatibel zu noch nicht umgerüsteten Fahrzeugen.
Was uns die Möglichkeit schafft, ohne Streß einen Mischbetrieb zu fahren.
Und - das System ist auch stabil gegenüber plausiblen Telegrammen, die "irgendwoher" kommen, ohne
daß tatsächlich ein Auto vorbeifährt.
Probleme
Die gibt es mit Kleinstfahrzeugen, wie z.B. dem Bulli. Wegen seines geringen Gewichtes besitzt er einen nur
sehr schwachen Führungsmagneten. Bei dem ist die Betätigung des Reed-Kontaktes unsicher. Baut man nun einen
stärkeren Magneten ein, so "krallt sich der derart am Führungdraht fest", daß der Wagen mit
seinen Hinterrädern "strampelt" und nicht vorwärts kommt. Also keine gute Idee. Wir haben am
Boden kurz vor der Hinterachse mittig einen weiteren, relativ starken Magneten angebracht, der den Reed-Kontakt
verspätet, aber sicher betätigt. Vorteil 1: er bremst nicht. Vorteil 2: Er zieht (wegen des Fahrdrahtes)
den Wagen (theoretisch: ganz leicht) auf die Straße, was für einen besseren Vortrieb sorgt. Der Magnet
hat die Größe Ø3x2mm, Werkstoff Neodym N52. Auf dem Bild sehen Sie den Magneten genau zwischen dem
weißen Fleck und dem Zahnrad.
ganz zum Anfang
Für weitere Fragen stehen gern zur Verfügung:
- der MEC; Besichtigung und Fachsimpelei z.B. an unseren "Club-Abenden"
- der Autor: Hans Peter Kastner
Version vom: 22.09.2021; erstellt am: 21.04.2020
Copyright © 2020 - 2021 by Modelleisenbahnclub Castrop-Rauxel 1987 e.V.