ESP32 und Mosfets

Guten Abend

Ich verzweifle langsam an meinem Projekt obwohl es bis jetzt gut funktioniert hat. Ich möchte eine autarke Futterstation (Wald) betreiben welche an einer 12V Stromquelle (10AH) ein paar Wochen/Monate durchhält. Ich hab sowohl Layout und Code soweit dass er funktioniert und jetzt versuche ich sowohl Layout als auch Code stromsparend zu modifizieren.

Idee: Der ESP32 wacht einmal pro Stunde auf, schaltet alle Module (SIM800C, L298N und VL53L0X) ein, prüft ob eine SMS mit einem Kommando da ist, führt das Kommando aus (zb drehe den Motor 10 Sekunden, Gib eine Status SMS zurück, und gehe danach in den Stromsparmodus indem alle Module und ESP32 abgedreht werden.

Mein erster Versuch war mit N-Channel Mosfets mit der Ergebnis dass ich den ESP32 gegrillt habe. Es hat zwar funktioniert das SIM800C Modul abzudrehen aber beim L298N hats ihn dann erwischt. Hier die Schaltung welche nicht funktioniert hat.

ps. das ist mein allererstes mal dass ich mich mit solchen Spielerein beschäftige. Bitte nicht schlagen :slight_smile:

Jetzt möchte ich einen P-Channel Mosfet testen. Bitte meine Fragen:

  1. Passt die Schaltung so, siehe unten? Ich habe Steuerleitungen erstmal weggelassen.
  2. Was für eine Spannung muss ich anlegen damit der Transistor schaltet ein bzw ausschaltet.
  3. Was passiert wenn der ESP32 in den Deep Sleep geht?

Schaltung mit P Channel Mosfet

Vielen Dank
Philipp

Was soll der IRLZ da zwischen ESP und L298?
Wenn Du den Treiber abschalten willst, gehört der MOSFET in die Versorgung. Du schaltest GND weg.
Damit fehlt für den gesamten Rest das Bezugspotential.

Damit der P-Channel Mosfet durchschaltet, benötigt dieser am Gate GND Potential. Aber damit dieser sperrt, benötigt er bei 12Volt die er schalten soll, auch annähernd 12Volt am Gate und das bekommt er mit deiner Schaltung nicht.
Du musst noch einen NPN Transistor als Treiber davor schalten und das Steuersignal dann negieren.
Was du mit dem Stepdown-Regler in der 12Volt Leitung zum Motortreiber willst, weiß ich allerdings nicht.

Nachtrag zu deiner nicht funktionierenden Schaltung:
Du darfst den aktiven Modulen nicht einfach den GND wegreißen. Das nimmt dir die Elektronik übel.

Vielen Dank für eure Antworten und ihr habt natürlich beide recht. Bei Transistoren versagt mein Schulwissen gänzlich. Bitte habt Nachsicht mit mir.

Warum ich anfangs einen N-Channel Mosfet genommen hab? Keine Ahnung, Wenn man danach Googled ist es der erste der einem gezeigt wird und auch der einfachste. Ja er trennt GND und das macht Probleme. Weiß ich jetzt.

P-Channel finde ich dagegen total verwirrend. Wenn ich es richtig verstanden habe schaltet er AUS bei einer relativen Spannung zur 12V Quelle. Wo nehme ich die denn her? Der ESP32 kann ja nur 3,3V.. Und wenn keine Spannung anliegt ist immer EIN.. Das ist doch das Gegenteil von dem was ich möchte. Ich hätte gerne Default AUS und nur wenn der ESP32 läuft, also mein Prozess, dann soll Strom zu den Modulen fliessen.

Ich hoffe ich mache mich jetzt nicht völlig lächerlich aber ist es so richtiger mit einem NPN dazwischen?

Hier mein Projektlink. Ihr könnt mich korrigieren wenn ihr wollt: Cirkit Designer IDE

Vielen Dank.

Muß der Motor in beide Richtungen Drehen?
Nein: L298 weg und über N-MOSFET steuern.
Ja: Einen besseren Treiber nehmen. Einen mit Sleep funktion.

Wieso willst Du den Motortreiber einschalten wenn Du gar nicht weißt ob er gebraucht wird?

Ist ein Einschalten alle Sekunde nicht häufig um sparsam zu sein. Wie lange braucht das SIM800C Modul um sich einzuschalten und SMS empfangen zu können?

Grüße Uwe

[EDIT]Hab unaufmerksam gelesen und Stunde als Sekunde gesehen. Falschen Text durchgestrichen.[/EDIT]

Hallo

Das L298N hat eine Sleep funktion allerdings bleibt die LED weiterhin aktiv und die frisst mir die Akkulaufzeit. Ich möchte zumindest 2 Monate autark sein.

Und nein der Motor muss nicht in beide Richtungen drehen können. Eventuell brauche ich noch einen zweiten Motor der zur Gleichen Zeit drehen soll, nur langsamer.

Das SIM800C Modul braucht ca 20sekunden. Ich lasse ihn derweil 60sek online um SMS abzurufen. Das kann ich noch optimieren.

Ihn erst einzuschalten wenn er gebraucht wird ist ein guter Tip ändert aber nichts an dem Problem wie ich ihn ein und ausschalte.

DANKE

Der Mosfet braucht einen Widerstand (100k) von +12V auf das Gate. Den Basiswiderstand am NPN besser auf 1k ändern.
Den 100 Ohm Widerstand gegen GND entfernen.

Ich hatte ja erst gedacht, Du hast da schon stepdown-Regler mit steuerpin...

Wenn Du sparsam sein willst:

Die haben einen ENABLE-EIngang, der mit einem PULLDOWN versehen beim Ausschalten des ESP in den Schlafmodus gehen und wenn der ESP da HIGH anlegt wieder anfangen zu arbeiten.

Ich meine, dass das günstger ist, als mit zusätzlichen Transistoren und Mosfets zu experimentieren.

Bezüglich Motortreiber.
Wir wissen nicht wie viel Leistung der Motor braucht (bzw Nennstrom und Anlaufstrom)
Wenn man den /die Motor/e mittels MOSFET schaltet, dann braucht es nur einen N-MOSFET pro Motor / Motorgruppe und schaltet die Masse weg.
Ist der DC/DC Wandler genügend leistungsstark um das SIM Modul zu versorgen?

Grüße Uwe

Hallo Uwefed

Der DC/DC Wandler ist leistungsstark genug um das SIM Modul zu versorgen. Die SMS Funktion funktioniert bereits. Sowohl die Hardware (Ausnahme PowerOFF) und auch der Code selber

Wegen Motortreiber tausch gegen Mosfet. Du meinst ich soll den Treiber raushauen und statt dessen einen NChannel Mosfet nutzen. Bin ich da richtig dass es hier OK ist die Masse zu entfernen weil in diesem Fall keine Steuersignale vom/zum ESP32 gehen? Daher ist es OK die Masse zu trennen?

@ my_xy_projekt Deine Idee klingt aber auch nett ober die Bucks mit EN.. Danke für den Tip

HotSystems Hab ich das Richtig verstanden, dass ich statt grob 12V am Gate anzulegen, mit dem 100k Widerstand weit weniger anlegen muss und daher der ESP32 ausreichen kann. Das leuchtet ein. Trotzdem wie verhält sich die Schaltung wenn der ESP in den Deep Sleep geht. Behält der Mosfet seinen letzten Status? DANKE

Vermute nein.
Das Gate braucht zum sperren die 12V, die du über den 100k auf das Gate schaltest. Der NPN gibt auf das Gate GND um den Mosfet durchzusteuern, sobald der ESP die 3,3V auf die Basis des NPN schaltet.

Ich fürchte du hast vollkommen recht. Ich verstehe nichts von all dem. Auch jetzt glaube ich 4% dass meine Schaltung richtig ist. Ich hoffe es allerdings sehr :) Danke für eure Mühe

