Forum: Mikrocontroller und Digitale Elektronik Viel Strom sparen


von Christoph Wagner (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Wie kann ich folgende Schaltung auf möglichst geringen Stromverbrauch
optimieren ?

Einsatzort : Fernbedienung

PC1 ist auf einer anderen Platine an der Basis eines Transistors
angeschlossen. Am Emitter die IR-LED, der Kollektor über einen 33
Ohm-Widerstand an der 3V-Batteriestromversorgung angeschlossen.

Zwischen den Lücken auf der unteren Seite sind rechts neben den
Schaltern low-current Leuchtdioden eingesetzt (fehlen wegen der Target
100-Pin-Grenze :-) ). Die Kathoden weisen zum 680 Ohm Widerstand.

K1 dient zum Programmieren

PA            geht an die Zeilenmatrix der Tastatur
PB0-3 PC5-7   geht an die Spaltenmatrix der Tastatur

Geplant ist beim Auslesen der Matrix, dass eine Zeile auf Low gesetzt
wird, und die Spalten ausgelesen werden. Dabei ist zu erwähnen, dass
die Pins PB0-3 und PC5-7 Inputs mit aktiviertem Pull-up sind. Dabei
soll die ganze Ausleseprozedur äußerst kurz geschehen, um nicht
allzuviel Strom über die Pull-ups zu verschwenden. Im Rest der Zeit
werden Beide Ports auf low-Ausgang gesetzt.

Die Meiste Zeit befindet sich der Mikrocontroller im Power-down Modus.
Sobals ein Taster gedrückt wird, soll ein über die Dioden D1-4
zugeführter High-Pegel am Interrupteingang den Controller aufwecken.
(geht doch so, oder ?) Die Dioden sollen gleichzeitig eine Auswirkung
auf die anderen "Tastersignale" verhindern.

Systeme wie ADC, Watchdog und andere nicht benötigte Spielereien sind
doch normalerweise ausgeschaltet ? (oder muss man die erst abschalten)

Was kann ich tun, um noch mehr Strom zu sparen ?

von Willi (Gast)


Lesenswert?

Du solltest eventuell den Betreff ändern :

"Von ohnehin schon wenig Strom wenig Strom sparen"

;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)

PS: Mir fällt auf dem ersten Blick auch nichts auf.

von crazy horse (Gast)


Lesenswert?

eine Variante wäre noch der Einsatz eines MSP430. Statt 2µA im
power-down braucht der nur ca. 0,1µA. Falls die Software schon fertig,
sicher keine echte Alternative :-)

von Christoph Wagner (Gast)


Lesenswert?

So einen Unterschied macht das auch nicht. Der ATMEGA16 braucht auch nur
0.3 µA. Die Software hab ich zwar noch nicht angefangen, doch auf den
ATMEGA16 möcht ich trotzdem nicht verzichten.

von Simon Küppers (Gast)


Lesenswert?

Wofür die Widerstände an den Tastern?
Wie wärs mit Vorwiderstände von den LEDs weglassen und diese dann
Pulsen?

von Christoph Wagner (Gast)


Lesenswert?

Die Widerstände an den Tastern sorgen für einen Definierten Pegel an den
Porteingängen des AVR (Pulldowns). Ich hatte mal ein Gerät, dass u.a.
auf Tastendruck einen Zähler erhöht/erniedrigt, und diesen auf
7-Segment-Anzeige ausgibt (nur ein Teil vom ganzen), und die Anzeige
hat dauernd hin-und her-geflackert, bis ich einen 10K Pulldown
angeschlossen habe. Dann lief es einwandfrei. Denn woher soll ein µC
sich die Entscheidung nehmen, ob ein Signal 0V oder 5V entspricht, wenn
gar kein Signal anliegt ?

Bringt das Pulsen mehr als Vorwiderstand weglassen ? Außerdem werden
die LEDs schon gepulst, da das IR-Signal die LEDs ansteuert (mit K3
wählbar, ob Invertiert oder nicht), aber die Helligkeit (die ich als
einzigen Effekt ansehe) würde sich dadurch auch nicht wesentlich
ändern. Es erhöht denke ich nur den Programmieraufwand.

