Modellbahn-Steuerung GROUPIE-MEB-Tron

Funktionsbeschreibung serieller universeller Empfänger für Weichen und Signale mit Mikrocontroller

Bild

Die Weiterentwicklung der Technik, ihr Trend zur Miniaturisierung und die Lösung komplexer logischer Aufgaben mittels Mikrocontrollern hat längst auch bei der Modellbahnsteuerung GROUPIE-MEB-Tron Einzug gehalten. Während sich der Autor noch vor wenigen Jahren gegen diese Technik gewehrt hat, sind inzwischen die Interfacekarte und die Fahrregler längst mit solchen Bausteinen ausgerüstet. Die Gründe für dieses Umdenken sind vielfältig. So sind die Preise der µC’s, wie sie oft auch genannt werden, recht günstig, gleichzeitig sind immer häufiger konventionelle bedrahtete Bauteile schwieriger zu beschaffen. Auch sind die Werkzeuge zur Programmierung verbessert worden und erlauben es dem Entwickler schon nach vergleichsweise geringer Einarbeitungszeit komplexe Aufgaben zu lösen.

Ein weiterer Aspekt ist wichtig: bei konventionell aufgebauten Schaltungen bedingen technische Verbesserungen meist eine Änderung des Schaltplans und damit der Platine. Da aber bei der Verwendung von Mikrocontrollern die Logik nicht durch Verschalten einzelner Schaltkreise sondern durch eine Software im Controller realisiert ist, kann eine Änderung oder Verbesserung lediglich durch eine Softwareänderung geschehen. So ist es auch hier passiert: nach dem die beiden Versionen für entweder Weichen oder Lichtsignale fertig waren, wurde die Idee geboren, eine dritte Version für Formsignale zu schaffen. Durch eine von Anfang an geplante universelle Auslegung der Platine und die Änderbarkeit des Programms im Controller konnte diese Version schnell und einfach realisiert werden.

Für den Autor ist es sehr erfreulich, dass ein Anwender der Steuerung, Andreas aus Dresden, sich die seriellen Signal- und Weichenempfänger angesehen und nach einer Controller-Lösung gesucht hat. Die nachfolgend beschriebene Schaltung, ist daher in dem sehr wesentlichen Punkt, der Software im Controller, die geistige Arbeit von Andreas. Sein Programm ist so gehalten, dass der verwendete ATMEGA 16, abhängig vom Pegel an einem Pin, entweder als Weichen- oder als Signal-Empfänger arbeitet. Mit einem weiteren Pin kann man noch wählen, ob man Lichts- oder Formsignale ansteuern möchte. Während erstere einen Dauerstrom für die LED’s oder Glühlämpchen benötigen muss man bei Formsignalen eine Schaltimpuls für die Doppelspulenantriebe bereitstellen.

Dabei erfüllt die Schaltung bei Verwendung als Signalempfänger folgende Funktionen:
  • Auftrennung der nacheinander gesendeten 8 Bits, die das Bild der 8 Signale darstellen
  • Decodierung ob „Grün“ oder „Rot“ (Bit 0=kurz oder 1=lang) übermittelt wurde
 zusätzlich bei Lichtsignalen:
  • Ansteuerung der roten und der grünen LED’s (oder Glühlampen) mit einem Überblend-Effekt. Das bedeutet, dass die Lampen nicht schlagartig an- oder ausgeschaltet werden, sondern langsam heller bzw. dunkler werden und damit der Realität sehr nahe kommen.
 zusätzlich bei Formsignalen:
  • Einschalten der jeweiligen Spule des Antriebs für ca. 0,3 Sekunden. Die Signalantriebe müssen also nicht endabgeschaltet sein.

Bei Anwendung als Weichenempfänger werden folgende Aufgaben erfüllt:
  • Auftrennung der 2 mal 8 Bit welche die Weichenstellung repräsentieren
  • Decodierung ob „Ein“ oder „Aus“ (Bit kurz oder lang) übermittelt wurde
  • Einschalten der jeweiligen Weichenspule für ca. 0,3 Sekunden. Damit können Weichenantriebe ohne Endabschaltung problemlos benutzt werden.

Das Prinzip der Übertragung von 8 Datenbits über eine Leitung hintereinander ist in der Beschreibung zur seriellen Senderkarte näher erläutert und kann bei Interesse dort nachgelesen werden.

