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.