Forum: Mikrocontroller und Digitale Elektronik AVR Hardware-Selbstabschaltung


von Andreas S. (bedrich)


Lesenswert?

Hallo zusammen,

ein großes "kleines Problem":

Wird mein AVR nicht benutzt, geht er nach einer gewissen Zeit in den 
Sleep Mode und spart damit Strom. Leider ist aber diesmal sein 
Spannungsregler (step up wandler, Versorung aus einer Zelle) noch aktiv 
und verbraucht munter weiter Saft. Die Batterie ist winzig und soll 
nicht tiefentladen werden.

Mit anderen Worten: ich suche nach einer Schaltung, mit der der AVR sich 
und seiner Peripherie komplett den Stecker ziehen kann, wenn er das 
will, die sich aber ansonsten zurück hält und zudem keinen Eingriff beim 
Einschalten er Versorgungsspannung benötigt. Ach ja: Platz hab ich 
praktisch gar keinen   :-)

Das hier habe ich gelesen (und hoffentlich richtig verstanden):
http://www.mikrocontroller.net/articles/AVR-Transistortester#Automatische_Abschaltung

Das hilft mir (noch) nicht ganz, weil zum Reaktivieren ein Taster 
gedrückt wird. Taster gibt es diesmal nicht, und damit auch nicht die 
Möglichkeit, Transistoren temporär zu überbrücken. Es gibt nur "Strom 
an" und den Plan, dass der Schaltkreis sich nach getaner Arbeit selbst 
abschießt und stromlos bleibt, so lange der Pegel der Stromversorgung 
ansteht. Der Reset geht dann so: Trennen der Stromversorgung und 
erneutes Anschließen. Dann arbeitet der AVR, bis er sich wieder nach 
getaner Arbeit wie beschrieben abschaltet usw. Hört sich vielleicht 
etwas crazy an, ist aber so    :-)

Kann mir wer mit einer Schaltskizze helfen oder das rettende Stichwort 
geben (da bin ich mir hier sogar ziemlich sicher...)? das Stichwort 
Selbsthaltung reicht nicht, davon habe ich schon gelesen.   :-)

Beste Grüße vom bedrich

von Georg G. (df2au)


Lesenswert?

Dann simuliere den fehlenden Taster durch einen Transistor und ein 
RC-Glied.

von Andreas S. (bedrich)


Lesenswert?

Georg G. schrieb:
> Dann simuliere den fehlenden Taster durch einen Transistor und ein
> RC-Glied.

... so dass beim Anschalten die simuierte "Taste" gedrückt ist, bis der 
µC die Selbsthaltung selbst halten kann? Hm ... gibt es da auch was 
weniger aufwändiges ...? Braucht es denn die Taste unbedingt?

von MR. Ohm (Gast)


Lesenswert?

Mehr Infos oder keine Hilfe!
Schaltplan ist das mindeste bzw. was eigentlich verbaut ist 
(Spannungsregler, Akku...).

>Hm ... gibt es da auch was weniger aufwändiges ...?

Weniger aufwendig als einen Widerstand+Kondensator ?
Ja, die Elektrotechnik sein lassen.

von Andreas S. (bedrich)


Angehängte Dateien:

Lesenswert?

MR. Ohm schrieb:
> Mehr Infos oder keine Hilfe!
> Schaltplan ist das mindeste bzw. was eigentlich verbaut ist
> (Spannungsregler, Akku...).
>
>>Hm ... gibt es da auch was weniger aufwändiges ...?
>
> Weniger aufwendig als einen Widerstand+Kondensator ?
> Ja, die Elektrotechnik sein lassen.

Patsch ... so geht das hier manchmal   :-)

Also MR. Ohm, wenn's für tiefere Griffe in die Trickkiste hilft: anbei 
der Schaltplan der Stromversorgung, s. auch Datenblatt MCP1640. Der 
Schaltkreis wird aktiv, wenn der Reedkontakt geschlossen wird. Der 
MCP1640 regelt eine kleine NiMH Zelle (40mAh) auf ca. 3V hoch. Geht der 
µC in den Tiefschlaf, dann braucht der Step Up Regler noch immer tüchtig 
Strom und saugt irgendwann die Zelle leer. Der AVR überwacht die 
Batteriespannung V_IN per ADC. Wenn die NiMH Zelle unter Last die 0,9V 
unterschreitet oder längere Zeit Inaktivität herrscht, dann soll V_IN 
gekappt werden. Der Reedkontakt bleibt dabei geschlossen. Letzterer 
öffnet erst wieder, wenn das System angefaßt wird (und das wird halt 
manchmal vergessen).

Der Rest vom Schaltplan ist a) für die Frage uninteressant und b) nix 
Besonderes. Meine Rückfrage war so gemeint: wieso mit 3 zusätzlichen 
Bauteilen (nicht 2, MR. Ohm) einen Taster simulieren? Es bleiben lassen 
hat mich da jetzt nicht wirklich weiter gebracht - ich hoffe momentan 
noch auf mehr. Meinetwegen gute Argumente, wieso ein Taster oder ein 
Ersatz für ihn für die gewünschte Funktion überhaupt erforderlich ist...

von Georg G. (df2au)


Lesenswert?

Mit dem Schaltplan und den zusätzlichen Infos ist dein Problem nun 
verständlich. Ich fürchte, der Aufwand wird doch 3 Bauteile sein.

Spontane Lösung:
EN des Wandlers nicht an Vin legen sondern über einen Widerstand an 
einen Output Pin des MC. Zusätzlich einen Widerstand von EN nach GND. 
Und einen Kondensator von EN nach Vin.