Die Beschreibung der Schaltung fällt bei dieser Art der Realisierung kürzer aus. Die Platinen enthalten eigentlich nur noch den Controller mit wenigen externen Bauteilen, der Spannungsstabilisierung und die elektronischen Schalter. Die eigentliche Funktion ist in der Software im Controller verborgen und soll später nur kurz angerissen werden.

Schaltung des Stromversorgung

Stromversorgung

Der Schaltplan bildet alle Varianten, Weichen- oder Signal-Empfänger, gleichzeitig ab. Signale mit Leuchtdioden benötigen so wenig Strom dass sie über die eine Leitung „Signal_0“ zur seriellen Senderkarte neben den Daten auch mit der Betriebsspannung versorgt werden können. In diesem Fall wird dieser Anschluss über die Diode D18 an einen Elko (C1) geführt der sich folglich auf den Spitzenwert der Spannung, 12Volt, auflädt. Die Diode ist notwendig um die überlagerten Informationen ebenfalls gewinnen zu können, dazu später mehr. Für das Schalten von Weichen oder Formsignalen soll eine Wechselspannung benutzt werden. Diese muss von einem separaten Transformator bereitgestellt werden. Diese Spannung wird dann von D17 gleichgerichtet, es wird also nur eine Halbwelle der Wechselspannung benutzt. Die noch unstabilisierte Spannung am Elko C1 wird dann mit IC3, einem „dreibeinigen“ Spannungsregler, auf 5Volt stabilisiert. Die Kondensatoren C2 bis 4 dienen nur der Unterdrückung der Schwingneigung des Reglers.

Schaltung des Microcontrollers

Microcontroller

Kernstück der Schaltung ist natürlich der „ATMEGA 16“-Microcontroller. Er wurde weniger wegen der Leistungsdaten als vielmehr der Anzahl nach außen geführter Leitungen ausgewählt. Beim 40-poligen Gehäuse sind rechts die beiden Ports A und C mit ihren jeweils 8 Leitungen zu erkennen. Dort werden die zu schaltenden Weichen oder Signale über Treiber angeschlossen. Man erkennt auch einen Quarz Q1 mit den Kondensatoren C6 und 7 zur Erzeugung des Arbeitstaktes. So wird eine sehr genaue Arbeitsgeschwindigkeit eingestellt, Abgleichprobleme sind daher nicht zu befürchten. Der 6-polige Anschluss „ISP-Adapter“ (In System Programming) dient der Programmierung des Controllers in der Schaltung. Wer fertig programmierte Controller einsetzt, kann den Steckverbinder K3 weglassen. Ähnlich verhält es sich mit dem Reset-Taster S1, er kann für den normalen Betrieb auch entfallen. Da beide Bauteile aber kaum etwas kosten, sind dies fragwürdige Einsparmöglichkeiten. Auch die 5 Leitungen des Ports B (PB0 bis PB4) sind auf einen Steckverbinder (K3, nicht gezeichnet) herausgeführt. Davon ist aktuell nur der Anschluss PB0 bei Formsignalen benutzt, der Rest ist für eventuelle Erweiterungen gedacht. Wichtig sind jedoch noch die beiden Optokoppler IC2 und IC4. Sie vereinen jeweils eine LED und einen Fototransistor in einem Gehäuse und erlauben bei elektrischer Isolierung von Ein- und Ausgang dennoch eine Informationsübertragung. Den Optokopplern wird über je einen Widerstand ein Signal von der seriellen Senderkarte zugeführt. Bei der Ansteuerung von Weichen oder Formsignalen ist die Potenzialtrennung wichtig, bei Lichtsignalen wird die Isolierung durch K7 allerdings aufgehoben. Der Optokoppler IC2 erfüllt trotzdem eine Funktion: er invertiert das Signal und setzt es auf den 5V-Pegel des Controllers herab. IC4 wird bei der Signal-Version nicht gebraucht weil hier nur eine Leitung von der Senderkarte auszuwerten ist. K6, rechts unterhalb des Controllers gezeichnet, entscheidet, welcher Programmteil aktiv ist: Verbindung gesetzt bedeutet „Signale“, bleibt K6 offen, ist der Weichen-Teil aktiv.

Schalten von Weichen oder Formsignalen

Schalten von Weichen oder Formsignalen

