Arduino mit Taster Einschalten, mit Software aus

Hallo! Für einen Bordcomputer mit einem Arduino Nano in einem mobilen Lautsprecher habe ich folgende Zielsetzung: Über einen Taster kann die komplette Elektronik eingeschaltet werden. Wenn der Akku leer ist, schaltet die Software die komplette Elektronik aus. Der Ruhestrom im ausgeschalteten Zustand muss dann natürlich so gering wie möglich sein.

Das Ganze habe ich schon mit Relais zum laufen gebracht. Im Hififorum wurden mir dann allerdings MosFets empfohlen, wegen der höheren Belastbarkeit und der besseren Verträglichkeit mit verschiedenen Akkuspannungen. Ich habe mich dann für einen IRLZ44N entschieden, das ist ein Logic-Level N-Channel Mosfet.

Ich brech die Probleme mal bis aufs kleinste runter, ich habe nämlich das Gefühl, dass mir ein Puzzelteil im Grundverständnis fehlt. Hier ein momentan aufgebauter Schaltplan: |500x293 Der verwendete Akku hat eine Spannung von 11,4V. Wenn der Schalter geschlossen ist, leuchtet die LED und die Spannung Soucre-Drain ist deutlich unter 1mV - das passt. Wenn der Schalter offen ist, ist die LED aus, allerdings ist die Spannung Source-Drain nur 9,9V. Das sollten doch eigentlich die vollen 11,4V sein? Jetzt allerdings das komische: Die Spannung die an LED mit Vorwiderstand abfällt sind nur ein paar mV. Die Maschengleichung für die äußere Masche geht also nicht auf?! Kann man die Spannungen nicht mit einem normalen Multimeter messen? Ich verwende ein UNI-T UT61B. Für R2 habe ich Werte zwischen 0Ohm und 330kOhm probiert. Auf die Messergebnisse hat das keinen Einfluss.

Wenn das geklärt ist, mache ich mit meinen nächsten Problemen weiter, sonst wirds hier zu unübersichtlich :)

Vielen Dank für euren Support im Voraus, Leo

Hilft Dir das Schaltbild vielleicht weiter:
1feb6d24ab232f0eec95bb2d05252ff930f9239e.jpg

Die Schaltung ist vorgesehen, um einen Arduino Pro Mini zeitweise mit einer 9V Blockbatterie zu betreiben

Die Schaltung verwendet neben einem Tastschalter noch einen P-Channel MOSFET, einen NPN-Transistor und zwei Widerstände.

