Details zur Schaltung von OpenDecoder (Var. 1)
- Schaltplan:
Meinen ersten Decoder, den ich (nachge-)baute, habe ich nach einer Schaltung der Webseite www.bahn-in-haan.de zusammengelötet. Leider hatte ich mit der dort angebotenen Software Probleme und habe dann basierend auf dieser HW-Plattform eine eigene Software entwickelt.
Deshalb entspricht untenstehender Schaltplan von der Pinbelegung des Atmel dem Orginal von www.bahn-in-haan.de, damit aus Software-Sicht kein Unterschied besteht.
Wichtiger Hinweis: Der Prozessor AT90S2313 brauchte noch eine externe Resetschaltung (TL7705) sowie eine einen externen Quarz. Diese sind als Bestückungsalternativen noch vorgesehen, diese Bauteile werden beim Prozessor ATtiny2313 nicht mehr benötigt. Man muß den Prozessor dann auf internen Oszillator einstellen und mit 8MHz betreiben. Beim ATtiny2313 entfallen daher: C4, C5, C6, C7, R3, R4, IC3 und Q1. - Schaltungsbeschreibung:
Spannungsversorgung:
An X2 wird die Eingangsspannung des externen Netzteils eingespeist (ca. 15V); Polarität und Stromart ist egal: es kann also ein Modellbahntrafo, ein Steckernetzteil oder das DCC-Signal verwendet werden. Die Eingangsspannung wird gleichgerichtet und über den üblichen 5V Längsregler 7805 zur Versorgung des Prozessors verwendet. Der Leerlaufstrom beträgt etwa 20mA.
Hinweise: Ich habe festgestellt, dass manche Weichenantriebe von Roco erst bei 15V schalten; durch die Spannungsabfälle an Gleichrichter und Ausgangstreiber ist in diesem Fall die Versorgungsspannung auf 16V~ oder 18V= zu erhöhen.
Die Stromversorgung muß so kräftig sein, daß Weichenantriebe sicher ohne Spannungseinbruch schalten. Da die Versorgung des Prozessors nicht entkoppelt ist, kann es bei Einbruch der Primärversorgung zu einem Reset kommen.
DCC-Eingang:
An X1 wird das DCC-Signal angeschlossen. Dieses wird über einen Optokoppler von der Spannungsversorgung des Decoders getrennt. Der Optokoppler sorgt für einen störungsfreien Betrieb auch bei ausgedehnten Anlagen. Verwendbar ist sowohl der 6N136 als auch der 6N137 oder 4N25, wobei beim 6N137 noch zusätzlich der Pin 7 (Freigabeeingang) mit dem Pin 8 verbunden werden muß (nicht im Layout der Platinen V1.1).
Tipp: wer das DCC Eingangssignal überwachen möchte, kann die Freilaufdiode durch eine LED ersetzen.
Der 4N25 (oder seine Derivate) muß so bestückt werden, das der Pin 1 des 4N25 auf Pin 2 des Layouts kommt. Der 4N25 ist relativ langsam, insbesondere die Freiräumzeit ist relativ lang. Der Pullup am Ausgang sollte auf 1k verkleinert werden.
Beim 6N136 entfällt R2.
Schaltausgang:
Hier findet der übliche ULN2803 Verwendung: dieser kann 0,5A je Ausgang liefern und ist intern mit einer Freilaufdiode für induktive Lasten ausgerüstet. Die Ausgänge sind jeweils in Dreier-Gruppen mit einem Versorgungsanschluß zusammengefaßt. Damit wird die Verdrahtung auf der Anlage erleichert und ev. sonst notwendige Verteilerklemmen können entfallen.
Der Ausgangstreiber ist normalerweise für Spur N ausreichend, bei H0 wird es knapp. Manchen Weichenantriebe brauchen mehr als 500mA. Sollte der Strom nicht ausreichen, so kann folgender Trick angewandt werden: einfach einen zweiten ULN2803 Huckepack auf den ersten Chip auflöten.
Schalten von induktiven Lasten:
Weichenantriebe sind in der Regel Spulen, diese werden normalerweise mit einem Kontakt in der Weiche endabgeschaltet. Diese Endabschaltung verursacht eine Induktionsspannung, die rückwärts auf den Ausgangstreiber fließt und von der integrierten Freilaufdiode abgeleitet wird. Wenn die Endabschaltung "flattert" und mehrfach schnell hintereinander aus- und einschaltet, dann kann es passieren, dass die Freilaufdiode überlastet wird bevor die Absicherung über die Polyfuse abschaltet.
In so einem Fall kann mit einer schnellen Suppressordiode über der Weichenspule Abhilfe geschaffen werden - besser jedoch sollte der Weichenantrieb getauscht werden.
Ansteuerung von Motorweichen:
Dies kann entweder mit einem nachgeschalteten bistabilen Relais erfolgen oder mit einer Transistorstufe. Christian Wichmann hat hierfür auch ein Decoder Layout entworfen.
Prozessor:
Als Prozessor wird ein Atmel ATtiny2313 verwendet. Im Layout ist ein Resetgenerator TL7705 vorgesehen, dieser war beim Vorgänger AT90S2313 erforderlich, um Brownout zu vermeiden. Der ATtiny hat diesen integriert, der Resetgenerator kann daher entfallen.
Takterzeugung:
Der Atmel ATtiny2313 wird mit einem werksabgeglichenen RC-Oszillator ausgeliefert, welcher bei 8 MHz läuft, der Quarz und die Kondensatoren können daher entfallen. Allerdings muß dann ein hex-file für 8 MHz geladen werden. Beim Übersetzen ist entsprechend die Taktrate (F_CPU) auf 8000000 zu stellen, alle Timingeinstellungen werden automatisch angepaßt. In diesem Fall kann der Quarz weggelassen werden. Im Download sind die .HEX files für 10MHz und 8MHz bereits vorkompiliert enthalten.
Hinweis: die Taktgenauigkeit wird von Atmel mit 10% angegeben, was für diese Anwendung hinreichend genau ist; allerdings kann es bei ungünstiger Kombination der Streuung des Takts, der Durchlaufzeit durch die Optokoppler *und* einem DCC Signal an der Grenze des zulässigen Timing zu einer Fehlfunktion kommen. Und sooo teuer ist der Quarz auch nicht.
Taste und LED:
Als LED ist eine 2mA Typen zu verwenden, diese kann direkt mit dem ATtiny angesteuert werden. Der Taster wird zum Starten des Programmierens verwendet. - Layout:
Die Platine ist in der Version 1.2 als einseitige Platine mit den Abmessungen 80*50mm realisiert. Es sind nur Durchsteckbauteile und DIL-ICs verwendet, ein Nachbau ist daher leicht. Auch ist genug Platz für große Schraubklemmen und Befestigungslöcher vorgesehen, so daß der fertige Decoder leicht installiert werden kann.
Unterlagen
-
Nochmals der Hinweis: Diese Schaltung und Layout ist frei für den privaten Gebrauch,
eine kommerzielle Verwertung ist untersagt. Eagle-Files gibt es nur auf Anfrage.
Schaltplan V1.2: jpg pdf
Stückliste
Layout V1.2: jpg dccdecoder_brd_v12.pdf
Datenblätter:
-