günstiges 4 relais board mit ESP32-WROOM-E hat wohl eine Macke

OP #7790987
Lesenswert?

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?

Angehängte Dateien:
OP #7791023
Lesenswert?

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.

OP #7791027
Lesenswert?

... 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)

  1. Versuch

ESP32C3 Dev Module A fatal error occurred: This chip is ESP32 not ESP32-C3. Wrong --chip argument?

  1. 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.

#7791107
Lesenswert?

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

Moderator Persönliche Seite #7791109
Lesenswert?

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.

OP #7791344
Lesenswert?

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.

OP #7791349
Lesenswert?

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.

#7791393
Lesenswert?

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

Moderator Persönliche Seite #7791445
Lesenswert?

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.

OP #7791452
Lesenswert?

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

Angehängte Dateien:
OP #7791650
Lesenswert?

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"

Moderator Persönliche Seite #7791714
Lesenswert?

Otto E. schrieb:

Versuche mit dacDisable(25); brachten keinerlei Verbesserung.

Schau mal hier rein: https://forum.arduino.cc/t/disable-dac-pins-on-pin-25-and-26-on-esp32/883460/11

Dort fand der TO für sich diese Lösung:

1
// Disable DAC1
2
REG_CLR_BIT(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC);
3
REG_SET_BIT(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC_XPD_FORCE);
4
// Disable DAC2
5
REG_CLR_BIT(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC);
6
REG_SET_BIT(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC_XPD_FORCE);

Ob das für Dich auch gilt, kann ich nicht beurteilen.

OP #7791870
Lesenswert?

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!

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren