als blutiger Anfänger habe ich jetzt ein paar Projekte hinter mir und arbeite gerade an einem Barcode Scanner.
Dazu habe ich dieses Modul gekauft und das funktioniert auch alles wunderbar.
Nun möchte ich den ESP in den deep sleep versetzen und den Barcode Scanner abschalten, wenn ich es nicht brauche. Mein Problem dabei ist das Abschalten des Barcode Scanners.
Ich habe noch nie mit Transistoren oder Mosfets gearbeitet und bin gerade etwas überfordert.
Könnt ihr mir sagen wie ich (quasi wie mit einem Relais) den Barcode Scanner (5v) über einen ESP32 Pin abschalten kann?
leo2525:
Wenn ich die Variante mit dem Treiber nehme, muss ich dann den GND der externen 5V Stromquelle auch mit dem GDN des Microcontrollers verbinden?
Ja, GND musst du innerhalb des Systems verbinden.
Und den Treiber brauchst du ganz sicher, sonst machst du den Pin vom ESP kaputt.
So ich habe mich mittlerweile ein bisschen eingelesen und möchte euch nochmal nach eurer Meinung fragen
Ziel ist es ja, mit dem 3.3V logic level des ESP32 eine 5V Quelle zu schalten.
Ich würde jetzt einen einfachen N-Kanal Mosfet benutzen und ihn wie im Bild anschließen. Zusätzlich brauche ich an der Gate Seite noch einen 10 kOhm PullDown Widerstand oder?
Ich glaube es müsste z.B. mit dem IRLML 6244 funktionieren. Der schaltet bei 3V schon komplett durch und schafft auch die 180mA Last. Oder habt ihr einen besseren Tipp?
Ah okay verstehe. Und deswegen muss ich die Variante oben mit dem Treiber verwenden?
Der Eingang ist da der ESP und der Ausgang der Barcode Scanner und dann kann ich die beiden Datenleitungen problemlos verbinden?
Dann schalte ich den Barcode Scanner mit einem mosfet ein und aus und Wandel das Datensignal mit einem 2 Kanal Levelshifter?
Ist es denn kein Problem dass der Versorgungsstrom für den Barcode Scanner nicht über den Levelshifter läuft?
leo2525:
So ich habe mich mittlerweile ein bisschen eingelesen und möchte euch nochmal nach eurer Meinung fragen
Ziel ist es ja, mit dem 3.3V logic level des ESP32 eine 5V Quelle zu schalten.
Ich würde jetzt einen einfachen N-Kanal Mosfet benutzen und ihn wie im Bild anschließen. Zusätzlich brauche ich an der Gate Seite noch einen 10 kOhm PullDown Widerstand oder?
Dann hast du nicht alles gelesen oder dir falsche Informationen angeeignet.
Du darfst von elekronischen Modulen nicht einfach den GND wegschalten.
So bekommst du Probleme mit den Datenleitungen, da über die das Modul weiter versorgt werden kann.
Schalte die Plus.Leitung, wie ich es dir schon gezeigt habe. Oder lerne, wie du evtl. Module kaputt machst.
Edit:
Und je nach dem welche Übertragungsgeschwindigkeit du auf der UART einstellen musst, reichen bei 9600 Bd in jeder Leitung 1k-Ohm Widerstand anstatt eines Levelshifters.
Okay dann bleibe ich bei deiner Schaltung vom Anfang.
Ich habe nur Probleme dabei, die zweite Version mit Treiber zu verstehen und möchte nichts benutzen was ich nicht nachvollziehen kann.
Du benutzt ja den N-Kanal Mosfet um den P-Kanal zu schalten. Wieso machst du das? Kann man nicht direkt den 6402 mit einem GPIO schalten? Die Spannung zwischen Drain und Source kommt doch nicht mit mit dem Gate in Berührung.
reichen bei 9600 Bd in jeder Leitung 1k-Ohm Widerstand anstatt eines Levelshifters.
Nicht unbedingt!
Das würde Clampdioden im ESP voraussetzen.
Solche haben sie aber nicht(?)
Zudem würde die Ableitung über Clampdioden die Versorgung des ESP hochsetzen.
Das mag im Normalbetrieb mit Clampdioden funktionieren, ist aber im Deepsleep tödlich.
Wieso machst du das? Kann man nicht direkt den 6402 mit einem GPIO schalten?
Nein!
Weil der Ausgang des ESP nie 5V erreicht bzw erreichen darf, schaltet der FET auch nie ab.
Das würde Clampdioden im ESP voraussetzen.
Solche haben sie aber nicht(?)
Zudem würde die Ableitung über Clampdioden die Versorgung des ESP hochsetzen.
Das mag im Normalbetrieb mit Clampdioden funktionieren, ist aber im Deepsleep tödlich.
Ok, kein Deepsleep und statt des einen Widerstandes einen Spannungsteiler.