von Simon Küppers (Gast)


Lesenswert?

Ok, Pulldown klingt logisch, kam mir auf die schnelle nich in den Sinn.
Größe ist für Stromsparen auch OK.

Wenn die eh schon gepulst sind, hilft dat alles nix mehr.

Du kannst also allerhöchstens nur noch am MC selber sparen. ansonsten
scheints voll ausgereizt

von Christoph Wagner (Gast)


Lesenswert?

Wo könnte ich denn im MC sparen ?

von Schmidle (Gast)


Lesenswert?

Hallo Christoph,

"Systeme wie ADC, Watchdog und andere nicht benötigte Spielereien
sind
doch normalerweise ausgeschaltet ? (oder muss man die erst
abschalten)?"

Ich denke, daß das deinzige System, das nach einem Power-up automatisch
aktiv ist, der Analog-Komparator ist. Wenn man den abschaltet, dann kann
man nochmal etwas Strom sparen.
(Bit ACD in Register ACSR setzen schaltet den Analog-Komparator ab.)

Gruß
Schmidle

von Sebastian (Gast)


Lesenswert?

ich meine mich zu entsinnen, daß da irgendwas war...
entweder mußte man alle (also die nicht benutzten) portpins auf high
oder low schalten. ich bin mir fast sicher das es high war. keine
ahnung wieviel das bei dir bringt. einfach mal testen und messen

von Michael (ein anderer) (Gast)


Lesenswert?

Bei den AVRs die nicht benutzten Pins als Eingänge definiert lassen,
aber deren interne Pullups aktivieren. So werden die Eingänge auf einem
definiertem Pegel gehalten und schwingen nicht. Das spart auch Energie.

von Wolfgang Niegsch (Gast)


Lesenswert?

Der AVR ist mit internem RC Oszilator etwas genügsammer, als mit einem
externem Quartz. Wenn die Genauigkeit reicht, ist da noch ein geringes
Potential.

Mfg.
Wolfgang

von René König (Gast)


Lesenswert?

Du solltest die JTAG-PINs deaktivieren, wenn Du keinen Programmer oder
Debugger (JTRF in MCUCSR ist nicht gesetzt) angeschlossen hast (JTD,
ebenfalls MCUCSR). Die nun freien PINs sind ebenfalls als Eingang mit
aktiviertem PullUp zu konfigurieren.

Auch das spart Strom.

von AxelR. (Gast)


Lesenswert?

Tachchen,
die Brownout-Detection aussschalten und die CKOPT-FUSE entsprechend
setzen.
Damit schwingt der Quartz nur mit verminderter Amplitude. das spart
auch nochmals Strom.

Ob CKOPT nun Haken oder nicht, vergesse ich immer. Einfach mal am
Quartz mit einem Oszi nachsehen.(Multimeter geht auch)

Und so langsam wie möglich laufen lassen, Spannung runter auf Minimum.
Gruß
AxelR.

von Der Elektrische Reiter (Gast)


Lesenswert?

Schon mal über den Marc4 nachgedacht?

Ist recht sparsam. http://www.mikrocontroller.net/wiki/MARC4

von Christoph Wagner (Gast)


Lesenswert?

Gibt es eine Möglichkeit, den USART erst einzuschalten, wenn etwas
empfangen wird ?
Oder sollte man für diesen Fall die RXD Leitung an den INT0 legen (ist
noch frei), und den dann auf level change einstellen ?

Muss ich PD0 und PD1 auch als Pullup-Eingang setzen, wenn sie im
USART-Betrieb sind ?
Analog : PD2+3 für INT0+1 ?

Spare ich mehr Strom, wenn ich XTAL1 und 2 unbeschaltet lasse, oder
ihnen einen Signalpegel gebe (Vcc oder GND, je nach dem, was besser
ist) ?

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.