Hallo zusammen, ich betreibe einen Atmega328 über drei 1,5V Batterien. Man kann aber auch ein Netzteil anschließen. Folgende Schaltung habe ich mir überlegt (ANHANG). Ich habe wenig Platz auf der Platine, daher die Minimallösung mit zwei Dioden. Was haltet ihr von der Schaltung? Der Atmega hängt an VDD und GND. Jetzt hätte ich gerne, dass der Mikrocontroller erkennt, ob ein Netzteil angeschlossen ist, oder nicht. 1. Vielleicht das 5V Signal des 7805 auf einen Portpin führen? Brauche ich dann einen Pulldownwiderstand, falls das Netzteil gelöst wird? Die 5V müssen dann ja abfallen und dürfen nicht von C2 gehalten werden. Was passiert, wenn der µC kurzzeitig mit VDD=4..4.5V betrieben wird und noch 5V am IO-Pin hat? 2. Spannungsteiler an 5V des 7805 und dann 4/5 * 5V an den IO-Pin? Über die Widerstände könnte sich dann der Kondensator entladen. 3. AD-Wandlung... Ich hätte gerne eine Lösung die möglichst wenig Bauteile benötigt und nichts kaputt macht ;) An liebsten nur eine Leitung wie in 1. ohne Pulldown. Die ganze Schaltung soll auf eine Briefmarke passen. Danke und viele Grüße Dirki
Vdd als Vref und die interne Referenz (1,1V) messen. Daraus kannst du rückwärts unterscheiden, ob das Teil mit 4,5V oder 5V betrieben wird.
Zuvorderst: aufpassen bei sog. back powering. Ein Blick ins Handbuch und etwas Erfahrung zeigt, dass die Schutzdioden an jedem Eingang gegen VCC geschaltet sind. Legt man dort eine Spannung an, wird sie über die Schutzdiode abzgl. der Vorwärtsspannung in die Versorgung eingespeist. Da einige Mikrocontroller schon mit 1-2V zuverlässig arbeiten, braucht es eine überlegte Trennung. Den ADC dafür einzusetzen halte ich für eine teure Variante. Du möchtest ja nur ein zweiwertiges Signal erhalten: Batterie/ keine Batterie, resp. kein Netzteil/ Netzteil. Dafür genügt es, einen Portpin mit MOSFET zu versehen und das Gate des MOSFET vom Netzteil steuern zu lassen. Wenn du den extzernen Pull-Up sparen willst, nimm die internen. Mit Pull-Down ginge es auch. Bei Anschluss an einen der INT-Anschlüsse (wenigstens INT0, manchmal noch INT1), könntest du sogar eine Interrupt-Routine verwenden, die aus einem Schlafzustand weckt. (Sonst genügen auch die PCINT-Routinen.) Außerdem schlage ich vor, die Schaltung weiter zu verbessern. Die Diode in der Zuleitung des Netzteils sollte bleiben. Die in der Zuleitung der Batterien sollte gegen einen PMOS-Transistor ersetzt werden, dessen Gate ebenfalls vom Netzteil hochgezogen wird und ansonsten mit einem (100k-)Pull-Down beschaltet ist. Sobald das Netzteil eingesteckt wird, sperrt der MOSFET und ohne Netzteil haben die Batterien nur einen kleinen Reihenwiderstand in Höhe des RDSon – Batterien werden tiefer entladen/ läuft länger.
Dirki schrieb: > Hallo zusammen, > > ich betreibe einen Atmega328 über drei 1,5V Batterien. Man kann aber > auch ein Netzteil anschließen. Folgende Schaltung habe ich mir überlegt > (ANHANG). Ich habe wenig Platz auf der Platine, daher die Minimallösung > mit zwei Dioden. Was haltet ihr von der Schaltung? Wenn Du WIRKLICH wenig Platz hättest, würde es auch eine BAT54A tun. 1A zieht Deine Schaltung wahrscheinlich nicht. Denke daran, dass Du so nur 4V im Batteriebetrieb am Prozessor hast. Das reicht für 20 MHz nicht mehr aus. Ganz andere Möglichkeit: Schaltbuchse verwenden. Viele DC-Hochlstecker-Netzteilbuchsen haben einen Schaltkontakt: Stecker rein -> Netzteilbetrieb, Stecker raus -> Batteriebetrieb. Reine Mechanik, kein Spannungsverlust. Oder: Du kannst über einen MCP1755T-5002E/DC nachdenken. Der hat einen Power-Good Ausgang (open drain!), der auf Low gezogen wird, wenn die Ausgangsspannung stabil ansteht. Mit diesem Signal kannst Du dann einen Load Switch ansteuern, der dann die Batterie abdreht, und der Prozessor kann das Signal auch auswerten. fchk
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.