Forum: Mikrocontroller und Digitale Elektronik Ritto 17230 Klingelsignal mit ESP32 abgreifen


von Falko (okki95)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin neu in diesem Forum, bin auf dieses aber im Zuge meiner 
recherchen gestoßen. Hier zu meinem kleinen Projekt:

Ich wohne in einer Wohnung, mit einem verhältnismäßig großem Flur. 
Leider führt dies dazu, dass wenn die Tür klingelt man diese auf der 
geringen maximalen Lautstärke in anderen Räumen nicht hört. Da die ganze 
Wohnung mit Alexas voll steht und diese auch mit meinem Home Assistant 
gekoppelt sind, dachte ich, dass man hier sicherlich eine Verknüpfung 
herstellen kann. Daher habe ich mir einen Shelly Uni zugelegt. Dieser 
hat mir aus zwei Grüden nicht gefallen:
1. Er wurde brüllend heiß
2. Die WLAN Verbindung war sehr schwach

Daher dachte ich mir: Mensch, im Studium hast du doch selber mal mit 
Arduinos Signale und co. abgegriffen. Allerdings ist dies alles schon 
über 8 Jahre her und wollte über meine Planung noch einmal Experten 
schauen lassen. Ggf. habe ich hier ja etwas grundlegendes übersehen.

Hier einige Randdaten:
- Klingelanlage: Ritto 17230/0 (siehe Foto von Platine)
- Mikrocontroller: ESP32 (da ESPHome Integration in HA)
- Spannungsversorgung von ESP32 extern über 5Volt USB Adapter, da die 
Platine m.E. nicht viel Strom aufbringen kann. Als ich den Shelly Uni 
als Zusatzverbraucher auf die Platine gelegt habe, konnte ich 
beispielsweise den Türöffner nicht mehr nutzen.

Bisheriges Vorgehen:
1. Recherche zur Platine: Es gibt andere Modelle von Ritto die im 
Internet schon einmal thematisiert wurden, jedoch nicht die meinige. 
Daher habe ich die Gute mal durchgemessen. Dabei ist mir aufgefallen, 
dass der PIN 6 bei dem Fall des Klingelns auf 5Volt hochspringt und nach 
einigen Sekunden wieder abfällt. Außerdem konnte ich GND ausfindig 
machen (PIN5). (Siehe Foto)
2. Ich will nach Möglichkeit nicht an der Platine löten. Daher habe ich 
bereits eine Stecklösung gefunden.
3. Ich habe einen Schaltplan entwickelt. Dieser ist angehängt. Hier 
meine Erklärung diesbezüglich:

Im Normallfall liegen 0 Volt zu GND an:
Der MOSFET sperrt, da weniger als Spannung als der Schwellwert anliegen, 
durch den Pull-Down Widerstand habe ich 0Volt anliegen. Der Pull-Up 
Widerstand auf der ESP32 Seite führt dazu, dass auf dem GPIO 3,3 Volt 
anliegen und somit ein HIGH

Wenn es klingelt liegen 5 Volt zu GND an:
Der MOSFET macht auf, und zwischen Drain und Source liegt eine 
Verbindung vor. Dadurch liegt über GND 0 Volt an dem GPIO und somit ein 
LOW an.

- Der Kondensator dient als Prellschutz und als Tiefpassfilter
- Den Pull-Down Widerstand habe ich mit 20kOhm bewertet um den Strom von 
der Platine nicht überzustrapazieren
- Die Massen muss ich für einen Stromfluss verbinden
- Als MOSFET würde ich gerne einen 2N7002 nutzen

Nun die Frage an die Profis:
Habe ich etwas wesentliches übersehen?


Besten Gruß

Okki :-)

von Carsten P. (r2pi)


Lesenswert?

Hallo,

es ist das übliche Problem mit Fragen dieser Art (ich mache denselben 
Fehler auch immer wieder). WAS WILLST DU?

Also, du hast diese Ritto-Klingel und einen ESP32 (auf welchem Board?). 
Du willst das Signal beim Klingeln abgreifen. Soweit habe ich es noch 
verstanden. Nachdem du ja schon ausgiebig beschrieben hast, welche Pegel 
an der Klingel wo anliegen, wo ist jetzt genau das Problem? Bzw eben WAS 
WILLST DU denn genau machen?

Weil, wenn du nur willst, dass das Klingeln in einem anderen Raum hörbar 
ist, brauchst du das ganze Gedöns ja nicht. Da greifst du das 
Klingel-Signal (wie du sagtest, 5V) ab, ziehst eine Leitung durch die 
Bude und hängst am anderen Ende eine einfache Schaltung und einen 
Piezo-Piepser dran.

Du erzählst was von Alexas? Was haben die damit zu tun? Also, komm auf 
den Punkt und sag, WAS DU WILLST!

