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
Wenn du schon Eagle verwendest, solltest du zum Screenshot auch noch die .sch und .brd-Files hochladen.
Warum überhaupt der Aufwand? Was spricht dagegen, den Prozessor im Standby auf den Tastendruck warten zu lassen?
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.
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...
:
Bearbeitet durch Moderator
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
Stefan M. schrieb: > es sollen eventuell noch ein zwei > Verbraucher mehr strom los geschaltet werden Dann schalte doch Vcc. Georg
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.
Stefan M. schrieb: > es sollen eventuell noch ein zwei Verbraucher mehr strom los geschaltet > werden Dann vergiss das mit der Masse-Abschalterei blitzartig und denke dringend über den angesprochenen möglichen Stromfluss durch abgeschaltete IO-Pins nach...
Gibts eigentlich einen Grund nicht einfach einen richtigen mechanischen Schalter zu nehmen? Ausser natürlich daß sowas völlig "out" ist ... (schönes Wortspiel)
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.
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
:
Bearbeitet durch User
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...
:
Bearbeitet durch Moderator
Stefan M. schrieb: > Ist das totaler quatsch Ja. Man kann sich nicht am eigenen Schopf aus dem Sumpf ziehen. Schaltungen mit nur einem Transistor funktionieren grundsätzlich nicht. Sobald Du dem MC den GND klaust, kann er das Gate nicht mehr auf GND ziehen, d.h der FET leitet wieder.
@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.
Stefan M. schrieb: > Hallko, ich möchte einen ON OFF über meine Mikrocontroller realisieren. mach doch, ein gutes Beispiel ist im Transistortester! https://www.mikrocontroller.net/articles/AVR-Transistortester https://www.mikrocontroller.net/articles/Datei:Schaltplan_transistortester.png
Sebastian S. schrieb: > Irgendeinen Pin abfragen kostet nur unnötig Anschlüsse und Software. Wenn man es schlau gemacht, kann man den Taster nach dem Start auch für weitere Eingaben verwenden... ;-)
Udo S. schrieb: > Gibts eigentlich einen Grund nicht einfach einen richtigen mechanischen > Schalter zu nehmen? Z.B. wenn die Batterie leer ist, weil man das Ausschalten vergessen hat.
Stefan M. schrieb: > Habe das ganze mal angepasst... Das wird nicht funktionieren. Wenn der µC keine Stromversorgung hat, wird R1 den MOSFET permanent einschalten. Ich habe schon aus gutem Grund geschrieben, dass du zwei Transistoren brauchst. Mach das nach diesem Prinzip: http://i270.photobucket.com/albums/jj118/new_clear_days/circuits/pchwnpn.jpg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.