In RCN-217 (https://normen.railcommunity.de/RCN-217.pdf) wird das DCC-Rückmeldeprotokoll RailCom beschrieben. Hier kann eine Lok auf der Schiene kurze Datenpakete während sog. Cutouts senden. Cutouts sind Pausen mit einer Länge von einer halben Millisekunde, in welcher die Modellbahnzentrale nichts senden darf und daher die Schienen für kurze Zeit spannungsfrei sind.
Als Referenz wird in RCN-217 im Kapitel 2.2 "RailCom - Sender im Decoder" der angehängte Schaltplan verwendet. Dazu steht dann als Bemerkung:
1
Um eine '0' zu übertragen, muss der Decoder einen Strom I von 30+4/-6 mA liefern, bei einem Spannungsabfall am Gleis von bis zu 2.2 V. [...] Bei einer '1' darf der Strom I höchstens ± 0.1 mA betragen. Die Stromquelle des Decoders muss gegen unerwartete Fremdspannung am Gleis während des Cutout geschützt sein.
2
[...]
3
4
Erläuterung zum Schaltbild:
5
6
Der RailCom-Teil besteht nur aus den Widerständen R1 bis R3 und den Transistoren T1A bis T2B. T1A und T1B bilden eine Stromquelle, T2A ist als Diode geschaltet und schützt die Stromquelle vor positiven Spannungen höher Vcc.
7
8
Alle anderen Teile der Schaltung gehören zur normal notwendigen Hardware des Decoders. Man beachte den äußerst geringen Hardwareaufwand für den RailCom-Sender.
Wie man leicht erkennen kann, handelt es sich hier um eine Schaltung für einen µC, der mit 5V arbeitet. Würde man hier einen STM32 (zum Beispiel als BlackPill) einsetzen, dann hätte TXD einen Pegel von maximal 3,3V. Damit würde bei VCC = 5V, aber TXD = 3,3V dann T1A/T1B bereits zu leiten beginnen - was nicht erwünscht ist. Solange TXD high ist, muss die Stromquelle abgeschaltet sein.
Also muss man entweder einen Pegelwandler an TXD verwenden oder die ganze Schaltung auf VCC = 3,3V umbauen. In diesem Fall müsste man die Widerstände R1 bis R3 meiner Meinung nach auf 3,3/5 ihrer jetzigen Werte (E24) umrechnen, also:
1
R1 = 15 Ohm
2
R2 = 6,2 kOhm
3
R3 = 4,3 kOhm
Ist meine Überlegung richtig? Wie kommt man in RCN-217 eigentlich mit dieser Schaltung auf einen Strom von ca. 30mA? Der Rechenweg erschließt sich mir hier nicht.
Ich hatte LTSpice tatsächlich gestern mal installiert und versucht, die Transistorschaltung zu erstellen. Aber ohne Praxiserfahrung mit LTSpice gestaltet sich das schwierig. Ich habe es noch nichtmals geschafft, die Transistoren in die richtige Richtung zu drehen oder zu spiegeln. Diese Funktionen waren immer deaktiviert.
Der resultierende Schaltplan sah danach natürlich gruselig aus. Leider habe ich es geschafft, mir die Anzeige durch irgendeinen blöden Klick wegzuschalten und dann überhaupt nichts mehr während der Simulation zu sehen. Ich denke, ich muss mir hier erstmal das nötige LTSpice-Basiswissen aneignen, bevor ich damit arbeite.
Also: Für mich ein mühseliges Unterfangen für ein derartiges triviales Problem.
Meine obige Überlegung, die Widerstände auf 3,3/5 zu reduzieren, war wohl falsch. Es müsste nämlich (3,3-0,7)/(5-0,7) sein - wegen des Spannungsverlustes von 0,7V an Silizium. So bin ich dann auch auf die obigen Widerstandswerte gekommen. Das hatte ich oben nicht angepasst - sorry.
Ich habe es noch nichtmals geschafft, die
Transistoren in die richtige Richtung zu drehen oder zu spiegeln.
Die sind nur aktiv, wenn du das betreffende Bauteil "am Haken" hast. Du musst das Bauteil mit Move- oder Drag-Funktion greifen und dann sind auch die Buttons für Rotate- und Mirror-Funktion freigeschaltet und nutzbar.
Dank den Hinweisen von hhinz versuche ich gerade, das nachzuvollziehen:
5V Schaltung
Der Basisstrom von T1A beträgt (5V-0,7V)/10000 Ohm = 0,43 mA. Nehme ich hFE = 70 an, komme ich auf 70 x 0,43 mA = 30 mA. Typischerweise hat ein BC557 aber einen hFE von 125 bis 800. Angeblich wird der aber in Sättigung nie erreicht.
3,3V Schaltung
Da R2 entsprechend angepasst wurde, ist der Basisstrom fast derselbe: (3,3V-0,7V)/6200 Ohm = 0,42 mA. Mit einem hFE von 70 kommt man ebenso auf die 30mA.
Ist meine Rechnung/Annahme dazu richtig? Mich verwirrt, dass hier R1 keine Rolle spielt...
Die sind nur aktiv, wenn du das betreffende Bauteil "am Haken" hast. Du
musst das Bauteil mit Move- oder Drag-Funktion greifen und dann sind
auch die Buttons für Rotate- und Mirror-Funktion freigeschaltet und
nutzbar.
Alternativ Strg+r zum Drehen und Strg+e zum Spiegeln, während man das Bauteil "am Haken" hat.
Im Anhang zum RCN-217-Sender die Grundfunktion in LTSpice
Vielen Dank für Deine Arbeit. Ich bekomme leider beim Start der Simulation einen Fehler: "Undefined model "bc857bt116". Q§T1A N004 N002 N001 0 BC857BT116".
Ich habe dann im Netz gesucht und habe eine Datei "Transistor (BJT) Master Table - Automotive.spice.txt" gefunden. Diese habe ich auf verschiedene Art und Weise per ".include ..." versucht einzubinden - mit dem Resultat, dass immer wieder andere Fehlermeldungen auftauchten. LTSPICE ist tatsächlich für Anfänger nicht gerade einfach zu bedienen...
Dann fehlt der eben bei dir. Nimm einfach BC327-40.
Danke, das hat geholfen. Jetzt kann ich tatsächlich mit den Werten spielen und auch sehen, was dann passiert. Ich denke, ich werde mich doch noch mit LTSPICE anfreunden.
Die scheinen ganz gut zu passen. Mit 20 Ohm als Serienwiderstand kommt man sogar noch näher an 30mA heran. Dein Trick, die beiden Transistor-Pärchen zu vertauschen und damit VCC = 5V zu ermöglichen, gefällt mir sehr gut.
Vermutlich setzt Du ein STM32G030-Modul ein, wie es WeAct anbietet?