Nochmal, nicht böse gemeint, ist aber oft hier so. Und wenn man nicht 
weiß, was das Ziel des Projekts ist, ists schwer, irgendwie was 
Brauchbares beizutragen.

von Marcel V. (mavin)


Angehängte Dateien:

Lesenswert?

Falko schrieb:
> Der Kondensator dient als Prellschutz und als Tiefpassfilter

Ein Tiefpassfilter wird es erst, wenn noch ein 2k2 vor den 100n 
geschaltet wird!

von Falko (okki95)


Lesenswert?

Carsten P. schrieb:
>Und wenn man nicht
> weiß, was das Ziel des Projekts ist, ists schwer, irgendwie was
> Brauchbares beizutragen.

Hallo Carsten,
danke für die Antwort. Nach dem erneuten Lesen meines Beitrages wurde 
mir bewusst, dass das Ziel tatsächlich nicht deutlich beschrieben ist.

Ziel:
Ich will das Klingelsignal über einen "ESP-WROOM-32 
Entwicklungsboard,ESP-32S Modul mit CP2102 Chip" von meiner 
Ritto-Klingel abgreifen. Dieses soll dann anschließend per W-Lan an 
meinen Home Assistent Server weitergegeben werden (dafür würde ich dann 
die Integration ESP Home nutzen). Dieser hat wiederum eine direkte 
Anbindung zu meinen Alexas, welche dann zeitgleich und in allen Räumen 
klingeln und ggf. etwas sagen wie: "Es klingelt an der Tür". Zudem soll 
in Home Assistent dann protokolliert werden wann die Klingel betätigt 
wurde.

Zu dem Piezo-Element:
Das wäre sicherlich auch einen Versuch wert. Allerdings verliere ich 
somit die Möglichkeit zu protokollieren wann die Türklingel betätigt 
wurde. Zudem würde ich gerne diese Schnittstelle zu Home Assistent 
schaffen :-)

Gruß
Falko

von Falko (okki95)


Lesenswert?

Marcel V. schrieb:
> Ein Tiefpassfilter wird es erst, wenn noch ein 2k2 vor den 100n
> geschaltet wird!

Hallo Marcel,

danke für diesen Hinweis! Natürlich hast du da recht. Aktuell hätte ich 
keinen Tiefpassfilter drin. Wie kommst du auf den 2k2 Widerstand? Ist 
das ein Erfahrungswert?

Wenn ich mich recht erinnere bildet sich die Zeitkonstante wie folgt:
T = R*C = 2200*100 * 10^-9 = 220 Mikrosekunden

Die Eckfrequenz:
F = (1/2Pi*R*C) = 723HZ

Mir fehlt hier leider ein wenig die Erfahrung. Von den Werten her würde 
ich sagen, dass es passt, da die 5Volt für mich beim Durchmessen ja 
sichtbar waren und somit vermutlich etwas länger anstehen. Allerdings 
habe ich kein Oszilokop genutzt.

Gruß
Falko

von Marcel V. (mavin)


Lesenswert?

Falko schrieb:
> Wenn ich mich recht erinnere bildet sich die Zeitkonstante wie folgt:
> T = RC = 2200100 * 10^-9 = 220 Mikrosekunden

Wenn der 5V Eingang über einen Schaltkontakt angesteuert wird, dann sind 
es sogar 2,2ms und nach 5 Tau sogar 11ms, weil sich der 100nF auch noch 
über den 20k entladen muss.

1k und 470nF sind auch ok. Es soll ja nur das Kontaktprellen unterdrückt 
werden. Der Widerstand schützt die Relaiskontakte nur vor 
Abnutzungserscheinungen.

Falko schrieb:
> da die 5Volt für mich beim Durchmessen ja sichtbar waren

Kommt das Signal wirklich von einer stabilen 5V DC Quelle über einen 
Relaiskontakt, oder sind das womöglich die direkten 8V / 50Hz 
Wechselspannung vom Klingeltrafo, die durch die Klingellast einfach nur 
auf 5V zusammenbrechen?

von Falko (okki95)


Lesenswert?

Marcel V. schrieb:
> Wenn der 5V Eingang über einen Schaltkontakt angesteuert wird, dann sind
> es sogar 2,2ms und nach 5 Tau sogar 11ms, weil sich der 100nF auch noch
> über den 20k entladen muss.

Bei meiner Rechnung habe ich tatsächlich den Pull-Down-Widerstand 
vergessen. Am Schluss landen wir somit bei 2.2ms. Das schätze ich tut es 
:-)


Marcel V. schrieb:
> Kommt das Signal wirklich von einer stabilen 5V DC Quelle über einen
> Relaiskontakt, oder sind das womöglich die direkten 8V / 50Hz
> Wechselspannung vom Klingeltrafo, die durch die Klingellast einfach nur
> auf 5V zusammenbrechen?

Also Ritto nutzt für die Kommunikation zwischen Trafo und Klingel einen 
sogenannten TWINBUS. Dabei handelt es sich um ein proprietäres 
Protokoll. Der Bus überträgt über zwei Drähte die Kommunikation und 
speist ca. 24VDC auf die Platine.

Daher gehe ich davon aus, dass wir hier tatsächlich eine Gleichspannung 
vorliegen haben. Ob die Quelle stabil ist, ist mal dahingestellt ;-). 
Auf meinem Multimeter konnte ich beim Klingeln sehen, dass sich die 
Spannung auf ca. 4.91VDC aufbaut und dann langsam wieder abfällt. Aber 
dies sollte doch ausreichen um das Signal für meinen MOSFET zu 
missbrauchen, oder?

Schon mal vielen Dank für deinen Input!

Gruß Falko

von Marcel V. (mavin)


Angehängte Dateien:

Lesenswert?

Falko schrieb:
> dass sich die Spannung auf ca. 4.91VDC aufbaut und dann langsam wieder
> abfällt. Aber dies sollte doch ausreichen um das Signal für meinen
> MOSFET zu missbrauchen, oder?

Dieses arithmetisch gemittelte Datensignal kann alle möglichen 
Spannungen haben. Im Extremfall sogar die genannten 24V. Ein Oszilloskop 
würde da Klarheit schaffen.

Ohne Oszilloskop könnte man rein prophylaktisch einen 
Spitzenwertdetektor mit vorgeschalteter Diode verwenden und zum Schutz 
parallel zum Gate noch eine 10V Z-Diode schalten.

von Falko (okki95)


Angehängte Dateien:

Lesenswert?

Marcel V. schrieb:
> Ohne Oszilloskop könnte man rein prophylaktisch einen
> Spitzenwertdetektor mit vorgeschalteter Diode verwenden und zum Schutz
> parallel zum Gate noch eine 10V Z-Diode schalten.

Soweit habe ich natürlich nicht gedacht... Also hat es sich schon 
gelohnt das Projekt hier mal vorzustellen :-)

Also dann wie folgt:

Shottky-Diode: BAT54

    Durchlassspannung (VF): ca. 0,25–0,45 V (bei niedrigen Strömen)
    Max. Sperrspannung: 30 V
    Max. Strom: 200 mA

Zenner-Diode: BZX55C10

    Zenerspannung: 10 V (bei 5 mA)
    Toleranz: ±5 %
    Maximaler Strom: ca. 90 mA
    Leistung: 0,5 W

Dementsprechen habe ich den Vorwiderstand RZ auf 2kOhm ausgelegt, sodass 
bei 10 Volt genau 5mA anstehen.

MOSFET: 2N7002

    Drain-Source-Spannung : 60 V
    Gate-Source-Spannung : ±20 V
    Maximaler Drain-Strom:
        115 mA (kontinuierlich, bei VGS=10 VVGS​=10V)
        800 mA (Pulsbetrieb)
    Leistung: 300 mW

    Durchlasswiderstand:

    Typisch 5 Ω bei VGS=4.5 VVGS​=4.5V und ID=500 mAID​=500mA.
    Typisch 2 Ω bei VGS=10 VVGS​=10V.

Damit könnte ich es mal versuchen, oder?

von Marcel V. (mavin)


Lesenswert?

Den 2k Vorwiderstand RZ vor der Z-Diode solltest du weglassen, denn du 
willst ja das Gate vor Überspannung schützen!

Sonst bilden RV und RZ einen Spannungsteiler und die daran abfallende 
Spannung wird dann noch oben auf die 10V Z-Spannung draufgepackt. Dein 
Gate hält aber nur max. 18V aus. Da solltest du mit der Spannung drunter 
bleiben!

Z-Diode immer direkt parallel zur GS-Strecke!

von Stephan S. (uxdx)


Lesenswert?

Wird denn der ESP extern oder von der Ritto-Anlage gespeist?

Die ESP vertragen an den Eingängen max 3.6 Volt.

Falls extern, würde ich einen Optokoppler nehmen: die LED mit 
Vorwiderstand von der Klemme KL2 der Ritto ansteuern und den Transistor 
des OK an den Eingang des ESP hängen, von letzterem noch Pullup zu 3v3.

von Max I. (powermeter)


Lesenswert?

Du willst Ritto 1764600 kaufen oder dir dreisterweise die 0815-Schaltung 
abschauen ;), dann kannst du potentialfrei und ohne den Bus zu stören 
mit ESP & Co. weiterbasteln.

https://www.se.com/de/de/product/1764600/rufanschaltrelais-rufanschaltrelais/

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.