Re: Pulsverdoppler-Schaltung für Reedkontakt - S0 Schnittstelle

Knolles ELEKTRONIK Forum

Geschrieben von Theodor Wadelow am 05. Juli 2016 22:55:57:

Als Antwort auf: Re: Pulsverdoppler-Schaltung für Reedkontakt - S0 Schnittstelle geschrieben von Klaus am 03. Juli 2016 19:34:16:

Hallo Klaus,

>Hallo Theo,
>Du bist unglaublich! Nebenbei bist Du der erste Elektroniker, den ich in den diversen Fachforen gefunden habe,
>der sich so geduldig und umfassend genau um das konkrete Problem eines interessierten Amateurs kümmert.
Danke. Ich glaube das Problem ist tiefgreifender: Heutzutage fragt kaum mehr jemand eine Frage zu der der Fragesteller mehr als 1 Halbsatz (vor dem Komma) Hintergrundwissen mitgibt und niemand nimmt sich Zeit für eine einzige richtige und vollständige Antwort. Herrschaftswissen und "da muß der andere Eben lernen, mindestens genau so gut zu sein wie ich" dominieren. Kein schöner Umgang. Wird aber so von Managern und Politikern und den vorgesetzten Leitbildern gelebt, denn sonst käme ja heraus, daß die "Helden der Nation" auch nur mit Wasser kochten ;-)
Oh, und 'Zuhören' bzw. 'Lesen' ist eine weitere Disziplin die nicht beherrscht wird.
Ich habe das Gefühl, für die meisten Zeitgenossen ist es zu viel, 5-7 dedizierte Einzelfragen, die ich sogar noch mit 1-7 oder a-g durchnummeriere einzeln in Reihenfolge komplett zu beantworten.
Wenn das schon zuviel ist, dann kann ich auch nicht helfen, weil ich nicht weiß wie.
Das hat was damit zu tun, daß die meisten eigentlich garnicht wissen was sie wollen, was man dann auch an der Fragestellung erkennt. Oder sie machen sich nicht die Mühe ab der philosophischen "Tabula rasa" ihr Problem zu beschreiben. Aber wie sollte das mit einem (im Prinzip) Text-Only-Medium anders gehen ?
Ich verfolge dieses sehr freie Forum ja nun schon seit x Jahren und so lange Threads mit einem guten Mitdiskutanden wie Dir gab's nicht viele.


> Ich habe schon einiges zusammengelötet, aber immer nur nach Vorlage bzw. nach Berechnungsformel.
> Eine eigene Schaltung könnte ich aufgrund fehlender Grundlagen nie auslegen (mehr als P=U*I oder I=U/R und so was geht nicht).
Für Zeitkonstanten ist t = C * R ganz wichtig ;-)
Ich auch nix dimensionieren ;-) Naja, inzwischen schon ein bischen. Aber dafür habe ich über 20 Jahre gebraucht. So richtig selbermachen kann m.E. auch mit Studium kaum einer was.
Der Witz ist, daß man fast immer mit einer Modifikation einer Schaltung aus einer App-Note von einem Hersteller auskommt, für fast alles. Und das wird dann gebaut und vermarktet.

Was ich viel mache, auch in deinem Fall, ich 'designe' in LTSpice4, das gibt es kostenlos bei www.linear.com ; leider ist es "nur" Freeware und kein Open Source.
Das Problem muß natürlich 'lustig genug' sein um meine Synapsen zu kitzeln. "Keine Stromversorgung", "Komisches Interface", "Timing kritisch" ... Bingo, Nerd-Snipe !

>Deine Schaltung habe ich noch nicht am busware-Modul ausprobiert - das mache ich morgen mal. Die minimale Impulslänge, auf die das busware-Modul reagiert, weiß ich nicht, aber einer meiner Stromzähler liefert 2ms >kurze Impulse, die der Logger problemlos erkennt (eigentlich auch nicht S0-konform...). Der Projektleiter der Firma, die den kompletten Logger mit Raspberry und Software verkauft hat, war mal online auf meinem >Logger und sagte mir, mein Reedkontakt (das war aber noch ein anderer Ölsensor) liefert pro korrektem Signal drei Prellimpulse (trotz 100nF Kondensator), die die Software gerade so noch weg bekommt.
Die Software kann nach einem gezählen Impuls keine 30ms Totzeit einhalten und einfach mal keine weiteren Pulse zählen ? Ich bin ... sprachlos. Scheint ja sehr schwer zu sein. 30ms, in Software :seufz:
Doof daß der Stromzähler auch nicht ganz normkonform ist mit 2ms Pulsen, naja Hauptsache es geht. Hoffentlich ist das zuverlässig.

