Rollladensteuerung mit ESP01 für Schalterdoseneinbau

Begonnen von Papa Romeo, 12 Juni 2018, 18:43:52

Vorheriges Thema - Nächstes Thema

Papa Romeo

#390
ok....muss ich nochmal kontrollieren ob ich auch der richtigen Sketch gepostet habe...
...geht aber erst heute Abend, da ich im Moment noch auf Tagung bin...

edit:   ok, Andy, mein Fehler.
          Die Datei die ich hier https://forum.fhem.de/index.php/topic,88615.msg945656.html#msg945656 gepostet hatte, war eine Testversion vom Juni 18.
         
          Ich hab sie gegen die Endversion vom Nov. 18 ausgetauscht. PW ist das Gleiche.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

riker1

Hallo Papa,

hatte gerade ein merkwürdiges Phänomen.

es war kein ESP im Modul, trotzdem fuhr der Rollladen auf einmal hoch?

Woher kann der Impuls dazu kommen?

Irgendein Lötfehler? Spanung in einem Kondensator?

Danke für einen Tip.

VG T
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Papa Romeo

Transistor oder FET verbaut?

Wahrscheinlich FET....

PS: ganz vergessen, die 24 Platinen müssten Morgen eigentlich bei dir aufschlagen.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

riker1

Hallo Papa,

FET verbaut, allerdings den mit 50mA.....

Danke für die Platinen, schick mir noch den offenen Betrag .

Schönen Abend T
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Papa Romeo

Wenn kein ESP gesteckt ist, kann das Gate des FET´s wie eine "Antenne" wirken und den FET durchsteuern.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

#395
Hallo Papa Romeo,

in deinem Rollladensketch hast du auch eine Abfrage und Übermittelung der Spannung des ESP per MQTT zu Fhem eingebaut:
// Zuweisung der GPIO´s muss nur für andere Board´s (Wemos, ESP12 usw.) geaendert werden
#define VOLTAGE 14
#define SENSOR1  2
...

Bei diesem Modul wird ja ein ESP8266-01 eingesetzt.
Wenn man in einem anderen Projekt ein anderen ESP8266 (z.B. ESP-12F, Wemos D1 mini, NodeMCU) einsetzt, bei welchem GPIO kann man die Spannung auslesen, bzw. wie kann ich das herausfinden? Oder ist es immer der identische GPIO 14?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

#396
Hallo Gisbert,

bei dem Sketch mach ich die Abfrage intern (Onboard Betriebsspannungsabfrage) und hat nichts mit den GPIO´s zu tun. Der GPIO 14 ist hier nur ein Dummy (irgend ein unbenutzter GPIO) damit die Intervall-Abfrage der Betriebsspannung funktioniert hat und hat auch nichts mit dem Analogeingang A0 (GPIO17) zu tun. Habe ich in irgend einem Sketch so gesehen und dann 1:1 übernommen. In einem anderen Sketch z.B. habe ich für Voltage GPIO16 definiert und funktioniert genauso.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

sparkiie

Ich muss den alten Thread nochmal rauskramen.
Es geht immer noch um das Verkleben der Relais bereits nach wenigen Schaltvorgängen. Beim Rollo Schalter konnte ich mit NTC das Problem lösen.
Nun habe ich einen Schalter für meine TV Ecke (TV, Sat Reciever,  AV Reciever) verbaut. Bereits nach 3-4 Schaltungen hing das Relais. Dieses habe ich getauscht und mit neuem Relais direkt nach wenigen Schaltungen das selbe Problem. Ein NTC ist bei der Schaltung nicht geeignet.
Liegt der Fehler an der Bauweise der Relais? Ein Shelly läuft bereits mehrere zig Schaltungen ohne Probleme...

Gisbert

Hallo sparkiie,

bei mir laufen alle Rollladenschalter mittlerweile schon länger ohne jedes Problem, teils mit teils ohne NTC. Ich bin mittlerweile der Meinung, dass das damalige Problem nicht an den Relais lag. Ich kann mich erinnern, dass ich ein Relais beim Ausbau mehr oder weniger zerstört hatte, zumindest das Kunststoffgehäuse. Beim Testen danach schaltete das Relais perfekt, nicht die Spur davon zu sehen, dass was hängt.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Katzechrisu

