Hallo, ich hab wiedermal eine Frage. Und zwar gehts darum, dass ich eine Schaltung habe, die ich aus 2x AA-Batterien versorgen möchte. Mit einem DC-DC Regler wird die Spannung auf 3,3V gereglt. Der DC-DC Regler hat einen Enable Pin (high = enabled) mit dem der Regler ein und ausgeschaltet werden kann. Mein Prozessor liest noch ein paar Tasten ein. Und eine dieser Tasten möchte ich verwenden um die gesamte Schaltung ein- bzw. auszuschalten (also wirklich Versorgung ein- und ausschalten). D.h. DC-DC Regler ein-/ausschalten. Vorweg... ich weiß, dass es solche Beiträge hier schon gegeben hat. Was richtig passendes hab ich aber leider nicht gefunden. Ich hab mal meine Schaltung in den Anhang eingefügt. Und zwar habe ich versucht über einen Transistor den Enable Pin des DC-DC Reglers an die Batteriespannung zu legen, wenn der Taster gedrückt wird. Dann sollte der Prozessor anlaufen und mit dem V_enable Pin die Versorgung aufrecht erhalten, wenn er gegen Masse zieht. Das Problem, das ich im Vorfeld leider nicht beachtet hab ist, dass über den "BTN" Pin des AVR und der internen Schutzdiode ein Strom gegen VCC fließt und somit die Schaltung versorgt. Weiß jemand eine Möglichkeit das Problem zu lösen?? Eine Vorgabe ist, dass der Schalter mit dem Widerstand gegen Masse schaltet. Das kann ich so nicht wirklich ändern. Danke euch, Andreas
der übliche Weg: -AVR direkt aus der Batterie betreiben und den in powerdown schicken -Taster an einen Int-Eingang, um den MC zu wecken -weitere Peripherie idealerweise über p-FET ein/ausschalten
Als Workaround schick ich den AVR momentan schon in den Powerdown Mode und lasse ihn über einen Pin Change Interrupt wecken. Problem: Schaltung benötigt noch immer ca. 2mA, da ich die Peripherie nicht abschalten kann. Deshalb wäre mir eine Lösung lieber mit der ich den Controller von der Versorgung trennen kann. mfg Andreas
Ansatz 1: R2 und R3 würde ich rauswerfen und stattdessen zwischen Knoten R1/Basis und Knoten D1A/D2A einen Widerstand rein tun. Wenn R1 und der Widerstand genügend hochohmig sind, fließt da so gut wie kein Strom. Oder einfach ohne R1 das ganze. Ansatz 2: V_enable--|>|--enable. Direkt mit V_enable eine Spannung auf enable geben. D1 und R2 fliegen raus. R3 beim Taster wird entfernt, und stattdessen vor die Basis gepackt. Von diesem Widerstand aus direkt zum Taster, der jetzt direkt nach Masse schaltet. Von BTN aus kommt eine Diode in Flussrichtung zum Taster. Der interne Pullup im AVR sorgt dafür, dass man den Taster bequem einlesen kann. Beide Dioden Verhindern, dass der Controller von außen versorgt wird. Hoffe das war jetzt so verständlich. mfg mf
Andreas Auer schrieb: > Eine Vorgabe ist, > dass der Schalter mit dem Widerstand gegen Masse schaltet. Wenn der Widerstand drin bleiben soll, dann mach einen 0Ω widerstand rein ;)
Hier nochmal ne modifizierte Version 2. PS: R2 ist nicht unbedingt nötig.
Wie gesagt R3 kann ich leider nicht auf 0 Ohm ändern. Ist leider nicht drinnen. Aber du hast mich auf die richtige Idee gebracht... Und war die Diode in Flussrichtung vom BTN Eingang zum Taster. Damit kann kein Strom in den Prozessor fließen und ich kann den Status des Tasters noch immer richtig auslesen. Danke! Das glaub ich sollte funktionieren!
Deine vereinfachte Schaltung sieht auch gut aus! Aber wie gesagt... ich muss R3 drinnen lassen.
Wenn du nur die Diode beim Taster rein tust, besteht das unerwünscht-Versorgen-Problem immer noch am V_enable Pin.
Wozu ist denn der R3 gut, dass du ihn nicht woanders hin tun kannst?
Ich hab 10 Tasten, die ich über ein Schieberegister auslese (8 übers Schieberegister und 2 direkt). Die Tasten sind mit 1k Pullups auf Versorgungsspannung "vorgespannt", liegen am Paralleleingang des Schieberegisters und haben alle einen gemeinsamen Anschluss. Dieser geht auch direkt auf den AVR und hängt über diesen R3 mit 100k gegen Masse. Taster 3,3V <----[#1k#]-+-o -^- o-----+----- Common (AVR) | | SHIFT <-------+ +-+ REGISTER R3 | | 100k +-+ | --- GND Der Common ist als Eingang ohne Pullup geschaltet. Wenn jetzt einen Taste gedrückt wird, wird der Common Eingang high und ich bekomm einen Pin Change Interrupt (verwend ich auch um den AVR aus dem Power Down Mode aufzuwecken). Um die Tasten jetzt auszulesen, schalt ich den Common als Ausgang und geb low aus. Damit liegen die gedrückten Tasten auf Masse, die ich dann im Schieberegister "latche". Und danach clock ich die Daten raus. -> Erspart mir das Pollen und ständige Auslesen des Schieberegisters
Nochmal danke für die Hilfe. Hab das gestern geändert und es hat geklappt. mfg, Andreas
Andreas Auer schrieb: > -> Erspart mir das Pollen und ständige Auslesen des Schieberegisters Ist ja genial!
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.