Der Arduino muss den NPN-Transistor ansteuern, solange er laufen soll. Wenn der NPN-Transistor nicht mehr angesteuert wird (und auch der Schalter nicht geschlossen ist, schaltet der MOSFETdem Arduino den Strom ab.

Gefunden habe ich das Schaltbild übrigens hier im Forum in der Rubrik “Ardiuno-Microcontrollers”.

Vielen Dank. Wo genau hast du denn das Bild her?

Ich habe das so nachgebaut (mit einem IRF4905, einem BC548c und zwei 1,5kOhm Widerständen), allerdings klappt es nicht. Wenn ich den Taster betätige, geht der Arduino ein, lasse ich ihn los, geht er wieder aus.

Der NPN wird doch nur benötigt, weil normale Mosfets nicht mit 5V am Gate umschalten, oder? Der IRLZ44N schaltet schon mit 5V um. Ich hab jetzt testweise mal einen sehr einfachen Schaltkreis aufgebaut, der nur einschalten können soll. Ausschalten muss er erstmal nicht können: |500x383 Die Idee dahinter: Am Anfang ist das Gate durch den Widerstand R1 auf GND. Wenn ich den Taster betätige wird der gesamte orangene Bereich auf +12V angehoben. Der Mosfet schaltet durch und es besteht eine "direkte" Verbindung zwischen Drain und Source, also haben sie das gleiche Potential. Wenn man den Taster wieder loslässt, bleibt die Verbindung zwischen Drain und Source bestehen und das Gate bleibt auf +12V. Leider ist dem nicht so. Warum?

Viele Grüße, Leo

Ps: Hast du eine Antwort auf die Frage aus dem ersten Post, warum das Multimeter falsche Messerwete liefert?

LeoLautsprecher: Vielen Dank. Wo genau hast du denn das Bild her?

Ich habe das so nachgebaut (mit einem IRF4905, einem BC548c und zwei 1,5kOhm Widerständen), allerdings klappt es nicht. Wenn ich den Taster betätige, geht der Arduino ein, lasse ich ihn los, geht er wieder aus.

Du musst natürlich einen Sketch schreiben, der nach dem Start ein HIGH an den Ausgang des Arduinos liefert. Damit steuert der BC548 durch und schaltet auch den Mosfet durch.

Wenn dein Sketch durchgelaufen ist, nimmst du das HIGH am Ausgang weg und der Transistor sperrt, somit geht der Arduino aus.

Als Sketch habe ich einfach das Beispiel "Blink" mit etwas längerem Delay genommen.

LeoLautsprecher:
Vielen Dank.
Wo genau hast du denn das Bild her?

Das Bild stammt hier aus dem Forum auf forum.arduino.cc, es war irgendwo als Attachment in einem Beitrag im englischsprachigen Bereich, in dem es genau um das Thema ging, das Du hier im deutschen Forum gestartet hast: Mit Taster einschalten, mit Software eingeschaltet halten bzw.auch wieder ausschalten.

LeoLautsprecher:
Ich habe das so nachgebaut (mit einem IRF4905, einem BC548c und zwei 1,5kOhm Widerständen), allerdings klappt es nicht. Wenn ich den Taster betätige, geht der Arduino ein, lasse ich ihn los, geht er wieder aus.

Und, mit welchem Sketch?
“geht wieder aus” hört sich so an als wenn Du Deinen Widerstand am NPN nicht von einem Arduino-Pin mit OUTPUT/HIGH ansteuerst.

Nach dem Einschalten per Taster schaltest Du die Stromversorgung ab, indem der Basiswiderstand am NP vom Arduino ein OUTPUT/LOW bekommt oder auf pinMode INPUT gesetztist (was auch der Default-PinMode ist

Um die Schaltung “AN” zu halten, mußt Du PinMode OUTPUT und den Pin HIGH setzen, damit der Widerstand am NPN angesteuert wird.

LeoLautsprecher: Als Sketch habe ich einfach das Beispiel "Blink" mit etwas längerem Delay genommen.

Und auch den richtigen Pin als Ausgang genommen ?

Hier findest du in Post #10 eine Schaltung die nur einen kurzen Tastendruck zum Einschalten braucht. Schaltung

Im Thread findest du auch noch andere Beispiele.

Jetzt geht es. Ich hatte am Mosfet Drain und Source vertauscht. Bzw. ist da ja der Schaltplan nicht ganz eindeutig, weil Pfeile fehlen, oder? Klar es gibt nur einen richtigen Anschluss, aber ohne nachzudenken, weiß man nicht, was Drain und Source ist?

Naja, falls ein anderer Anfänger in Zukuft die gleichen Probleme wie ich hat, hier ist mein Schaltplan: |500x334

Vielen Dank an euch beide mein Problem ist jetzt gelöst. Der Knoten in meinem Kopf allerdings nicht. Warum geht der Schaltplan aus Post 2 nicht?

Weil der Schalter ja mit irgendwas überbrückt werden muss. Der NPN ist zum Überbrücken da und nicht zur Pegelanpassung.

Am Gate muss das Potential vom Drain anliegen und nicht von Source

LeoLautsprecher:
Vielen Dank an euch beide mein Problem ist jetzt gelöst.
Der Knoten in meinem Kopf allerdings nicht. Warum geht der Schaltplan aus Post 2 nicht?

Prima, das es jetzt funktioniert.
Die Schaltung in Post #2 funktioniert nicht, da das Gate nach öffnen des Tasters keine ausreichende Spannung zum durchschalten des Fets hat.
Das Gate muss ja ca. +2Volt gegenuber dem Source haben und das ist nicht vorhanden.
Die genauen Spannungswerte stehen im Datenblatt, wurden von mir jetzt geschätzt.

Achso, vielen Dank!

LeoLautsprecher: Wenn der Schalter geschlossen ist, leuchtet die LED und die Spannung Soucre-Drain ist deutlich unter 1mV - das passt. Wenn der Schalter offen ist, ist die LED aus, allerdings ist die Spannung Source-Drain nur 9,9V. Das sollten doch eigentlich die vollen 11,4V sein? Jetzt allerdings das komische: Die Spannung die an LED mit Vorwiderstand abfällt sind nur ein paar mV. Die Maschengleichung für die äußere Masche geht also nicht auf?! Kann man die Spannungen nicht mit einem normalen Multimeter messen? Ich verwende ein UNI-T UT61B. Für R2 habe ich Werte zwischen 0Ohm und 330kOhm probiert. Auf die Messergebnisse hat das keinen Einfluss.

Jetzt grabe ich eben auch mal etwas Altes aus...

Scheinbar wusste keiner eine Antwort auf die seltsamen Messwerte. Wenn man zwischen Source und Drain misst, bekommt man die 9,9V wegen der LED und dem Vorwiderstand. Wenn man aber an der LED oder an dem Vorwiderstand misst, darf da normalerweise auch nichts messbar sein, da der FET nicht leitet. Im 1. Fall reicht der Innenwiderstand des Messgerätes aus, daß eben ein gewisser Strom fließt und somit die LED eben einen gewissen Spannungsabfall bewirkt. Im 2. Fall haben wir aber einen offenen Stromkreis! Wenn man jetzt aber hergeht und einen relativ großen Widerstand von Source nach Drain einbaut, würde man wieder etwas an der LED messen. Was man misst, kommt aber auf die Größe des Widerstandes an und auf den Innenwiderstand des Messgerätes (siehe Spannungsteiler).

Gruß, Jürgen