Mikrocontroller ON/OFF mit Push button

OP #5863659
Lesenswert?

Hallko, ich möchte einen ON OFF über meine Mikrocontroller realisieren.

Dazu drücke ich den Schalterfür wenige Sekunden bis der Mikrocontroller 
hoch gefahren ist und über den Ausgang an PA23 (Widerstand fehlt, 
vereinfachte Darstellung!) schaltet um sich selbst am Leben zu halten. 
Nun kann ich in der Software abfragen ob der Eingang PA21 gedrückt wird 
und Zeitverzögert nach wenigen Sekunden die "Selbsthaltung" auflösung.

Vermutlich ist es Sinnvoller hier einen P-MOSFET zu benutzen, da GND ja 
in der Platine als plane vorhanden ist oder?

Ist das totaler quatsch oder sollte das so praktikabel funktionieren?

lg Stefan
Gast #5863672
Lesenswert?

Ja, ich würde auf keinen Fall GND unterbrechen. Verwende einen 
Transistor auf der High-Side (P-kanal MOSFET oder PNP) und steuere 
diesen wiederum über einen NPN Transistor an.

Du solltest deinem MOSFET noch einen Pull-Down Widerstand gönnen, damit 
er nicht versehentlich durch Radiowellen aktiviert wird. Bzw. beim 
P-Kanal MOSFET muss es natürlich ein Pull-Up Widerstand sein.
Moderator (Firma: Titel) Persönliche Seite #5863678
Lesenswert?

Stefan M. schrieb:
> ist das totaler quatsch oder sollte das so praktikabel funktionieren?
Eher ersteres.

Es ist immer schlecht, einem digitalen Schaltkreis den GND zu schalten. 
Denn sämtliche Angaben im Datenblatt beziehen sich auf diesen GND. Wenn 
du den "abschaltest", dann erreichst du ziemlich schnell den Augenblick, 
wo du einen Parameter aus der "Absolute Maximum Ratings" Abteilung 
verletzt.
Wenn nämlich z.B. ein µC-Pin über einen Pulldown an der "richtigen" 
Masse hängt und die Masse vom µC abgeschaltet wird und damit eigentlich 
auf 5V "hoch" soll, dann wäre eigetnlich der Pulldownpin 5V negativer 
als die (floatende) µC Masse. Stichwort dazu: "Backpowering" über die 
"Schutzdiode".

Denn meist sind neben dem µC auch andere Bauteile betroffen, über die 
dann sogar u.U. wieder (ab&zu) eine Masse ins Spiel kommt (z.B. über 
einen angeschlossenen PC oder sonstwas).

Andere, die das auf diese Art probiert haben, konnten hier im Forum von 
eigenartigen Effekten bis hin zum Tod des µC berichten...
OP #5863679
Lesenswert?

Vielen Dank für die Antworten.

Ich möchte nicht in den Sleep gehen... es sollen eventuell noch ein zwei 
Verbraucher mehr strom los geschaltet werden die ich nicht in den SLEEP 
Modus schicken kann.

Falls das ganze nicht nach meinen Wünschen klappt, werde ich jedoch die 
alternative über sleep gehen.


Vielen Dank  @Stefanus
Gast #5863685
Lesenswert?

Stefan M. schrieb:
> sollen eventuell noch ein zwei Verbraucher mehr strom los geschaltet
> werden die ich nicht in den SLEEP Modus schicken kann.

Die kannst du ja dann vom uC einschalten, direkt ihr VCC am PortPin, per 
MOSFET vom PortPin, oder ihr Enable/Shutdown Anschluss am PortPin des 
uC.
#5863695
Lesenswert?

Ich würde einen FET nehmen und damit die Betriebsspannung ein- bzw. 
ausschalten.
Dein Taster schaltet den FET durch und der µP "übernimmt" dann die 
Ansteuerung des Gates. Natürlich entkoppelt durch eine Diode.
Wird nun der Taster losgelassen, so bleibt der FET durchgeschaltet bzw. 
vom µP "gehalten", bis der dazu keine Lust mehr hat.
OP #5863735
Lesenswert?

Habe das ganze mal angepasst...

Jetzt mit P-Kanal Mosfet. So müsste es mir über die DIODE D1 doch 
möglich sein abzufragen ob der Taster gedrückt ist oder nicht, oder?

Diode zum entkoppeln am Gate verstehe ich noch nicht ganz.

(Diode ect. ist noch willkürlich gewählt! Ich muss erst heraussuchen was 
ich genau benötige)

grüße Stefan
Moderator (Firma: Titel) Persönliche Seite #5863750
Lesenswert?

Stefan M. schrieb:
> Diode zum entkoppeln am Gate verstehe ich noch nicht ganz.
Ausserdem muss der Taster jetzt natürlich gegen GND schalten, sonst wird 
der Mosfet nie leiten.

Das Problem an dieser Schaltung ist aber grundlegend, dass du einen 
"High" Pegel brauchst, um den Mosfet auszuschalten. Ein µC, der keine 
Vcc mehr hat, kann aber auch kein "high" mehr ausgeben. Du wirst einen 
zweiten Mosfet brauchen um den ersten einzuschalten...
#5863758
Lesenswert?

@Stefan
Meine Idee war, dass DU den FET (durch Taster) einschaltest und der µP 
dann die Haltung übernimmt. Bis er meint es sei genug.
Auf Softwareebene brauchst Du Dich dann nicht um irgendeinen 
Tasterstatus kümmern, da hier gilt:
Der FET hat Durchgeschaltet.
Entweder Du hast mir das angetan, oder ich halte mich selber. In beiden 
Fällen ist die Ursache klar. Noch anders ausgedrückt: Bootet das Teil, 
so soll es das auch, da irgendjemand den Taster gedrückt hat. 
Bootsequenz = Drückeberger. Irgendeinen Pin abfragen kostet nur unnötig 
Anschlüsse und Software.

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