Technische Daten

Eine Leistungselektronik zeichnet sich durch die folgenden Eigenschaften und Fähigkeiten aus.

  • Signale
    • An jeder Platine können bis zu vier Signale mit je drei Leuchtdioden (rot, gelb, grün) betrieben werden, die Leuchtdioden lassen sich einzeln schalten.
    • Der Signalanschluß enthält zusätzlich eine Stromversorgung von 12 Volt, so daß sich auch komplexere Aktoren anschließen lassen. Deren Aktionen können über einen drei Bit breiten Eingangswert gesteuert werden (siehe Grundschaltung bei der Pinbelegung.
  • Kontakte
    • Die Leistungselektronik verfügt über Eingänge für vier Kontaktpaare, die mit hohem Aufwand gegen Störungen und Doppelauslösungen abgesichert sind.
    • Die Firmware erkennt an der Auslösereihenfolge, wie herum der Zug den Kontakt überquert und faßt so beide Reedkontakte zu einem redundanten Sensor zusammen.
    • Das System erkennt und toleriert einzelne nicht funktionierende Reedkontakte. Die Fehlerquelle wird protokolliert, der Kontakt als ganzes löst trotzdem aus, allerdings mit Verzögerung und ohne eine Richtung zu erkennen.
    • Auch dieser Stecker enthält eine Stromversorgung von 12 Volt, die den Anschluß beliebiger Sensoren erlaubt. Sie müssen lediglich die für einen Kontakt typischen Auslösesequenzen erzeugen. Ein Beispiel für so eine Schaltung ist die Ansteuerung der Lichtschranken.
  • Gleistreiber
    • Zwei Gleistreiber können je einen Gleisabschnitt mit Fahrstrom versorgen und so Züge fahren lassen. Für jeden Ausgang kann ein Modus (aus, vorwärts, rückwärts und bremsen) sowie das PWM-Tastverhältnis in 128 Stufen vorgegeben werden.
    • Das Bremsen unterscheidet sich vom Abschalten des Motortreibers darin, daß der Zug aktiv gebremst wird und nicht nur ausrollt. Die Intensität des Bremsens kann ebenfalls über das PWM-Tastverhältnis beeinflußt werden.
    • Eine Überlastsicherung schaltet einen oder beide Gleistreiber ab, sobald die Gleise kurzgeschlossen sind oder aus anderen Gründen ein zu hoher Strom fließt. Dabei werden kurze Stromspitzen ignoriert, wie sie beim Einschalten eines Verbrauchers auftreten. Nach rund 2,5 Sekunden wird das Gleis automatisch reaktiviert, zusätzlich werden die Kurzschlüsse protokolliert.
    • Eine aktive Sensorschaltung an beiden Gleistreibern kann feststellen, ob sich gerade ein Triebwagen auf dem Gleis befindet und wie schnell dieser gegebenenfalls fährt. Die Messungen finden bei abgeschaltetem Gleistreiber einmal pro Sekunde statt, während der Fahrt alle 0,2 Sekunden. Die Belegung von Gleisen wird mit einem aktiven Impuls gemessen, der bei stehenden Zügen als Ticken zu hören ist.
    • Mit Hilfe dieser Messung kann der Mikrocontroller die PWM eigenständig so regeln, daß ein Zug eine vorgegebene Geschwindigkeit hält. Diese ist dann unabhängig von der Steigung der Strecke, der Anzahl der Waggons und ähnlichen Faktoren.
    • Die Gleistreiber werden aus Sicherheitsgründen deaktiviert, wenn keine Verbindung zu einem Steuerrechner besteht. Dies betrifft ebenfalls die Sensoren an den Gleisen.
  • Weichentreiber
    • Dieser Ausgangstreiber kann insgesamt vier Weichen schalten. Die Anschlüsse sind genauso für Verbraucher geeignet, die höhere Ströme benötigen und nicht empfindlich für Störungen in der Versorgungsspannung sind. Dazu gehören neben den Lampen auch die Schranken und die Glocke des Bahnüberganges.
    • Weichenantriebe sollten mit einem Filter versehen werden, damit die Störungen und Spannungsspitzen sich nicht zu weit ausbreiten können.
    • Die Firmware sequentialisiert die Schaltvorgänge, so daß niemals zwei Antriebe genau gleichzeitig umschalten. Dadurch wird die Spitzenlast für die Netzteile begrenzt.
  • Serielle Schnittstellen
    • An die vier seriellen Schnittstellen der Platine können entsprechend viele Rechner angeschlossen werden. Zwei können direkt mit den Buchsen der Platine verbunden werden, für die übrigen wird ein Adapterkabel benötigt.
    • Die Firmware sucht nach dem Start alle Eingänge nach Aktivität ab. Mit dem ersten gültigen Befehl verbindet sie sich fest mit dem sendenden Rechner, bis dieser die Verbindung trennt oder 0,2 Sekunden lang keinen gültigen Befehl sendet.
    • Die Kommunikation basiert auf einem Request/Reply-Protokoll, der Steuerrechner sendet ein Befehlspaket und bekommt ein entsprechendes Antwortpaket zurück. Die Verarbeitung in der Firmware dauert maximal so lange wie die Übertragung eines einzelnen Bytes über die serielle Schnittstelle benötigen würde.
    • Solange die Firmware mit einem Rechner verbunden ist, nimmt sie nur Befehle von diesem entgegen und ignoriert die anderen Eingänge. Die Antwortpakete werden im Normalfall nur über die gerade aktive Verbindung zurückgeschickt. Über Jumper kann dies geändert werden, so daß die Antworten synchron an mehrere Schnittstellen geschickt werden. Diese Möglichkeit ist für den Betrieb redundanter Steuerrechner wichtig, die ständig gleiche Sensordaten bekommen sollen.
    • Die Datenübertragung erfolgt mit 19200 Baud, 8 Datenbits, einem Stopbit und ohne Paritätsprüfung. Für den Anschluß reichen normale serielle Verlängerungskabel aus, es werden nur die Leitungen RXD, TXD und GND benötigt.
    • Die Firmware unterstützt Vollduplex- und Halbduplex-Kommunikation.
  • Fehlerprotokoll
    • Im EEPROM des Mikrocontrollers sind Fehlerzähler gespeichert, die bei Problemen inkrementiert werden. Ein Diagnoseprogramm kann diese auslesen und so bei der Untersuchung aufgetretener Probleme helfen. Die Werte bleiben gespeichert, bis sie durch einen entsprechenden Befehl auf Null zurückgesetzt werden.
    • Protokolliert werden unbeabsichtigte Resets des Mikrocontrollers, Kurzschlüsse der Gleise sowie nicht auslösende Reedkontakte.
  • Integrierte Anzeige
    • Die auf der Platine integrierte 7-Segment-Anzeige gibt laufend Informationen über den Systemstatus aus. Wenn eine serielle Verbindung besteht, zeigt sie die Nummer der Schnittstelle an (0 bis 3). Bei Kurzschlüssen auf den Gleisen erscheint stattdessen ein schnell blinkendes E.
  • ICSP-Schnittstelle
    • Über diesen Anschluß kann die Firmware jederzeit aktualisiert werden. Details zur Schnittstelle und dem dazugehörigen Programmiergerät finden sich in der Studienarbeit von Stephan Höhrmann.
  • Stromversorgung
    • Die Platine wird normalerweise von drei Netzteilen mit 12 Volt versorgt. Eines ist für die Weichenausgänge reserviert und von den übrigen galvanisch getrennt, damit Störungen sich nicht in andere Teile der Schaltung ausbreiten können.
    • Die zweite Quelle liefert den Fahrstrom für die Züge und versorgt die Gleistreiber.
    • Alle übrigen Komponenten wie die Signale, Kontakte und die Schaltungen auf der Platine selbst werden aus der dritten Spannungsquelle gespeist. Ihre Masse ist intern mit der Masse des Fahrstromes verbunden.
    • Die Netzteile werden über einem Stecker am Platinenrand angeschlossen, die Eingänge sind jeweils mit Verpolschutzdioden gesichert.
    • Für den Betrieb der Anlage reichen Netzteile mit je 10 Ampere vollkommen aus.
  • Testausgang
    • An einem kleinen Stecker am Platinenrand kann eine konstante Gleichspannung von etwa 12 Volt für beliebige Aufgaben entnommen werden.

Dieses Kapitel beschreibt die Funktionen und ihre Steuerung durch die Firmware. Dabei wird an einigen Stellen deutlich, daß das System sehr fehlertolerant entworfen wurde und einige Sicherheitsfunktionen aufweist, die sich im Nachhinein als unnötig herausgestellt haben. Sehr detaillierte Kommentare zu den Algorithmen befinden sich auch im Quellcode der Firmware.