www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Viel Strom sparen


Autor: Christoph Wagner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Christoph Wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon Küppers (Gast)
Datum:

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

Autor: Christoph Wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo könnte ich denn im MC sparen ?

Autor: Schmidle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (ein anderer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Wolfgang Niegsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Der Elektrische Reiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal über den Marc4 nachgedacht?

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

Autor: Christoph Wagner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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) ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.