NEWS
S0 - Signal mit Wemos D1 Mini erzeugen?
-
@dieter_p
Vielen Dank!ESP32 scheint genug liefern zu können. Ich habe keine genauen Angaben gefunden, aber meistens steht so 250mA für alle GPIOs zusammen. 20mA an einem einzelnen GPIO (und nichts weiteres angeschlossen) scheint mir damit problemlos möglich zu sein. Ich habe aktuell ESP32 und einen 4N35 mit einem 220 Ohm Widerstand geplant. Damit habe ich max. 15 mA am Ausgang des ESP32. Und da dieser 4N35 mindestens 100% CTR hat, sollten die max. 8mA am Ausgang für die S0 Schnittstelle problemlos möglich sein. Eventuell nehme ich daher sogar einen noch grösseren Widerstand (z.B. 330 Ohm). Dann habe ich immer noch 10mA, was immer noch grösser ist, als die max. 8mA.
Findest Du dies auch sinnvoll?ESP8266 können weniger Strom pro GPIO liefern. Ich habe unterschiedliche Angaben gefunden, am meisten so um die 12mA, aber ob dies stimmt, weiss ich nicht. Ein 180 Ohm Widerstand an einem ESP8266 wäre damit zu tief, stimmt. Ich habe den ESP8266 bisher nicht so angeschaut, da ich einen ESP32 dafür verwenden (werde).
ESP32: Vor allem auch sonst, da ich die Software dazu selber geschrieben habe und auch die dual cores sowie FreeRTOS für diese Applikation sehr nützlich finde.P.S.: Und muss nicht noch die forward voltage des Optokopplers abgezogen werden? Wenn diese z.B. 1.2V ist, dann sind von den 3.3V nur noch 2.1V über dem Widerstand. Dann bleiben nur noch 9mA bei einem 220 Ohm Widerstand - womit ich doch bei diesen 220 Ohm bleiben dürfte, falls dies korrekt ist.
-
@mistral said in S0 - Signal mit Wemos D1 Mini erzeugen?:
@dieter_p
Vielen Dank!ESP32 scheint genug liefern zu können. Ich habe keine genauen Angaben gefunden, aber meistens steht so 250mA für alle GPIOs zusammen. 20mA an einem einzelnen GPIO (und nichts weiteres angeschlossen) scheint mir damit problemlos möglich zu sein. Ich habe aktuell ESP32 und einen 4N35 mit einem 220 Ohm Widerstand geplant. Damit habe ich max. 15 mA am Ausgang des ESP32. Und da dieser 4N35 mindestens 100% CTR hat, sollten die max. 8mA am Ausgang für die S0 Schnittstelle problemlos möglich sein. Eventuell nehme ich daher sogar einen noch grösseren Widerstand (z.B. 330 Ohm). Dann habe ich immer noch 10mA, was immer noch grösser ist, als die max. 8mA.
Findest Du dies auch sinnvoll?Klingt für mich plausibel. Komme gerade aber leider nicht dazu genauer rein zu gucken und mach das auch nicht täglich
Vom Prinzip, hatte ich nur auch etwas von 10mA im Kopf für die GPIOS und der Optokoppler ist am Eingang zu behandeln wie eine LED. Die hätte zwar meist gerne etwas mehr aber mit 10mA bekommt man sie auch zum leuchten
Für den OptoKoppler würde ich einen Blick noch auf die maximale Leistung/Strom werfen der da durch gehen darf. Die Spannung mit 80V scheint bei Deinem Typ unkritisch. Generell lieber einen Vorwiderstand größer wählen und dann probieren. Der Optokoppler kostet 20Cent aber den S0-Eingang zB an einer WP würde ich mir nicht schießen wollen, daher lieber einen Vorwiderstand größer und wenn er nicht mehr sicher detektiert reduzieren.
-
@dieter_p sagte in S0 - Signal mit Wemos D1 Mini erzeugen?:
Der Punkt ist dass der S0 Eingang Deiner Wärmepumpe die Spannungsversorgung für den S0-Ausgang (wo auch immer der herkommt) liefert.
sicher?
ich kenne S0 Eingänge nur so, dass dort ein S0 Signal angelegt wird und je nach Impulsfrequenz in dem Getät eine Aktion stattfindet
-
@dieter_p
Vielen Dank für Deine Antwort!
Daher schaue ich dies so genau an, damit dies kein Risiko für den Eingang der WP sein sollte. Daher tendiere ich auch eher darauf, den Ausgangswiderstand auf 200 Ohm zu setzen (statt den oben erwähnten 100 Ohm).
Was mir aber nicht gerade klar ist: Wieso meinst Du, dass die WP defekt geht, wenn der Vorwiderstand zu klein ist? Der Strom seitens der WP muss doch eigentlich durch den Widerstand seitens der WP genügend reduziert sein (und dort bereits auf einen Maximalstrom von 8mA reduziert sein), damit dies für die WP immer "sicher" sein sollte? Oder verstehe ich dies nicht korrekt? Spontan hätte ich jetzt eher vermutet, dass dies seitens der WP nicht korrekt funktioniert, falls der Optokoppler für die WP diese 8mA nicht liefern könnte, die WP dies jedoch benötigen würde. -
@homoran
Ich habe das gleiche Verständnis, wie Dieter_P:
Screenshot gemäss wikipedia, grün markiert habe ich die Seite der S0 Schnittstelle der WP:
Damit ist die Spannungsquelle auf der Seite der WP. Bei Klasse A ist bei S0+ bei der WP damit 27V vorhanden bzw. 15V, falls Klasse B.
Damit ist dies deutlich anders, als wenn Signale sonst per GPIO "mitgeteilt" werden. Daher ist es auch nicht erlaubt, ein GPIO (mit Spannungsquelle) direkt an einen S0 Anschluss z.B. einer WP anzuschliessen, da sonst die S0 Schnittstelle ziemlich sicher kaputt gehen dürfte (da 2 Spannungsquellen damit kurzgeschlossen werden).
Dies zumindest mein Verständnis.
-
@mistral sagte in S0 - Signal mit Wemos D1 Mini erzeugen?:
Ich habe das gleiche Verständnis, wie Dieter_P:
Screenshot gemäss wikipedia, grün markiert habe ich die Seite der S0Prinzipiell stimme ich dem zu!
Aber nicht bei einem S0-EingangEDIT:
@Dieter_P oder meinst du die Versorgung am anderen Ende der Leitung, wo der S0-Ausgang ist soll über den S0 Ei gang der WP laufen? -
EDIT:
@Dieter_P oder meinst du die Versorgung am anderen Ende der Leitung, wo der S0-Ausgang ist soll über den S0 Ei gang der WP laufen?Nö, die S0-Verbindung ist per Standard ein abgestimmtest System. Dabei liefert der S0-Eingang die Spannungsversorgung und der S0-Ausgang funktioniert nur als ein "Ventil" um die Signale zu takten und zurück auf den Eingang zu geben.
Dass es auch Eingänge gibt dies nicht tun, ist mir bewusst, aber bevor ich anfange da irgendwelche Fremdspannungen reinzubringen, halte ich mich zu erst an den Standard (hier die sicherere Nummer ohne etwas zu zerstören) oder schaue ins Handbuch der WP was denn tatsächlich vorliegt
Hier dürfte auch ein Hinweis auf Klasse A oder B zu finden sein.Edit: Wie wir schon mal besprochen hatten, hat Udo da sehr wertvolle Dinge generiert. siehe einen S0 Eingang hier und der Recom 5V auf 24V DC/DC Wandler im Eingang um 24V aktiv auf das S0-System zu geben.
-
@mistral said in S0 - Signal mit Wemos D1 Mini erzeugen?:
@dieter_p
Vielen Dank für Deine Antwort!
Daher schaue ich dies so genau an, damit dies kein Risiko für den Eingang der WP sein sollte. Daher tendiere ich auch eher darauf, den Ausgangswiderstand auf 200 Ohm zu setzen (statt den oben erwähnten 100 Ohm).
Was mir aber nicht gerade klar ist: Wieso meinst Du, dass die WP defekt geht, wenn der Vorwiderstand zu klein ist? Der Strom seitens der WP muss doch eigentlich durch den Widerstand seitens der WP genügend reduziert sein (und dort bereits auf einen Maximalstrom von 8mA reduziert sein), damit dies für die WP immer "sicher" sein sollte? Oder verstehe ich dies nicht korrekt? Spontan hätte ich jetzt eher vermutet, dass dies seitens der WP nicht korrekt funktioniert, falls der Optokoppler für die WP diese 8mA nicht liefern könnte, die WP dies jedoch benötigen würde.Ich quote diese Nachricht, da anschliessend diverse Meldungen waren.
Vielen Dank bereits! -
@mistral said in S0 - Signal mit Wemos D1 Mini erzeugen?:
@mistral said in S0 - Signal mit Wemos D1 Mini erzeugen?:
@dieter_p
Vielen Dank für Deine Antwort!
Daher schaue ich dies so genau an, damit dies kein Risiko für den Eingang der WP sein sollte. Daher tendiere ich auch eher darauf, den Ausgangswiderstand auf 200 Ohm zu setzen (statt den oben erwähnten 100 Ohm).
Was mir aber nicht gerade klar ist: Wieso meinst Du, dass die WP defekt geht, wenn der Vorwiderstand zu klein ist? Der Strom seitens der WP muss doch eigentlich durch den Widerstand seitens der WP genügend reduziert sein (und dort bereits auf einen Maximalstrom von 8mA reduziert sein), damit dies für die WP immer "sicher" sein sollte? Oder verstehe ich dies nicht korrekt? Spontan hätte ich jetzt eher vermutet, dass dies seitens der WP nicht korrekt funktioniert, falls der Optokoppler für die WP diese 8mA nicht liefern könnte, die WP dies jedoch benötigen würde.Ich quote diese Nachricht, da anschliessend diverse Meldungen waren.
Vielen Dank bereits!Auch gerade zwischen "Tür und Angel" stimme ich Dir da zu.
Vergleichst Du die Wikipedia S0 Schaltung ist dort der S0-Bus mit 20mA beschrieben.
Auch im Eingang gibt es einen Widerstand der den Stromfluß begrenzt bevor es raus geht zum S0-Ausgang.
In der S0-Eingangschaltung von Volkszähler ist dieser Widerstand mit 1,2kOhm beschrieben, was bei 24V genau die 20mA ergibt.Bei 27V Klasse A bist du mit 1,2kOhm+200Ohm auch wieder genau bei 20mA.
Aktuelles Fazit. der Widerstand im S0-Ausgang schützt primär den Optokoppler im Ausgang und reduziert weiter <20mA.
Ergänzend scheint er Auswirkung auf die sichere Detektierung zu haben (Thema: Signalverlauf im Anstieg) aber das ist ungeprüft.VG
-
@dieter_p
Vielen Dank!
Ich werde dies auch noch mit einem Labornetzteil (mit 30V) testen, bevor ich dies an die WP anschliesse und die Signale auch noch mit einem Multimeter prüfen. Beides bereits bestellt. Und bevor ich dies an die Wärmepumpe anschliesse, werde ich die Komponenten noch "verlöten" (aktuell nur auf einem breadboard) und dann nochmals prüfen. Danke für Deine zwischen "Tür und Angel" Zustimmung.Für mich daher vor allem noch offen, weshalb die Diode hier bisher nicht besprochen wurde, da diese aus meiner Sicht in der bisherigen Diskussion fehlt. Und ob dies eine "normale Diode" sein kann oder eine Schottky Diode sein sollte. So rasch scheinen mir die Signale auch nicht zu sein, dass dies eine Schottky Diode benötigen würde. Ich denke, ich beginne mit einer normalen Diode und wechsle auf eine Schottky Diode, sofern im Oszilloskop die Flanken zu wenig steil sind. Oder weiss jemand von Euch, was korrekt ist? Danke!
-
@dieter_p sagte in S0 - Signal mit Wemos D1 Mini erzeugen?:
Dabei liefert der S0-Eingang die Spannungsversorgung und der S0-Ausgang funktioniert nur als ein "Ventil" um die Signale zu takten und zurück auf den Eingang zu geben.
das bedeutet aber, dass das S0 Signal, dann nie von zwei Empfängern genutzt werden kann
-
@homoran said in S0 - Signal mit Wemos D1 Mini erzeugen?:
@dieter_p sagte in S0 - Signal mit Wemos D1 Mini erzeugen?:
Dabei liefert der S0-Eingang die Spannungsversorgung und der S0-Ausgang funktioniert nur als ein "Ventil" um die Signale zu takten und zurück auf den Eingang zu geben.
das bedeutet aber, dass das S0 Signal, dann nie von zwei Empfängern genutzt werden kann
Soweit für mich kein Widerspruch zur Norm:
-
So rasch scheinen mir die Signale auch nicht zu sein, dass dies eine Schottky Diode benötigen würde. Ich denke, ich beginne mit einer normalen Diode und wechsle auf eine Schottky Diode, sofern im Oszilloskop die Flanken zu wenig steil sind. Oder weiss jemand von Euch, was korrekt ist?
Nein, kann ich dir nicht mit letzter Gewissheit beantworten. In der Norm steht dazu nix und aus der Schaltung sehe ich da einen Verpolungsschutz, der aber Potential hat das eigentliche Signal zu "versauen". Daher die steile These, dass man darauf auch ggf verzichten kann, wenn man in der Lage ist S0+ und S0- richtig anzuschließen.
Im mikrocontroller-Forum wurde bei der Aufgabe als S0-Ausgang auf eine 1N4148 verwiesen. Um die Signalflanken nicht zu stark zu verfälschen klingt das nach einer Option.
-
@dieter_p
Vielen Dank!
Zusätzlich zu den Berechnungen habe ich jetzt noch ein kleines LTSpice Modell erstellt. Auf der Seite der WP ist dies sicher zu sehr vereinfacht; denke aber, dass dies so ausreichend sein sollte.
Anhand den Simulationen habe ich den Eindruck, dass der Einfluss der Diode sehr gering ist; ob 1N4148, 1N4007 oder eine Schottky Diode, hat fast keinen Einfluss auf die Schalzeiten, soweit ich dies sehe. Ich werde dennoch die 1N4148 verwenden, wie von Dir empfohlen.
Gemäss Norm muss der Strom im EIN-Zustand bei der Klasse A zwischen 10mA und 27mA sein (auch hier bereits am 1.2. gepostet) . Bei zu grossen Widerständen auf der ESP32 Seite (damit bei R2 im unteren Modell) werden jedoch auch diese minimalen 10mA nicht erreicht.
Mit einem 200 Ohm Widerstand (bei R1 im unteren Modell) habe ich, gemäss Modell, max. ca. 16.5mA auf der Seite der WP (z.B. über R3), mit 220 Ohm (als Widerstand jeweils bei R2) ca. 15mA seitens WP, mit einem 470 Ohm gerade noch ca. 6.8mA (was zu wenig wäre, zumindest für Klasse A). Mit 180 Ohm ca. 17.7mA, 150 Ohm ca. 20mA. Ich denke, ich werde etwas zwischen 180 Ohm und 220 Ohm verwenden.
-
@mistral
Vielen Dank! den Gedankengang hatte ich auch, dass man das ja eigentlich theoretisch schön simulieren könnte am PC.
Da ich das aber weniger häufig mache, wäre das eine Aufgabe fürs ganze lange Wochenende und bin dann beim etwas praktischen/ HauRuck Approach geblieben. Priorität auf die Betrachtung was bei der WP kaputt gehen könnte.
Der ESP und "unsere" Bauteile sind ja wirklich Kleinkram und für wenige Cent einfach zu ersetzen.Entsprechend würde man Worst-Case den Eingang der WP einfach Brücken, dann sind wir mit >1350 Ohm (R1+R3) auf einer recht sicheren Seite (20mA für den Optokoppler der WP). Vielleicht kannst Du ja R3 in Deiner WP sogar messen und weißt dann was verbaut ist. Der Rest wäre dann "nur" funktionales AddOn
Um hier bei Problemen auch praktisch etwas tun zu können (Du sprachst vom Multimeter Neukauf), hab ich mich vor Kurzem doch mal durchringen können das heimische Equipment zu erneuern. Klar, ein Multimeter bekommt man für 10€, ein TrueRMS vielleicht um die 25€ hilft hier aber Beides nicht wirklich und ich wollte etwas spielen und hab mir eine Kombigerät aus Multimeter und Osziloskop gekauft. Klar ist das günstiger ChinaKram, aber für die Zwecke und um den getakten ESP-Ausgang zu messen genial (damaliger Preis 95€). Glaube da gibt es mitlerweile sogar neuere Modelle dann mit Funktionsgenerator.
-
@dieter_p
Ebenfalls vielen Dank! Mir hat bei LTSpice vor allem der 4N35 etwas "Kopfzerbrechen" bereitet, wie ich den reinbekomme, da dieser nicht direkt in der library vorhanden ist; und da ich LTSpice bisher nicht verwendet habe.
Da habe ich mich vertippt. Ein Multimeter habe ich. Ich habe mir ein günstiges Oszi (Joy-IT Mini-Handheld DSO-200) bestellt. Sowie ein Labornetzteil. Damit werde ich die 27V zuerst an die Schaltung mit dem Labornetzteil anlegen und den getakteten ESP Ausgang messen. Den Funktionsgenerator habe ich ja über den ESP dazu
Ja, genau, mit R3 (der WP) + R1 (der S0 Schaltung) sollte dies für die WP bereits auf der ziemlich sicheren Seite sein. Zusätzlich noch die Begrenzung durch den Optokopplers (abhängig vom CTR des Optokoppler, R2 und der Spannungsquelle, z.B. 3.3V beim ESP32). Daher tendiere ich für R1 auch eher den Widerstand etwas tiefer zu nehmen (z.B. 180 Ohm, eventuell 200 Ohm), damit das Signal zuverlässig erkannt wird.
P.S.: Jetzt noch das Design der Platine und die Bestellung davon. Ich teste mal KiCad 7 und Fritzing etwas und entscheide mich dann, was ich davon verwende.
... und ich habe die Angaben bei der Simulation noch aktualisiert, da ich einen Fehler dort gesehen hatte (ich hatte 24V statt 27V bei der Spannungsquelle V1). -
Ich habe dies inzwischen noch mit einem Labornetzteil bei 27Volt und mit einem Oszi über den 1000 Ohm Widerstand getestet (R3 im LTSPice Modell). Und mit jeweils 200 Ohm Widerständen bei R1 und R2.
Mit dem Oszi messe ich damit über R3 ca. 18.5V während des "high signals" ("Ein-Zustand"), damit ca. 18.5mA.
Ich vermute, dass dies ziemlich gut sein dürfte (da während des "Ein-Zustands" für Klasse deutlich über den minimalen 10mA und auch unter den maximalen 27mA; und da damit auch nur ca. 10mA über R2 und damit am GPIO des ESP32).
Ich vermute, dass dies gut sein dürfte, sonst bitte Feedback.
Vielen Dank!
P.S.: Gemäss meinem oberen LTSpice Modell wäre dies als Strom über R3 dort ca. 16.5mA (gemessen: 18.5mA). Ca. 10% Abweichung finde ich nachvollziehbar, insbesondere da ich denke, dass es wahrscheinlich unterschiedliche Modelle und auch etwas Toleranz insbesondere beim Optokoppler geben dürfte. -
@mistral
Klingt für mich top.
Was nutzt du für Widerstände 1% Genauigkeit? -
@dieter_p
Vielen Dank!
Ja, korrekt, die Genauigkeit ist mit "TOL: ±1%" angegeben.
Ich habe mir jedoch ein Set gekauft, da ich den Strom mit verschiedenen Widerständen messen wollte. Und bei vielen Sets waren z.B. 220 Ohm, aber nicht 200 Ohm Widerstände dabei. Daher habe ich dies nach den Widerstandsgrössen ausgewählt, die im Set dabei sind, und nicht nach der Genauigkeit. Dies habe ich erst jetzt nachgeschaut. -
@mistral
War für mich nur eine Option um die Schwankung von 10% etwas erklärbarer zu machen. 5% Widerstände dürften wohl kaum noch zum Einsatz kommen und da hätte man ggf etwas optimieren können indem du die Widerstände vorher ausmist und wählst. Aber bei 1% kann man sich das schenkenKlingt gut, lass mal wissen wenn es in Funktion läuft.