Ich trau mich gar nicht zu fragen warum ich den PChannel Mosfet überhaupt habe, wenn ein NPN durch eine kleine Last an der Basis eine größere Last zwischen Collector und Emitter leitet. Schwierig wenn das Basiswissen fehlt. :expressionless_face:

Ok, ich habe mal ein Schaltbild von mir rausgesucht.
So sollte es aussehen:

Wobei die Werte der Widerstände angepasst werden sollten.
R1 = 100k, R2 = 1k.
Bei dem Rest-Schaltbild möchte ich mich mal raushalten. :sweat_smile:

Ja.

Du kannst die Masse schalten wenn keine Signalleitungen vorhanden sind.

Sind Signalleitungen zwischen den beiden Teilen da, dann bringst Du 12V auf die Signalleitungen wenn Du die Masse wegschaltest.

Grüße Uwe

Vielen Dank nochmal für all eure Inputs. Amazon war schnell und hat mir die vorgeschlagenen Stepdowns geliefert mit EN und ich konnte es testen über den GPIO25 die Stromversorgung schon am BUCK zu blockieren. Da ich tatsächlich nur eine Drehrichtung beim Motor benötige hätte auch ich hier den Vorschlag augegriffen das L298N wegzulassen und nur über einen N-Channel Mosfet den Motor zu steuern.

Was meint ihr: Passt das so? Steuerleitungen, ausnahme der BUCKs, hab ich der Übersicht erstmal weggelassen. Fehlt was essentielles?

DANKE

Wäre da noch die Frage, was für einen Mosfet verwendest du.
Hier ist es wichtig einen LogicLevel Mosfet zu verwenden, der auch mit 3,3Volt am Gate zurecht kommt.

Suche nach low logic level MOSFET zB IRLZ44N ee gibt noch andere, kleinere.

Warum soll er suchen ?
Evtl. hat er ja schon den richtigen.
Das muss er nur mal kommunizieren.

Ich hatte gehofft ihr könnt es lesen, aber es ist in de Tat sehr klein geschrieben = IRLZ44N

Ja, wenn man weiß wo hinschauen.
Ein Foto des Transistors verwendet und darum draufgeschrieben erwarte ich nicht.
Grüße Uwe