#399
Hallo Leute, darf ich das Thema nochmal aufgreifen?
Zu den Widerständen bei verbautem BS170. Ist es da jetzt besser 47k (wie im Schaltplan des Universalschalters) oder 10k (wie auf der Platine gedruckt) oder doch besser nur 100-200 Ohm?
Ich hatte da vor langer Zeit eine Universal und eine RolloV.1 gelötet. Die Funktionen ist eigentlich top (und ohne verkleben der Relais)😎
Nur desöfteren starten die Module aus unerklärlichen Gründen, während der Fahrt, neu. Dann ist der Referenzpunkt natürlich weg. Kann das an den Widerständen liegen(Firmware Tasmota 8.1.0.6)?
Ich hatte damals (Ende 2018) Probleme mit dem Malbbergsclone von Papa. Da hatte ich eine flatterndes Relais wenn der 230Volt Schaltereingang nicht an war. Dieses Prob wurde dann durch das verdoppeln des 47k auf 100k gelöst. Das währe ja aber hier genau anders.
PapaRomeo schreibt auch von verwenden des BC 337. Ich habe das damals aus der Stückliste bzw. aus der Schaltplan des Universalschalters entnommen das es ein BS 170 ist und 10k-47k.

@ Gisbert es ist ja nun seit geraumer Zeit möglich mit Tasmota (glaube Version 7) ,die 1.Rolloversion zu benutzen ohne Interlock. Ab schalten Relais 1+2 und Auf nur Relais 1. Nur ist dann ein vorOrtTaster für auf/ab und einer für an/aus. Aus der Website heraus braucht man nur hoch oder runter zu drücken und die Relais schalten nur für die eingestellte Zeit. Wenn ich allerdings den vor Ort Taster nutze bleibt immer Spannung auf dem Motor bis ich mit dem An/aus Schalter ausschalte. Dann werden die Endschalter des Rollos verwendet und nicht die eingestellte Open oder close Zeit.
Hast du das mit den Rules gelöst? Könntest du mir nochmal ein Beispiel für eine Rule geben damit der VorOrtTaster läuft?

Was sind das für NTC von denen ihr schreibt? Welche Werte müssen die haben?

Übrigens gibts es mittlerweile zig solche Module fertig zu kaufen. Ich hatte mir 40 Platinen bestellt und Bauteile aber nur ein Paar zusammen gebaut. Aber trotzdem werde ich das jetzt mal angehen. Mit den Platinchen ist man ja auch flexibel und kann ggfs. nur das verbauen was auch gebraucht wird. Und ganz wichtig finde ich die galvanische Trennung!
Außerdem macht es Spaß sowas selber zu bauen.

Papa Romeo

Hallo Katzechrisu,

hier mal was grundsätzliches zur Ansteuerung:

FET´s (BS170)

- diese werden leistungslos gesteuert.
- d.h. es fließt kein Steuerstrom (Gate-Strom).
- wenn kein Strom fließt,  entsteht auch kein Spannungsabfall.
- das wiederum heißt die Spannung vor dem Widerstand ist gleich der Spannung nach dem Widerstand
- also ist es eigentlich egal wie groß der Gate-Widerstand ist

aber

- alles kein Problem solange der GPIO High-Pegel hat
- hat der GPIO LOW-Pegel, liegt das Gate über diesen hohen Widerstand an Masse
- Störspannungen können nun sehr gut am Gate wirken und zu ungewolltem Durchsteuern führen.
- idealerweise wäre also ein Gate-Widerstand von 0 Ohm ideal
- kann aber wiederum zu Folge haben, dass bei einem Gate-Schluss des FET´s der GPIO zerstört werden kann.

Abhilfe: Widerstand im Bereich 100 Ohm bis etwa 470 Ohm / 1 kOhm.


Bipolarer Transistor (BC337)

- es fließt zur Ansteuerung ein Basis-Emitter-Strom
- dieser Strom liegt je nach Transistor-Typ maximal im zwei- bis dreistelligen uV - Bereich
- dieser Strom soll am Transistor zum Durchsteuern eine Spannung Ube > 0.7 Volt erzeugen
- wird die Basis-Spannung zu hoch, wird der Transistor zerstört
- also muss die Differenz zwischen der GPIO Ausgangsspannung (3.3 / 5 Volt) und der maximalen Ube irgendwie "verbraten" werden