Für das Schalten der Weichen oder Formsignale werden Triacs verwandt. Die Bauelemente sind in der Lage, bei Ansteuerung mit einer Gleichspannung eine Wechselspannung im Lastkreis zu Schalten. Zudem verkraften sie eine Strom von mehr als 3 Ampere, werden also auch von niederohmigen Antrieben nicht überlastet.

Schalten von Lichtsignalen

Schalten von Lichtsignalen

Bei der Anwendung als Signalkarte, insbesondere wenn Signale mit LED’s verwandt werden, sind wesentlich geringere Ströme als bei Weichen zu schalten. Dann genügen auch preiswertere Schaltelemente. In den IC’s 5 und 6 sind jeweils 8 Transistoren zusammengefasst die je bis zu 500mA verkraften.

Auf der Platine sind auch die Vorwiderstände für die LED’s vorgesehen. Der Strom lässt sich nach folgender Formel berechnen:

  I = (US – ULED) / R (Ampere, Volt, Ohm)

Von der Betriebsspannung US von 5Volt ist die Flussspannung der LED’s ULED von ca. 1,5Volt abzuziehen, das Ergebnis ist durch den Vorwiderstand zu dividieren. Es ergibt sich also folgendes:

  I = (5,0 – 1,5) / 470 = 3,5 / 470 = 0,0074A = ca. 7,5mA

Wer andere Ströme benötigt, kann die Formel nach R umstellen:

  R = (US – ULED) / I (Ohm, Volt, Ampere)

Falls also 15mA (=0,015A) LED-Strom gefordert sind, ergibt sich folgendes:

  R = (5V – 1,5V) / 0,015A = 3,5V / 0,015A = 233,33 Ohm

Der nächstliegende gängige Wert wäre also 220 Ohm.

Wer Signale mit Glühlampen einsetzen möchte, muss die Widerstände durch Drahtbrücken ersetzen und eine passende Gleichspannung, meist 12V, mit ihrem Minuspol an Masse (=GND) und den Pluspol mit dem gemeinsamen Anschluss der Glühbirnchen verbinden.

Der Anschluss K9 ist für Spezialanwendungen vorgesehen. In den IC’s sind Schutzdioden eingebaut die beim Schalten von induktiven Lasten, z. B. Relaisspulen, die beim Abschalten entstehenden Spannungen kurzschließen. Bei normalen Anwendungen bleibt K9 offen.

Software

Das im Controller gespeicherte Programm wurde von Andreas in einem Basic-Dialekt erstellt und mit dem „BASCOM“-Compiler der Fa. MCS ELECTRONICS www.mcselec.com kompiliert. Der Quelltext kann an anderer Stelle eingesehen werden. Hier sollen nur die wesentlichen Funktionen kurz angerissen werden, eine vollständige Beschreibung würde fast der Erstellung einer Schulungsanleitung gleichkommen.
In jedem solchen Programm sind zunächst einige Definitionen vorzunehmen, d. h. der Typ des Controllers und dessen Taktfrequenz ist zu definieren. Dann werden Variablen deklariert und die Verwendung der Ein-/Ausgangs-Pin‘s bestimmt.
Danach werden die bei konventioneller Realisierung notwendigen monostabilen Multivibratoren durch ihr Äquivalent, die „Timer“, definiert. Mit einem wird die Länge der Bits gemessen um festzustellen, ob ein kurzes oder langes Bit übermittelt wurde. Ein zweiter Timer erkennt die Übertragungspausen um die Synchronisierung mit der Senderkarte herzustellen.
Wenn die komplette Sequenz einer 8-Bit-Übertragung erkannt wurde, sind die Bit-Werte in den Variablen Cmd_ch1.0 bis 7 und, bei Weichen-Empfängern Cmd_ch2.0 bis 7, abgelegt.
Mit diesen Informationen werden dann in der Routine „Main“, die endlos ausgeführt wird, die Weichen oder die Signale angesteuert. Dabei werden trickreiche Routinen aufgerufen, die das Überblenden bei Signalen bzw. das Abschalten des Spulenstroms bei Weichen bewirken. Wenn das in die Maschinensprache übersetzte Programm in den µC „gebrannt“ wurde, ist es dort für wahrscheinlich mehrere Jahrzehnte im Speicher dauerhaft abgelegt. Sollte eine Anpassung oder Verbesserung anstehen, so kann über den ISP-Anschluss (K3) mit einem geeigneten Programmiergerät eine neue Programmversion im ATMEGA abgelegt werden.

nach oben Zum Anfang der Seite

zurück Zurück