Controller

Burgi’S Selbstbau-Loconet-Controller

Und so sieht mein Loconet-Businterface und Controller aus:

Im Groben erkennt man vier Funktionsblöcke:

  • Oben links die beiden RJ11 Loconet-Connectoren und die Stromversorgung für den Bus-Teil
  • Oben rechts den Empfangsteil
  • Mitte links den Sendeteil
  • Unten rechts den Prozessor

Ich habe mich entschieden, den Bus-Teil vom Rest der Schaltung mit Optokopplern zu isolieren, das entkoppelt den Loconet-Bus und die Digitalzentrale von den einzelnen Modulen. Es gibt kaum etwas Schlimmeres, als in einem grösseren System mit mehreren Komponenten nach einem - meistens sporadischen - Fehler durch eingeschleppte Fremdspannungen oder Masseschleifen zu suchen!
Die Optokoppler sind vom Billigsten - 4N35 - , aber sie tun ihren Dienst.

Die Schaltung im Einzelnen:
Die beiden parallel geschalteten RJ11-Buchsen sprechen für sich. Über D3 und D4 werden die Rail+ bzw. Rail- Signale (bei ‘B’-Anschluss) bzw. die Loconet-Power (bei ‘T’-Anschluss) gleichgerichtet und nach Glättung mit C1 durch den 78L05 auf 5V als Betriebsspannung für den Bus-Teil stabilisiert. Der 30V- VDR R33 schützt vor Bedienern mit ‘krummen Fingern’, die irgendeine zu hohe Spannung auf den Bus geben.
Das Datensignal wird über R27 - R30 1:6 heruntergeteilt, d.h. selbst bei maximal spezifizierter Loconet-Spannung von 24V hat das Datensignal in der Spitze max. 4V.
Dieses reduzierte Datensignal ist der Eingangspegel für den konventionellen Schmitt-Trigger mit nachgeschaltetem R/S-Flipflop, gebildet aus dem 4fach-Komparator LM339 (IC1). D1 und D2 schützen dessen Eingänge vor Spannungsspitzen bzw. negativen Spannungen.
Die Schaltschwellen des Schmitt-Triggers sind über R20 - R25 festgelegt auf 600mV (Low) bzw. 770mV (High) Berechnung hierzu: Gesamtwiderstand ist 100,1027KOhm, Strom ist also 5V/100,1027KOhm=49,95µA.
Über R25 fallen also 599,38mV ab (12KOhm*49,95µA), Über R23 sind es (12K + 100 + 3K3)*49,95µA=769,23mV. Wegen des 1:6 heruntergeteilten Eingangssignals ergibt das Schaltschwellen von 3,6V und 4,61V. Die
Loconet-Doku spezifiert hier (übersetzt), dass die Pegel ausgewertet werden sollen ‘mit einer Hysterese von 1V zentriert auf 4V’. D.h. ‘Low’-Schwelle =3,5V, ‘High’-Schwelle = 4,5V. Der Schmitt-Trigger tut also genau das. Nach dem RS-Flipflop steht demnach das auf 5V Spitzenwert begrenzte serielle Loconet-Datensignal zur Verfügung, das über den Optokoppler IC2 potentialfrei den seriellen Eingang des Prozessors steuert.

Auf der Sendeseite steuert das serielle Ausgangssignal des Prozessors den Optokoppler IC3 mit einem relativ hohen LED-Strom (der PIC kann das!) damit der auch satt durchschaltet und die (Konstant)Stromquelle mit T1 ansteuert, die bei der gegebenen Beschaltung ca. 50mA senken kann, wobei lt Spezifikation der Sender 50 mA im "ON" Zustand senken muss bei nicht mehr als 1.6V, und 35 Volt aushalten muss. Das macht einen maximalen zulässigen Widerstand im ‘ON’-Fall von (1,6V/50mA)=32Ohm.

Die 56K Pulldown-Widerstände sind bei den Kopplern nötig, weil die Biester sonst nicht zuverlässig (und seeehr laaaangsam) sperren. Vielleicht hätte ich doch ‘richtige’ Koppler mit TTL-Ausgängen nehmen sollen... aber die sind deutlich teurer und nun hab’ ich nunmal etliche von den 4N35ern auf Vorrat.

 

In Kürze geht’s weiter !