Forum: Mikrocontroller und Digitale Elektronik DC-Motor am ESP32 mit Batterieversorgung


von R. K. (rkr)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

ich habe noch nicht viel Erfahrung im praktischen Aufbau von 
elektrischen Schaltungen und nun weiß ich für ein Projekt nicht mehr 
weiter und möchte euch daher gerne um Tipps bitten. Sorry für den langen 
Text, ich will es so detailliert wie möglich machen.

Ich möchte mit einem ESP32 
(https://www.ezsbc.com/index.php/wifi01-35.html#.XsqcxtybE0M) einen 
Wasserpumpenmotor schalten (Spannung 3-6V, Strom 130-220mA, nur in eine 
Richtung und nicht drehzahlgeregelt, einfach an/aus). An dem ESP32 
hängen auch ein Bodenfeuchtesensor und ein Temperatursensor DHT21, deren 
Daten über MQTT gesendet werden. Die Software an sich funktioniert, das 
Problem liegt in der Stromversorgung.

Im Anhang habe ich mal einen Schaltplan gemacht (obere Abbildung). Ich 
hatte vor, sowohl den ESP32 als auch die Pumpe mit derselben 
Stromversorgung zu speisen, aber dabei folgendes Problem:
- wenn der Motor angeht, schaltet er kurz danach wieder aus, weil der 
ESP rebootet
- gleichzeitig verändern sich auch die Werte der Bodenfeuchtemessung 
(d.h. teilweise scheint die Stromversorgung für den ESP auszureichen, 
aber am GPIO liegen keine 3.3V mehr an?)

Als ich dann schnell darauf gekommen bin, dass der Motor zu viel Strom 
zieht, habe ich es mit Widerständen zur Strombegrenzung und mit einem 
Kondensator an VIN und GND versucht (in rot auf der Abbildung). Keins 
davon hat geholfen.
Auf eine Freilaufdiode habe ich verzichtet, weil ich dachte, dass der 
Transistor so viel Induktionsspannung verträgt.

Da ich dann hier im Forum gelesen habe, dass man Steuerkreise und 
Leistungskreise trennen sollte, habe ich den Motor über eine eigene 
Stromversorgung laufen lassen, und die vorherige Transistorschaltung zum 
Schalten eines 5V-Relais zu verwenden (siehe untere Abbildung). Solange 
am Relais keine Last anliegt, also der Motor nicht verbunden ist, läuft 
alles gut, das Relais schaltet wie gewollt. Wenn aber der Motor 
verbunden ist und angeht, schaltet der ESP wieder ab. Anscheinend gibt 
es wohl eine Rückkopplung über das Relais auf den ESP.

Nachdem ich nun nicht mehr weiter weiß, wollte ich mal fragen, ob jemand 
eine Idee hat und mir ein paar Tipps geben könnte. Idealerweise kann ich 
dieselbe Stromversorgung sowohl für den ESP als auch für den Motor 
verwenden, aber wenn es nicht geht, würde ich gerne wenigstens das 
Problem mit dem Relais lösen.

Danke und beste Grüße!

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

R. K. schrieb:
> Im Anhang habe ich mal einen Schaltplan gemacht (obere Abbildung). Ich
> hatte vor, sowohl den ESP32 als auch die Pumpe mit derselben
> Stromversorgung zu speisen, aber dabei folgendes Problem:
> - wenn der Motor angeht, schaltet er kurz danach wieder aus, weil der
> ESP rebootet

Der Anlaufstrom des Motors sorgt wohl dafür, dass die Ausgangsspannung 
deines Batteriepaketes kurzzeitig zusammenbricht. Das mag der ESP gar 
nicht und er bootet wieder, sobald der Motorstrom so weit zurück 
gegangen ist, dass die Spannung dem ESP reicht. Eine Dioden vor dem ESP 
und ein dicker, zusätzlicher Kondensator für die ESP-Versorgungsspannung 
können zur Überbrückung helfen.

von R. K. (rkr)


Lesenswert?

Danke für die schnelle Antwort!

Ich dachte auch an den Anfangstrom, aber manchmal läuft der Motor erst 
ein paar Sekunden (ca. 5 Sekunden). Hätte ich vielleicht dazuschreiben 
sollen, sorry?

Zum Kondensator: wie groß sollte dann die Kapazität ungefähr sein? Wie 
gesagt habe ich es schon mit 100uF probiert...

Zur Diode: ist damit eine Frailaufdiode gemeint? Wo genau muss ich die 
einbauen?

von Wolfgang (Gast)


Lesenswert?

R. K. schrieb:
> Zum Kondensator: wie groß sollte dann die Kapazität ungefähr sein? Wie
> gesagt habe ich es schon mit 100uF probiert...
>
> Zur Diode: ist damit eine Frailaufdiode gemeint? Wo genau muss ich die
> einbauen?

Eine Freilaufdiode fehlt sowieso noch.

Mit dem Kondensator willst du nicht die Versorgung des Motors stützen, 
sondern nur die des ESP32. Die Diode muss also zwischen Batterie und 
ESP.Vin liegen, so dass der Kondensator sich nicht über den Motor 
entladen kann.
100µC braucht des ESP32 alleine schon, damit beim Senden die Spannung 
stabil bleibt. Für die Überbrückung beim Motoranlauf wird das vermutlich 
nicht reichen. Guck dir den Spannungseinbruch einfach mal mit einem Oszi 
an.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

R. K. schrieb:
> Wenn aber der Motor verbunden ist und angeht,
> schaltet der ESP wieder ab.

Das klingt nach einer ungeschickten Verdrahtung.

Von der Schaltung her muß es funktionieren. Zu bedenken ist aber noch 
der Spannungsbereich der 4 Batterien: Frisch aus dem Karton ca. 6,4Volt, 
gegen Lebensende aber nur noch knappe 4 Volt - wird eng für den ESP, 
zumal der vermutlich noch WLAN machen muß und dabei viel Strom will.

von R. K. (rkr)


Lesenswert?

Danke für den Tipp!

Eine Interessensfrage: Ich bin davon ausgegangen, dass alle GND im 
Mikrocontroller einfach verbunden sind. Ist das nicht so? Welchen 
Unterschied macht es, ob man den Motor direkt an der Batterie oder an 
einem der GND-Pins am Mikrocontroller anschließt?

von Wolfgang (Gast)


Lesenswert?

R. K. schrieb:
> Welchen Unterschied macht es, ob man den Motor direkt an der Batterie
> oder an einem der GND-Pins am Mikrocontroller anschließt?
Wenn der Motor am Gnd des µC angeschlossen ist, führt der Motorstrom zu 
einem Spannungsabfall auf der Leitung zwischen Batterie und Gnd des µC, 
so dass dadurch die Versorgungsspannung des µC entsprechend einbricht.

von Udo S. (urschmitt)


Lesenswert?

R. K. schrieb:
> Eine Interessensfrage: Ich bin davon ausgegangen, dass alle GND im
> Mikrocontroller einfach verbunden sind. Ist das nicht so? Welchen
> Unterschied macht es, ob man den Motor direkt an der Batterie oder an
> einem der GND-Pins am Mikrocontroller anschließt?

Das ist der unterschied zwischen idealer Theorie und Realität.
Die Verbindungen haben einen messbaren Widerstand und vor allem auch 
eine Induktivität.
Das führt dazu, dass vor allem bei Schaltvorgängen mit viel Strom sich 
das Massepotential an dem ESP kurz verschiebt.

Das ist für eine komplexe elekronische Schaltung in etwa so wie ein 
Erdbeben für dich. Auch wenn sich bei einem Erdbeben die Erde nur kurz 
und um ein paar 10cm verschiebt und am Ende wieder an der gleichen 
Stelle ist wirst du trotzdem hinfallen.

von R. K. (rkr)


Lesenswert?

Alles klar, danke für die Hilfe! Habe größere Kondensatoren bestellt 
(Elkos 3300uF) und werde die vorgeschlagenen Anpassungen machen. Hoffe 
das hilft.

von Manfred (Gast)


Lesenswert?

R. K. schrieb:
> Habe größere Kondensatoren bestellt

Anstatt etwas zu bestellen, kannst Du sofort mit vorhandenem Material 
den Transistor, das Relais und den Motor direkt an Minus der Batterie 
legen.

Am µC wird nur ein GND zur Speisung belegt, mitunter verbinde ich 
mehrere GND des µC sogar auf der Lochrasterplatte miteinander. Ein Elko 
mit ein paar hundert µF macht Sinn, der gehört mechanisch direkt an die 
µC-Platine.

Ach ja: Es dürfen gerne ordenliche Kabel verwendet werden, nicht die 
China-DuPont-Käbelchen auf einem dubiosen Steckbrett.

Die zwei Sensoren mit GND von der µC-Platine halte ich für unkritisch, 
die werden keine großen Ströme oder Sprünge erzeugen.

von R. K. (rkr)


Lesenswert?

Ich habe jetzt alles geändert und nun funktioniert es. Danke nochmal an 
alle für die Tipps!

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.