Abhilfe: Die Basis wird über eine Vorwiderstand angesteuert, der in diesem Fall dann im zwei- bis dreistelligen kOhm-Bereich liegt

PS: Um den Störabstand bei bipolaren Transistoren zu erhöhen, wird daher oft noch ein Widerstand von der Basis nach Masse eingelötet, der
       so bemessen ist, dass an der Basis des Transistor´s in etwa so maximal 1 bis 1,5 Volt wirken können. (Transistor-Schalterbetrieb)

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Katzechrisu

Jo das glaube ich dir. Aber was rätst du jetzt? Wie gesagt ich habe nur das Problem das die Module aus irgendwelchen Gründen einfach neu starten. Das sieht man in der Tasmota Konsole wenn man zufälligerweise davor sitzt. Oder bei Informationen sieht man dann die Laufzeit.
Als Neustartgrund steht dann da Hardwarewatchdog, was auch immer das heißt. Im Tasmota Wiki und Google hab ich nix gefunden.

Es ist mir nur letztens zufällig aufgefallen das ein Rolladen mal wieder nicht ganz auf war. Dann habe ich heute hier weiter gelesen wo ich vor einem Jahr aufgehört hatte mitzulesen und bin dadurch auf die Problematik mit dem Gate Widerstand aufmerksam geworden.
Hattest du den auch Module mit bipolar-Transistoren aufgebaut? Irgendwo hatte ich gelesen das du BS 170 oder BC 337 geschrieben hattest.


Papa Romeo

Ja, am Anfang hatte ich Module mit bipolaren Transistoren aufgebaut und bin dann teilweise auf die FET´s gegangen. Der Grund war damals das Boot-Verhalten des ESP01. Bei Booten mussten ja GPIO 0,1 und 2 zwingend "HIGH"-Pegel haben und da hatte ich das Problem, dass wenn an einem dieser GPIO´s ein Transistor für z.B. ein Relais angeschlossen war dieser zeitweise nicht bootete. Trotz Vorwiderstand. Weiß der Teufel warum. Ich schätze aber der Grund dafür sind interne Pullup´s, die auch bei der Konfiguration als Output, als Schutz für die GPI´s verbaut sind. Mit den FET´s war dieser Effekt jedenfalls dann weg.

FET´s würde ich Niederohmig ansteuern.

Das mit dem Watchdog hatte ich auch schon mal. Ich meine mich zu erinnern, dass dies damals mit einer Abfrage-Schleife zusammen hing, die zu lange dauerte, bzw. auf die keine Antwort kam.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

Hallo Katezchrisu,

ich habe 2 verschiedene Platine im Einsatz; soweit ich mich erinnern kann, hab ich die BS170 verbaut.
NTC: ich hab diese verbaut, aber nicht bei allen Rollläden, nur bei denen, die mal Probleme gemacht haben.

Ich habe 2 verschiedene Paltinen für die Rollläden im Einsatz; folglich gibt es 2 verschiedene Rules-Sätze. Vorort gibt es Drehschalter. Durch die Rückmeldung per Rule weiß ich, ob ein Schaltbefehl von Fhem, von der Weboberfläche oder von der Vorortschlatung gekommen ist. Bei den Rules gibt es noch zu bedenken, dass sie nicht länger als 511 Zeichen sein dürfen, zumindest bei dem damaligen Firmwarestand 6.3.0.

Platine Shutter.zip
Rollladenschalter Papa Romeo mit Tasmota
Toggle 1 Strom an/aus
Toggle 2 Hoch/Runterfahren
Klemme / Switch3 1 on Runterfahren
Klemme / Switch4 2 off Hochfahren

rule1
on switch3#state=1 do backlog power1 off; delay 2; power2 on; delay 2; power1 on endon
on switch4#state=1 do backlog power1 off; delay 2; power1 on endon
on switch3#state=0 do backlog power1 off; delay 2; power2 off endon
on switch4#state=0 do power1 off endon
on switch3#state=1 do ruletimer1 10 endon
on rules#timer=1 do publish stat/RollladenWZTerr/cmd manDown endon
on switch4#state=1 do ruletimer2 10 endon
on rules#timer=2 do publish stat/RollladenWZTerr/cmd manUp endon