>Mein aktueller Ölmesser liefert 50 Impulse pro Liter, die Heizung verbraucht in der 2. Brennerstufe max. 1,8 L/h, das bedeutet,
>höchstens alle 40 Sekunden schaltet der Reedkontakt einmal ein und aus. Pro Flanke wären das mindestens 20 Sekunden.
Bist du sicher das der 'symmetrisch' schaltet, d.h. 20 s ein und 20s aus? Wenn ich sowqas gebaut hätte, hätte ich da einen kleinen Magneten umlaufend auf einem der Zählräder montiert und der würde dann Pulse an einem Feststehenden Reedkontakt geben, allerdings wären die Pulse deutlich kürzer als deren Wiederholperiode. Dein Oszilloskop kann doch erstaunlich langsame Signale (500ms/div), kann das auch noch ein bischen langsamer und kann das u.U. auch das Originalsignal mal für 1-2 Perioden komplett aufzeichnen ?

>Deine neue Schaltung ist im Prinzip die Verdopplung der ersten Variante, nur einmal mit npn und einmal mit pnp Schalttransistor.
>Was ich da schon wieder nicht verstehe ist, dass vor dem npn Transistor nur ein 12k
>Widerstand liegt und nicht ein 270k?

Der Schaltbereich der beiden Transistoren ist grundverschieden. Ich will das mal in Grundzügen und unter Vernachlässigung aller nicht explizit beschriebenen Bauteile beschreiben:
Denk' Dir die Schaltung nur mit Rlim, alles andere wird in Gedanken entfernt.
Puls kommt, d.h. A geht von 24V auf 0V. Ich vernachlässige großzügig den Widerstand im Sender. A1 beleibt auf 24V, R3+R2 << Rlim , deshalb A1 == 24V !
Ct war ungeladen, ist also zunächst ein Kurzschluss. Nicht lange, aber für den allerersten Moment kann man das so annehmen.
Die Basis von Q2 wird jetzt über Rt bestromt, mit ca. 24V (-1 UBE vernachlässigt), geteilt durch 270kOhm. Mit 240kOhm kämen 100µA raus, also etwas weniger.
Praktisch wohl sogar nur 50µA (R1, R2,R3, D1, UBE) aber gut. Der Strom durch die Basis ist jetzt durch das Stromverstärkungsverhältnis von Q2, hFE = IC / IB ca. 100..500 bestimmt. Du siehst, ob durch die Basis 50 oder 100 µA fließen ist bei so einem ungenau bestimmten Verstärkungsverhältnis auch egal.
Worst case: h_FE = 100, I_B=50µA dann fließen durch Q2 noch 5mA. ... Das würde nicht reichen um den S0-Bus zu schalten. Q2 wird nicht gesättigt, weil dann bei 5mA nur 5V an R2+R3 abfielen, d.h. A1 bleibe auf ca. 24V-5V = 19V. Ok, wenn Q2 nicht gesättigt wird, und Basis- und Kollektorstrom weit weg von ihren zulässigen Maximalgrenzen (I_B: 1mA, I_C: 200mA) sind, dann ist das tatsächliche h_FE größer, bei den BC55xC-Typen ca. 500 oder so. Rechnen wir mal I_C = h_FE * I_B = 500 * 50 µA = 25mA. Soviel Strom kann aber durch R2+R3 selbst bei einem Vollkurzschluß von A1 nach B nicht fließen; die Spannung an A wäre aber 0V. Hier haben wir den anderen denkbaren Grenzfall.
Ich nehme mal an, daß der Strom irgendwo dazwischen liegen wird, so auch die Spannung von A1. Also Strom ( 5 + 25 ) / 2 mA = ca. 15mA und Spannung ( 19 + 0 ) / 2 = ca. 8.5V . Ja, könnte passen. oberhalb von 10 mA soll der S0-Bus einen Puls erkennen und damit auch unterhalb von 12 V. 8 V an A1 würde (24-8) = 16V Spannungsabfall an R2+R3 nach sich ziehen und ca. 16V / 1.3kOhm = 12.3 mA Strom bedeuten. Kommt hin.

Nun füllt sich leider langsam Ct und damit wird der Bassistrom langsam abgewürgt.
Das füllen erfolgt mit der Zeitkonstante t1 = Ct * Rt = 150nF * 270 kOhm = 40,5 ms . Das heißt, der Bassistrom sinkt alle 40.5ms auf 1/e oder ca. 36,8% des Ausgangswerts. Der S0-Empfänger detektiert den Puls bei weniger als 10mA als beendet, das mag also nach 1..2 t1-Zeiten der Fall sein. Also 40-80ms Puls an A1.
Wohl gemerkt, A ist immer noch auf Masse gezogen.

