das günstige
ESP32 4-Kanal Relais Modul Binghe ESP32-WROOM Relais
Entwicklungsplatinen mit WiFi Bluetooth BLE AC220W/DC5-30V
Stromversorgung Für DIY-Programmierprojekte(LC-Relay-ESP32-4R-A2)
scheint einen Fehler zu haben:
ein Relais 3 wird über GPIO 25 angesteuert.
Sobald ich den ESP32 als Accesspoint nutze, rattert dieses Relais los.
Meine Vermutung ist dass GPIO 25 etwas mit dem Antennensignalausgang zu
tun hat.
Bisher sehe ich als einzige Lösung, den Widerstand vor dem
Treibertransistor abzulöten, und einen externen Widerstand anzulöten,
der an einen anderen GPIO angeschlossen wird.
Mit diesem Programm habe ich es getestet:
1
2
#include <WebServer.h>
3
#include <WiFi.h>
4
5
const char* ssid = "Boiler_Unit";
6
const char* pass = "blahblahblahblah";
7
8
IPAddress ip(192,168,4,1);
9
IPAddress gateway(192,168,4,1);
10
IPAddress subnet(255,255,255,0);
11
12
WebServer boiler(80);
13
14
void setup() {
15
// set the digital pin as output:
16
pinMode(25, OUTPUT);
17
pinMode(26, OUTPUT);
18
pinMode(32, OUTPUT);
19
pinMode(33, OUTPUT);
20
21
WiFi.softAPConfig(ip, gateway, subnet);
22
WiFi.softAP(ssid, pass);
23
24
} // setup
25
26
27
void loop() {
28
29
digitalWrite (25, HIGH);
30
delay (1000);
31
digitalWrite (26, HIGH);
32
delay (1000);
33
digitalWrite (32, HIGH);
34
delay (1000);
35
digitalWrite (33, HIGH);
36
delay (1000);
37
digitalWrite (25, LOW);
38
digitalWrite (26, LOW);
39
digitalWrite (32, LOW);
40
digitalWrite (33, LOW);
41
delay (1000);
42
43
} // loop
Sobald ich in 'setup' die beiden mit Wifi beginnenden Zeilen
auskommentiere schaltet es normal.
Das Board ist an sich super, ich würde zwar nicht die 220V Versorgung
nutzen, da ich kein passendes Gehäuse gefunden habe, aber für Hobby
aufgaben ist es durchaus brauchbar.
Hat jemand eine bessere Idee als das Umlöten, oder habe ich irgendeinen
Fehler gemacht?
Möglicherweise das falsche Board in der IDE ausgewählt, ev. tut "ESP32
Dev Module" o.ä.
https://esp32.com/viewtopic.php?t=32748#p111932
Wie kirnbichler schon anmerkte, ist die Gateway-IP=IP sinnlos, dürfte
aber eher nix mit dem Problem zu tun haben.
Harald K. schrieb:> Otto E. schrieb:>> IPAddress ip(192,168,4,1);>> IPAddress gateway(192,168,4,1);>> Das hat zwar mit Deinem Relaisthema nichts zu tun, aber das ist kaputt.
ich hatte mir zuvor eine Lochrasterplatine mit dem gleichen ESP32 WROOM
V1.1 aber einem Development Board und mit wire wrap Technik gebaut und
dabei andere GPIOs für ein 4-fach Solid State Relais genutzt, und das
Programm funktioniert einwandfrei. Der gezeigte Code ist stark
vereinfacht und gekürzt, ich nutze auch kein delay() dort, aber der
Access point funktioniert dort einwandfrei, mit Gateway ...4.1 aber auch
mit Gateway ...4.0. Spielt anscheinend keine Rolle. Das gezeigte
Programm hatte ich lediglich geschrieben, um den Fehler genau zu
lokalisieren.
Gewähltes Board ist:
// tested on ESP32-WROOM_2_DA
Danke für den Tipp, ich versuche mal andere.
... anderes Board wählen:
1. Versuch mit ESP32 Dev Module Module
Relais rattert nicht, aber die Accesspoint und Wifi funktionieren auch
nicht.
(auch nicht mit korrigiertem Gateway 192.168.1.0)
2. Versuch
ESP32C3 Dev Module
A fatal error occurred: This chip is ESP32 not ESP32-C3. Wrong --chip
argument?
3. Versuch
ESP32S2
A fatal error occurred: This chip is ESP32 not ESP32-S2. Wrong --chip
argument?
hat jemand eine Idee welches Board ich sonst noch ausprobieren könnte?
Ich habe den Verkäufer kontaktiert, vielleicht hat er eine Antwort.
Otto E. schrieb:> (auch nicht mit korrigiertem Gateway 192.168.1.0)
Das ist auch keine gültige IP-Adresse.
Wenn das Ding mit Deinem heimischen WLAN verbunden werden soll, und Du
ein Gatewas ("Router") nutzen möchstest, dann muss das die IP-Adresse
Deines Routers sein. Und mit .0 endet keine gültige /24-IP-Addresse.
Harald K. schrieb:> Und mit .0 endet keine gültige /24-IP-Addresse.
Darüber lässt sich vortrefflich streiten. Man kann durchaus die (eher
theoretische) "Netzwerkadresse" einem Host zuweisen. Das funktioniert
ohne Probleme.
Aber das ist offtopic hier. Wenn Du darüber diskutieren möchtest, öffne
bitte einen neuen Thread.
Otto E. schrieb:> (auch nicht mit korrigiertem Gateway 192.168.1.0)
Die Gateway-Adresse muss in demselben Netz wie die eigene Adresse
liegen. Da die Host-Adresse des ESP 192.168.4.1 lautet, muss das Gateway
192.168.4.x lauten - x zwischen 0 und 254. Legst Du die Gateway-Adresse
auf die eigene Host-Adresse (also 192.168.4.1) ist das nicht unbedingt
verkehrt. Dein ESP kann dann halt keinen Router erreichen, um aus seinem
Netz herauszukommen. Nicht schlimm, da Dein ESP ja wohl ein Accesspoint
sein soll - ohne Internet-Anschluss. Setze also die Gateway-Adresse auf
192.168.4.1, wenn das ein "geschlossenes" Netz sein soll.
Harald K. schrieb:> Otto E. schrieb:>> (auch nicht mit korrigiertem Gateway 192.168.1.0)>> Das ist auch keine gültige IP-Adresse.>> Wenn das Ding mit Deinem heimischen WLAN verbunden werden soll, und Du> ein Gatewas ("Router") nutzen möchstest, dann muss das die IP-Adresse> Deines Routers sein. Und mit .0 endet keine gültige /24-IP-Addresse.
Auch wenn das voll am Thema vorbei geht:
ich will mich nicht mit dem heimischen WLAN verbinden!
ich erzeuge einen Access Point,
WiFi.softAPConfig(ip, gateway, subnet);
WiFi.softAP(ssid, pass);
mit einem Tablet kann ich mich dann mit dem ESP32 verbinden und
Parameter verändern, oder in den manuell Modus wechseln und Ventile oder
Heizpatronen ein und ausschalten.
Rainer W. schrieb:> Otto E. schrieb:>> Meine Vermutung ist dass GPIO 25 etwas mit dem Antennensignalausgang zu>> tun hat.>> Wie kommst du auf die Vermutung, dass beim ESP32-WROOM-32E der> (digitale) GPIO25 etwas mit dem Antennensignal zu tun haben könnte?> Im Schaltplan (S.33) ist davon nichts zu sehen.> https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
Ganz einfach,
aktiviere ich WLAN rattert das Relais, deaktiviere ich es tut es das,
was ich mittels digitalWrite programmiert habe.
Aber danke für den Schaltplan, bringt mich auf die Idee es mal mit einem
Development board und Relaismodul auszuprobieren.
Otto E. schrieb:> Bisher sehe ich als einzige Lösung,
Was macht den das Board mit Original Software oder Tosmata ?
Hatte davon auch mal welche im Einsatz allerdings mit Tosmata ohne
Probleme.
Bin dann aber auf die Version mit Gehäuse und 4 Tastern umgestiegen.
Zeig mal ein Bild von deinem Board, bzw. von dem Aufbau bei Dir.
Habe jetzt auf die Schnelle nur das dazu gefunden bei Amazon. Bin nicht
zu Hause.
MHCOZY 4 Kanal Trockenkontakt Smart Wireless Zigbee Schalter Relais
Modul, Arbeit mit Alexa Google Home
Otto E. schrieb:> Hat jemand eine bessere Idee als das Umlöten, oder habe ich irgendeinen> Fehler gemacht?
Was passiert, wenn du in deinem Testprogramm erst das Relais an GPIO26
und dann das an GPIO25 schaltest, also Zeile 29 und 31 oben tauscht?
Andere Idee: Das Netzteil ist vielleicht zu schwach.
Im WLAN-Betrieb benötigt der ESP sicher mehr Strom als ohne. Zusammen
mit dem Relais, welches auch noch Strom zieht, könnte es dazu führen,
dass die Spannung soweit zusammenbricht, dass entweder das Relais
abfällt oder gar der ESP resettet.
Keine Ahnung, ob das zutrifft. Aber über die verwendete Stromversorgung
wurde noch nichts erzählt.
Flip B. schrieb:> Wie sieht deine Stromversorgung aus? Versorgst du das Relaisboard am 5V> anschluss mit langen dünnen litzen oder "Dupont" Kabeln aus> eisenhäärchen?
Wie gesagt wenn ich die WiFi Funktion nicht nehme funktioniert alles
optimal.
Ich habe es auch mit nur einem Relais probiert, das Ergebnis ist
dasselbe.
Nun habe ich ESP32 WROOM Development Board mit einem Relais verbunden
und dasselbe Programm ausprobiert. Das Relais habe ich natürlich an
Ausgang 26 angesteckt. Das Relais klappert, siehe Video.
Wenn ich GPIO 26 anstatt GPIO 25 nehme schaltet es wie programmiert.
Wenn ich die WLAN Funktion auskommentiere funktioniert es ebenso.
Wie ihr auf dem Video seht, ist das jetzt ein simpler ESP32 WROOM clone,
der genau dieselbe Macke hat.
Aufbau seht ihr im Video, das 4 Relais Board habe ich benutzt wie es
ist.
Spannungsversorgung kann es nicht sein, sie ist stabil 5V, welche ich an
dem erforderlichen Eingang angelegt habe. 3,3V wir generiert.
Die Stromversorgung ist stabil, und nicht das Problem
Otto E. schrieb:> Spannungsversorgung kann es nicht sein, sie ist stabil 5V, welche ich an> dem erforderlichen Eingang angelegt habe.
Welche Spannungsversorgung nutzt Du für die Relais denn ? Die 5V sind ja
nicht für beides, bei dem Modul.
Otto E. schrieb:> Das Relais habe ich natürlich an> Ausgang 26 angesteckt. Das Relais klappert, siehe Video.>> Wenn ich GPIO 26 anstatt GPIO 25 nehme schaltet es wie programmiert.
Was denn nun.
Funktioniert es an GPIO 26 richtig oder nicht ?
Dieter S. schrieb:> Otto E. schrieb:>> Das Relais habe ich natürlich an>> Ausgang 26 angesteckt. Das Relais klappert, siehe Video.
Sorry Tippfehler, es soll
"Ausgang 25 angesteckt. Das Relais klappert, siehe Video".
heissen!
Fehlerursache gefunden aber nicht die Lösung:
auf der Seite von
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
habe ich die Ursache gefunden:
"Note: ADC2 pins cannot be used when Wi-Fi is used. So, if you’re using
Wi-Fi and you’re having trouble getting the value from an ADC2 GPIO, you
may consider using an ADC1 GPIO instead. That should solve your
problem."
Aber auf dem 4-relais board sind genau zwei dieser Ausgänge and GPIO
ADC2 pins, nämlich 25 und 26.
Warum nur einer meckert ist natürlich auch nicht geklärt.
Versuche mit
dacDisable(25);
brachten keinerlei Verbesserung.
Bin wieder am Anfang, "Umlöten als einzige Lösung"
Hallo Frank,
danke für den Hinweis, so würde es sicher auch gehen, allerdings habe
ich es gerade schon anders gelöst.
Ich habe die Verbindung auf der Platine vom Mikrocontroller zum
Headerpin leicht angebohrt. Dies mit einem 1 mm Bohrer den ich nur
zwischen zwei Fingern gedreht habe, das ging ohne irgend einen Antrieb
kinderleicht in weniger als einer Minute.
Dann habe ich am Headerpin den Anschluss GPIO25 mit GPIO 27, welcher
gleich nebenan liegt per Brücke verbunden. Ich nutze also GPIO27 für das
Relais.
Auf dem beigefügten Photo sieht man einen hellgrauen Fleck, der
entstanden ist als ich die Platine mit dem 1mm Bohrer angebohrt habe.
Außerdem kann man auch die Brücke sehen ich auf die Headerpinleiste
gesteckt habe, eventuell kann man auch auf der Rückseite die beiden Pins
mit einem aufgelöteten Draht verbinden.
Nun funktioniert alles wie gewollt!