Hallo, ich habe eine Pool Wärmepumpe (Marke: wellness2wellness) und würde diese gerne mit einem ESP32 via WLAN steuern. Anbei ein paar Bilder der Steuerungsplatine. Die Platine hat 4 Knöpfe: - Ein/Aus - Temperatur rauf - Temperatur runter - Modus sowie 2 LEDs die den aktuellen Betriebsstatus zeigen: - Silent Mode - Normal Mode - Aus (keine LED leuchtet) Nun ist mein Ziel, dass ich den Taster Ein/Aus sowie den Taster Modus via ESP32 steuern möchte, sowie den Status der LEDs verarbeite um zu erkennen in welchen Status sich die Wärmepumpe befindet. Die Platine selbst wird mit 12V versorgt, darauf ist noch ein Spannungsregler 78M05. Folgendes mein Plan für die Taster: - Messung der Spannung am Taster - Messung des Stroms beim Überbrücken des Ein/Aus Tasters - Anhand des Stroms und Spannung Berechnung des Basiswiderstands für einen NPN Transistor (z.B. 5V / (10mA/200) => 100k Rb) - Gleiches für den Modus Taster Und hier mein Plan zur Erkennung des aktuellen Status anhand der LED: - Spannung an der LED messen wenn sie an ist - Spannungsteiler mit 2 Widerständen bauen, damit ich die Spannung auf 3V bekomme - Die 3V vom Spannungsteiler bzw. 0V wenn LED aus an einem GPIO anschießen der als Input konfiguriert ist - Gleiches für die 2. LED Die Versorgung des ESP32 würde ich über die 12V mit einem DC-DC Step Down machen. Ich würde mich über Feedback freuen ob das so funktionieren könnte oder ich was falsch bedacht habe. Danke!
Die Taster arbeiten alle höchstwahrscheinlich hart gegen Masse, da kannst Du Dir die Strom-Berechnung sparen. Schalttransistor wie 'nen BC547C mit 10..22k in Sättigung und alles wird gut. Bei den LEDs musst halt mal schauen wie die beschaltet sind, wahrscheinlich ist ein Pol +5V oder Masse und der andere geht an den Vorwiderstand der LED. Am anderen Ende dieses Widerstandes kann man prima messen, notfalls über einen hochohmig angebundenen Transistor. Wenn die LEDs mit der Anzeige gemultiplext sind, dann wird's schwerer. Evtl. geht dann was über einen Optokoppler parallel zur LED wenn der Treiberstrom dafür ausreicht.
:
Bearbeitet durch User
Genau, die Taster sind alle gegen Masse. Danke für die Info mit den LEDs und die Optokoppler Idee. Eventuell finde ich auch noch einen anderen Punkt der einen sauberen Zustand wiederspiegelt. Dann werde ich mich mal dran machen und das ausprobieren. Danke für deine Hilfe!
Hi, du hast Recht, die LED ist irgendwie mit der 7 Segment Anzeige zusammengeschaltet. Wie funktioniert das? Mir ist das nicht ganz klar. Die Spannung ist immer nahezu gleich an beiden Polen der LED. Wenn ich den Optokoppler parallel schalte, was für einen würdest du empfehlen? Habe noch nir mit Optos gearbeitet. Danke!
Ich habe mich mal schlau gemacht wie das mit den multiplexten LEDs ist. Aus meiner Sicht brauche ich ja dann eigentlich nur die Eingänge der LEDs prüfen und abhängig von deren State HIGH/LOW müsste ich wissen welche LED leuchtet? Was mich wundert ist, dass ich gestern bei der Messung an der LED auf der Kathode immer ca. 1,6V hatte und auf der Anode bei EIN (eine von 2 LEDs) 2,5V und bei AUS (alle LEDs aus) 2,0V. Bedeutet aus meiner Sicht, dass bei 0,4V die LED wahrscheinlich nicht anspringt, aber darüber (0,5-0,6V?). Wenn ich das richtig verstehe, muss ich also die 2,0V auf 0V bringen und die 2,5V auf 2,5V lassen damit ich es als Input für den ESP32 verwenden kann. Oder einen Bauteil der bei 2,1-2,4V schaltet. Oder ich verwende die analogen Inputs des ESP32. Für einen Tipp was die "sauberste" Lösung ist, wäre ich dankbar.
Dominik schrieb: > Was mich wundert ist, dass ich gestern bei der > Messung an der LED auf der Kathode immer ca. womit gemessen? wenn die gemultiplext ist, bringt dir ein Multimeter rein garnichts. bestenfalls zeigt es dir den RMS Wert an, falls es das kann. Wenn du was sehen willst, brauchst du schon ein Oszi. Ansonsten einfach den Tipp mit Opto + Vorwiderstand befolgen.
Hi, ja, mit Multimeter gemessen. Sorry, aber kannst du mir erklären warum das mit Multimeter nicht funktioniert? Wenn da ein Signal drauf wäre, dann würde ja die LED blinken oder weniger hell leuchten. Multiplext bedeutet ja nur, dass über die weniger Ausgänge mehrere LEDs steuern können. Der Ausgang ist aber dennoch stabil HIGH oder LOW und nicht moduliert. Ansonsten müsste die LED ein Signal verarbeiten. Schon mal danke für deine Hilfe!
Ich glaube jetzt verstehe ich es, wenn natürlich 2 LEDs leuchten, dann müssen die Ausgänge klarerweise schnell umgeschaltet werden und somit ist es mit einem Multimeter nicht messbar. Ok, dann werde ich einen Optokoppler parallel schalten. Ich würde einfach 10k Vorwiderstand probieren und testen ob der Optokoppler mit so wenig Strom "schaltet". Gibt es Empfehlungen welcher Opto für so eine Schaltung gut verwendbar ist? Danke euch für die Hilfe hier!
10k sind etwas viel, ich würde das mit 1..2mA Strom durch die LED des Optokopplers probieren. Haben die LEDs ihrerseits Widerstände (kann keine erkennen) oder wird deren Strom durch den Treiber begrenzt? Was ist IC3 für ein Typ? Von Optokopplern gibt es meistens Einteilungen nach CTR, also danach, wieviel Strom ihr Ausgang in Abhängigkeit vom LED-Strom zulassen würde. Optokoppler haben da eine recht hohe Exemplarstreuung, beim Allerwelts-Optokoppler PC817 z.B. kann man welche mit 50..600% CTR bekommen. Daher am besten einen Optokoppler mit möglichst hoher CTR nehmen und die Schaltung so auslegen, daß sie auch mit deutlich weniger klarkommen würde. Falls die Parallelschaltung nicht funktioniert, kann man noch einen Schritt weiter gehen - originale LED rausschmeißen, Optokoppler an ihrer Stelle rein, die originale LED kann man dann entweder über die eigene Schaltung weiterhin leuchten lassen oder evtl. braucht man sie sowieso nie wieder. Bei der Signalauswertung daran denken, daß man am Ausgang des Optokopplers die PWM-Frequenz des LED-Multiplexing sieht, da kommt also kein stabiles Signal raus. Dafür muss man selbst sorgen, entweder über ein RC-Glied oder in Software auf seinem µC.
Der 7805 ist doch ein Linearregler, der verheizt unnötig. Der ESP läuft mit 3,3 Volt, wenn du eine 5 Volt-Versorgung hast, ist da auch ein Linearregler drauf. Also warum nicht gleich von 12 Volt einen Stepdown auf 5 Volt für Platine und ESP ? Oder gar einen Stepdown von den 5 Volt auf 3,3 für den ESP.
Die LEDs haben keine Vorwiderstände. So wie ich es sehen konnte, sind die direkt am TM1637 dran. Ich versuche mal einen Optokoppler mit garantiertem hohen CTR zu finden und werde den parallel schalten. Den LTV-817-C hätte ich da gefunden, muss nur mehr einen Distributor finden. Den Vorwiderstand vom Optokoppler rechne ich mal mit einer Spannung von 3V. Wenn der Optokoppler ca. 1,2V nimmt, so bleiben 1,8V am Vorwiderstand und somit wären es bei 1mA 1k8 Ohm. Um das PWM Signal zu "glätten" werde ich ein RC-Glied einbauen, damit ich am ESP32 einen sauberen Zustand erhalte und der nicht ganze Zeit rechnen muss. @Fred, ich habe schon einen Stepdown von 12V auf 3,3V drin der mir den ESP32 versorgt.
Das ist Murks. Gehe lieber auf die Verbindung zwischen Prozessor und TM1637 und lausche dort die Datenübertragung mit. Es ist ein ein 2-wire Interface. D.h. du brauchst auch nur zwei Eingänge am ESP, wovon einer einen Interrupt triggert. In diesem liest Du dann das aktuelle Bit des zweiten Eingangs ein und schiebst es in eine Variable.
Fabian H. schrieb: > Das ist Murks. Gehe lieber auf die Verbindung zwischen Prozessor und > TM1637 und lausche dort die Datenübertragung mit. Es ist ein ein 2-wire > Interface. D.h. du brauchst auch nur zwei Eingänge am ESP, wovon einer > einen Interrupt triggert. In diesem liest Du dann das aktuelle Bit des > zweiten Eingangs ein und schiebst es in eine Variable. Diese Lösung gefällt mir gut, weil dann könnte ich sogar alles mitlesen was an den TM1637 gesendet wird und somit auch die aktuelle Temperatur (die am 7-Segment angezeigt wird) auslesen. Da muss ich mich mal schlau machen wie das TM1637 Protokoll aussieht bzw. wie ich es mit ESPHome dekodieren kann, da ich das als Basis verwende.
> Die LEDs haben keine Vorwiderstände Das ist schlecht, dann ziehen sie die Spannung weg, die für einen Optokoppler mitsamt Vorwiderstand bleiben müsste. Keine Ahnung wie hoch die Spannung am LED-Treiber für eine LED sein darf, falls es für Optokoppler und die LED in Reihe reicht, könnte man das probieren. Den Datenverkehr zum LED-Treiber mitlesen hatte ich auch schon drüber nachgedacht, aber das hängt davon ab, wie fit Du mit dem ESP32 bist.
Dominik schrieb: > Nun ist mein Ziel, dass ich den Taster Ein/Aus sowie den Taster Modus > via ESP32 steuern möchte, Wenn man sicher gehen will, nimmt an einfach zwei kleine Reedrelais. Dann braucht man sich um die Signale, die über den Taster laufen, nicht zu kümmern.
Ben B. schrieb: >> Die LEDs haben keine Vorwiderstände > Das ist schlecht, dann ziehen sie die Spannung weg, die für einen > Optokoppler mitsamt Vorwiderstand bleiben müsste. Keine Ahnung wie hoch > die Spannung am LED-Treiber für eine LED sein darf, falls es für > Optokoppler und die LED in Reihe reicht, könnte man das probieren. Stimmt, danke für die Info. Da müsste ich dann wohl eher die LED "umgehen" und in meine Schaltung integrieren. > Den Datenverkehr zum LED-Treiber mitlesen hatte ich auch schon drüber > nachgedacht, aber das hängt davon ab, wie fit Du mit dem ESP32 bist. Ich denke das bekomme ich hin. Hab mir schon ESPHome Custom Sensor (https://esphome.io/components/sensor/custom.html) angeschaut. Wenn ich das auslesen der beiden GPIOs (CLK, DIO) dort einbaue und dann richtig verarbeite, sollte das klappen. Wird ein paar Tage/Wochen dauern das Software Projekt :) Aus diesem Code hier https://esphome.io/api/tm1637_8cpp_source.html sollte sich das Protokoll auch gut rekonstruieren lassen. Wenn es klappt, poste ich hier den custom code. Harald W. schrieb: > Wenn man sicher gehen will, nimmt an einfach zwei kleine Reedrelais. > Dann braucht man sich um die Signale, die über den Taster laufen, > nicht zu kümmern. Ich versuche Relais in solchen Schaltungen wg. der Größe zu vermeiden. Daher hab ich den BC547C verbaut der die Taster sehr sauber ansteuert. Das funktioniert auch schon für alle 4 Taster. Aber ja, du hast Recht, mit dem Relais müsste man sich gar keine Sorgen machen.
Eine Frage, würdet ihr zwischen den TM1637 und den ESP32 noch einen Widerstand empfehlen? Ich hätte sonst mal sicherheitshalber 10k reingegeben zwischen TM1637 CLK/DIO und den GPIO des ESP32. Danke euch!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.