Es geht um Modellbahnelektronik:
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.
Rainer W. schrieb:> Probiere es in LTSpice aus.
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.
Frank M. schrieb:> Also: Für mich ein mühseliges Unterfangen für ein derartiges triviales> Problem.
Ich habe heute leider keine Zeit. Aber ich denke es könnte sich ein
LTspice-Kenner noch heute mal Deiner Schaltung annehmen.
mfg Klaus
Frank M. schrieb:> 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:
1. 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.
2. 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...
Frank M. schrieb:> Der Basisstrom von T1A beträgt (5V-0,7V)/10000 Ohm = 0,43 mA.
Du hast den Spannungsabfall an R1 übersehen. Der Basisstrom von T1A bei
TX=0V beträgt etwa (VCC - U_BE - I_E*R1)/R2.
Rainer W. schrieb:> Der Basisstrom von T1A bei> TX=0V beträgt etwa (VCC - U_BE - I_E*R1)/R2.
I_C von T1B fehlt da noch, sorry.
Frank M. schrieb:> RailCom-Sender.png
Im Anhang zum RCN-217-Sender die Grundfunktion in LTSpice (ungetestet,
Versorgung Sender nicht aus Gleis)
Rainer W. schrieb:> 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.
Andreas B. schrieb:> Bei mir geht's so problemlos (VCC = +5V, RailCom direkt vom STM32G030).
Danke, das gefällt mir ganz gut. Sind die Werte für die Widerstände
empirisch ermittelt?
Rainer W. schrieb:> 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...
Frank M. schrieb:> Ich bekomme leider beim Start der> Simulation einen Fehler: "Undefined model "bc857bt116". Q§T1A N004 N002> N001 0 BC857BT116".
Dann fehlt der eben bei dir. Nimm einfach BC327-40.
Frank M. schrieb:> Danke, das gefällt mir ganz gut. Sind die Werte für die Widerstände> empirisch ermittelt?
Jein, erst per Simulation und dann real getestet.
H. H. schrieb:> 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.
Andreas B. schrieb:> Jein, erst per Simulation und dann real getestet.
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?
Andreas B. schrieb:> Nein, einen "nackten" G030 im 32-pin LQFP
Du machst mich neugierig. Ist Deine Schaltung zum Decoder öffentlich
einsehbar?
P.S.
Wenn ich mir Deine Schaltung nochmal ansehe, ist "RailCom" ein
invertiertes TXD-Signal, oder?