Funktion:
Im Ruhezustand ist der Wandler durch den Widerstand gegen GND 
ausgeschaltet. Vom MC kann auch keine Spannung kommen.

Beim Einschalten via Reed Kontakt wird EN über den Kondensator HI und 
der Wandler springt an. Erste Aktion des MC ist, dass er den mit EN 
verbundenen Pin auf HI legt. Dadurch kommt es zur Selbsthaltung.

Zum Ausschalten zieht der MC den Pin nach GND. Der Wandler stoppt. Der 
MC geht in den Brown-out Reset und der Widerstand EN-GND hält den 
Wandler im Aus.

von Andreas S. (bedrich)


Lesenswert?

Hallo Georg, danke für Deine zwei Tipps. An den EN vom MCP1640 habe ich 
gar nicht gedacht ... das wird morgen ausprobiert. Die ganze Schaltung 
enthält allerdings noch einen Teil, der nicht über den Regler gespeist 
wird. Der gewünschte "Suizid" klappt jetzt nach dem Prinzip der hier 
ohne Widerstände skizzierten Schaltung:
Beitrag "Selbsthaltung µC Schaltung"
Der eingezeichnete Taster zwischen Pullup und GND muss nur durch einen 
ausreichend großen Kondensator ersetzt werden (Deine Antwort mit dem 
RC-Glied verstehe ich so ;-), dann hat der µC ausreichend Zeit zum 
Booten und kann die Kontrolle übernehmen. ... Auf dem Steckbrett 
funktioniert's jetzt jedenfalls schon. Man muss ein Bisschen warten, bis 
der Kondensator sich wieder entladen hat, aber das ist hier kein 
Problem.
Ernst gemeinte Frage an alle: geht's noch besser?

von Andreas S. (bedrich)


Lesenswert?

So, hier kommt das Ergebnis zu Georgs Vorschlag:

> Spontane Lösung:
> EN des Wandlers nicht an Vin legen sondern über einen Widerstand an
> einen Output Pin des MC. Zusätzlich einen Widerstand von EN nach GND.
> Und einen Kondensator von EN nach Vin.
>
> Funktion:
> Im Ruhezustand ist der Wandler durch den Widerstand gegen GND
> ausgeschaltet. Vom MC kann auch keine Spannung kommen.
>
> Beim Einschalten via Reed Kontakt wird EN über den Kondensator HI und
> der Wandler springt an. Erste Aktion des MC ist, dass er den mit EN
> verbundenen Pin auf HI legt. Dadurch kommt es zur Selbsthaltung.
>
> Zum Ausschalten zieht der MC den Pin nach GND. Der Wandler stoppt. Der
> MC geht in den Brown-out Reset und der Widerstand EN-GND hält den
> Wandler im Aus.

--> Um MCP1640 und µC aufzuwecken, muss für ca. 100 ms > 90% von V_IN an 
EN liegen. Der Kondensator ist dementsprechend groß. Die Lösung 
funktioniert in der Tat. Ein tolerables Restproblem verbleibt: Der 
MCP1640 braucht immer noch ca. 250µA im Sleep Mode, d.h. nach ein Paar 
Tagen ist der Akku trotzdem leer. Im Leerlauf, also EN auf V_IN, keine 
Last, sind es dann schon stolze 20mA.

Ich entscheide mich erst mal für die weiter oben genannte Schaltung mit 
einem pnp in der Versorgungsleitung, der von einem npn am µC gesteuert 
wird.

Auf jeden Fall wäre ich auch gern einer von denen, die spontan solche 
Einfälle haben    :-)

von Georg G. (df2au)


Lesenswert?

Andreas Schell schrieb:
> Der
> MCP1640 braucht immer noch ca. 250µA im Sleep Mode, d.h. nach ein Paar
> Tagen ist der Akku trotzdem leer.

Da sagt das Microchip Datenblatt aber was anderes:

Quiescent Current – Shutdown IQSHDN
typ 0.7, max 2.3μA

VOUT = EN = GND;
Includes N-Channel andP-Channel Switch Leakage

Was du meinst, ist der Ruhestrom ohne Last mit EN = VIN

von Andreas S. (bedrich)


Lesenswert?

Georg G. schrieb:

> Da sagt das Microchip Datenblatt aber was anderes:
>
> Quiescent Current – Shutdown IQSHDN
> typ 0.7, max 2.3μA
>
> VOUT = EN = GND;
> Includes N-Channel andP-Channel Switch Leakage
>
> Was du meinst, ist der Ruhestrom ohne Last mit EN = VIN

... das wäre schön. Bei mir ist U_in = 1,1V, U_out = 3,5V. I_in = ca. 
100 mA wenn I_out = 30mA - das verstehe ich und der Wirkungsgrad ist 
auch i.O.
Wenn ich die Last von V_out trenne, ist I_in = 20mA (das ist viel zu 
viel). Wenn ich EN = GND schalte, ist I_in = ca. 250 µA. U_out = 0 - 
logisch.

Das Datenblatt sagt auch noch was von PFM Mode disabled bei Version B 
und D und gibt für den PWM einen höheren quiescent current an. Die 
Ströme ohne Last sind aber trotzdem zu hoch... ich werde wohl die 
Schaltung nochmal genau durchschauen müssen.

Mit der genannten Transistorschaltung komm ich auf I = 0 - gefällt mir 
besser und ist universeller einsetzbar.

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
Noch kein Account? Hier anmelden.