rule2
on event#Down do backlog power1 off; delay 2; power2 on; delay 2; power1 on endon
on event#Slit do backlog power1 off; delay 2; power2 on; delay 2; power1 on; ruletimer3 26 endon
on rules#timer=3 do backlog power1 off; delay 2; power2 off endon
on event#Up do backlog power1 off; delay 2; power1 on endon
on event#Stop do backlog power1 off; delay 2; power2 off endon
on power1#state=1 do publish stat/RollladenWZTerr/cmd eUp endon

rule3
on event#Down do ruletimer4 10 endon
on rules#timer=4 do publish stat/RollladenWZTerr/cmd FhemDown endon
on event#Slit do ruletimer5 10 endon
on rules#timer=5 do publish stat/RollladenWZTerr/cmd FhemSlit endon
on event#Up do ruletimer6 10 endon
on rules#timer=6 do publish stat/RollladenWZTerr/cmd FhemUp endon
on event#Stop do ruletimer7 10 endon
on rules#timer=7 do publish stat/RollladenWZTerr/cmd FhemStop endon
on power2#state=1 do backlog delay 30; publish stat/RollladenWZTerr/cmd eDown endon


Platine Switch.zip
Rollladenschalter Papa Romeo mit Tasmota

Toggle 1 Runterfahren
Toggle 2 Hochfahren

rule1
on switch3#state=1 do backlog power2 off; delay 2; power1 on endon
on switch4#state=1 do backlog power1 off; delay 2; power2 on endon
on switch3#state=0 do backlog power1 off; power2 off endon
on switch4#state=0 do backlog power2 off; power1 off endon

rule2
on event#Down do backlog power2 off; delay 2; power1 on endon
on event#Slit do backlog power2 off; delay 2; power1 on; ruletimer1 23 endon
on rules#timer=1 do power1 off endon
on event#Up do backlog power1 off; delay 2; power2 on endon
on event#Stop do backlog power1 off; delay 2; power2 off endon
on power1#state=1 do publish stat/RollladenSZ/cmd eDown endon
on power2#state=1 do publish stat/RollladenSZ/cmd eUp endon

rule3
on switch3#state=1 do backlog delay 10; publish stat/RollladenSZ/cmd manDown endon
on switch4#state=1 do backlog delay 10; publish stat/RollladenSZ/cmd manUp endon
on event#Down do backlog delay 10; publish stat/RollladenSZ/cmd FhemDown endon
on event#Slit do backlog delay 10; publish stat/RollladenSZ/cmd FhemSlit endon
on event#Up do backlog delay 10; publish stat/RollladenSZ/cmd FhemUp endon
on event#Stop do publish stat/RollladenSZ/cmd FhemStop endon


Wenn noch Fragen sind, dann gerne fragen.
Viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Katzechrisu

Zitat von: Papa Romeo am 16 Februar 2020, 18:58:02
Ja, am Anfang hatte ich Module mit bipolaren Transistoren aufgebaut und bin dann teilweise auf die FET´s gegangen. Der Grund war damals das Boot-Verhalten des ESP01. Bei Booten mussten ja GPIO 0,1 und 2 zwingend "HIGH"-Pegel haben und da hatte ich das Problem, dass wenn an einem dieser GPIO´s ein Transistor für z.B. ein Relais angeschlossen war dieser zeitweise nicht bootete. Trotz Vorwiderstand. Weiß der Teufel warum. Ich schätze aber der Grund dafür sind interne Pullup´s, die auch bei der Konfiguration als Output, als Schutz für die GPI´s verbaut sind. Mit den FET´s war dieser Effekt jedenfalls dann weg.

FET´s würde ich Niederohmig ansteuern.

Das mit dem Watchdog hatte ich auch schon mal. Ich meine mich zu erinnern, dass dies damals mit einer Abfrage-Schleife zusammen hing, die zu lange dauerte, bzw. auf die keine Antwort kam.


Das kann ich bestätigen. Meine sind alle mit FET's aufgebaut und die booten immer tip-top.
Ich baue dann mal eins mit Niederohmigen Widerständen auf um zu sehn ob das was ändert.