Nun zum 'Loslassen' des Pulses, aber fangen wir kurz vorher an:
Vor dem Loslassen ist A = 0V; d.h. Ct1 ist über Rt1 und Dr1 entladen.
A1 liegt auf +24V; wir nehmen an daß der Pulsverkürzer Ct/Rt/Q2 'zugeschlagen' hat.
Jetzt öffnet der Kontakt A-B (Reed-Kontakt oder Optokoppler).
A geht dank Rlim auf A1=+24V ? Ignorieren wir hier den geladenen Ct und Dr.
Langsam, ab ca. 0,6V == UBE(Q1) schaltet Q1 durch. Ct ist entladen, ein gedachter Kurzschluss für den ersten Moment und Rt1 begrenzt den Basisstrom.
Q1 beginnt zu leiten und wird sozusagen über Rlim+Rt1 mit Strom von A1 versorgt.
Es gilt eine ganz ähnliche Betrachtung wie oben bei Q2, und A1 wird bei nicht gesättigtem Transitor Q1 mit maximalem h_FE nach Masse (B) gezogen.
Es stellt sich zügig eine Spannugn an A1 von ca. 10V ein, ähnlich dem o.a. Mittelwert bei den Betrachtungen zu Q2 und es fließen wieder die etwas über 10mA (z.B. 12mA) die den S0-Empfänger zum Erkennen eines Pulses bringen. Weil die reduzierte Spannung bei A1 natürlich den Strom durch Rlim herabsetzt, stellt sich eine ganze Weile lang ein maximaler Stromfluß durch Q1 bei ca. 8V an A1 und 4,5V an A ein.
Das Timing macht dann wieder der sich langsam ladende Ct1; die Zeitkonstante ist diesmal t1 = Ct1 * (Rt1 + Rlim) , wennn man die durch Q1 selbst 'abgeklemmte' Versorgungsspannung an A1 vernachlässigen könnte.
In der Realität ergibt sich hoffentlich eine ähnliche Timingkonstante wie die von Ct*Rt, deshalb auch die im letzten Post angegebenen breiten Parameterbereiche zum Ausprobieren von Ct1 und Rt1.
Während Ct1 geladen wird entlädt sich Ct über die Diode Dr und Rlim. Das begrenzt dann auch die Puls-Wiederholrate denn tr = Ct * Rlim == 20 ms und das muß 3..5 x abgelaufen sein bevor Ct für einen weiteren Puls ausreichend entladen ist.

Jetzt zum Unterschied: In dem 2. Fall ist A1 bei ca. 10V (minmal ca. 8V) während A eine steigende Spannung von 0 -> 24V (4,5V im interessanten Bereich) hat. Deshalb ist der gesamte Basisvorwiderstand Rlim+Rt1 kleiner, denn der interessante Basisstrom ist der von Q1, er fließt im Prinzip bei kleiner Spannung (4,5V) von A1 über die Basis von Q1 nach B.
Im ersten Fall waren es ca. 8V die von A1 über die Basis von Q2 nach A==0V flossen. In beiden Fällen sollte der gleiche Strom fließen, damit die Konsdensatoren Ct,Ct1 dank Q = I * t und C = Q / U also t = C * U / I in konstanter Zeit aufgeladen werden. Für eine Quantitative Aussage müßte man über diese Gleichungen integrieren, denn der Ladestrom I (der Basisstrom durch Q1, Q2) ändert sich während der Pulsdauer, aber für eine Qualitative Aussage reicht es: U ist immer die Aufladung 0->24V. C ist in beiden Föällen 150nF. Mit gleichen I sollten also gleiche Zeiten rauskommen.
Die relevanten Verhältnise sind also bei fallende Flanke/Steigende Flanke: Vorspannungen der Basen ggü. den Emittern: 8V/4.5V , Vorwiderstände: 270k/(100+12k), also in beiden Fällen um 2.0 herum.

Soviel zu 'Überlegungen'. Zumindest soviel wie ich aufschreiben mag. Ich habe noch den einen oder anderen Gedanken beim Design im Kopf gehabt, aber das würde den Rahmen wirklich sprengen.
Quantitativ ausprobiert habe ich das dann wie gesagt mit LTSpice4. Genauer gesagt war das eine schöne Runde puzzlen mit LtSpice4, was die Schaltung angeht. Hat Spaß gemacht. Vorallem deshalb so lustig weil ich mit so wenigen einfachen Bauteilen hinzukomme (hinzukommen glaube; den Test machst Du) und ich nach beendeter Simulation so unglaublich viele einfache Prinzipien in der Schaltung wiedererkannt habe.


> Liefert Deine neue Schaltung dann solche Impulse?
Signal Reed zu S0 doppelt.JPG
Fast. Sie liefert so wir Dir schon mit dem Oszilloskop gemessen exponentiell abfallende 'Sägezahnpulse'; ja 2 Stück, einen bei steigende und einen bei fallender Eingangsflanke.
Die Spitzen der Pulse bei steigender Flanke werden etwas verschliffen sein. Dimensionierung wie gesagt am Objekt; Rt1 bitte passend einstellen, wenn das nicht auf Anhieb hinhaut.

> Statt dem BC557C würde ich wieder einen BC558C verwenden - OK?
Ja, BC548C ist auch ok. Siehe z.B. ht tp://www.alldatasheet.com/datasheet-pdf/pdf/11552/ONSEMI/BC548.html Der hat zwar 'nur' 30V zulässige U_CE, aber dein Interface braucht max. 24V. Passt schon, zumal das ja für BC557/BC558 auch nicht anders aussieht.

-Theo

Antworten:

Knolles ELEKTRONIK Forum

| ©www.HobbyElektronik.de | ©Knolle_P | (©Oliver Pering) |