mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Strom sparen mit ATMega128


Autor: Matthias 2000 (zeras)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche nach einer Lösung, den ATMega128 noch weiter im
Stromverbrauch herunterzubekommen. Zur Zeit läuft dieser mit 3,3V und
3,68MHz. Spannung muß bleiben, und Frequenz auch, sonst schaffe ich die
Abarbeitung nicht. Hat jemand noch Ideen? Kann ich einzelne
Hardwaremodule abschalten, damit ich noch Strom spare? Zur Zeit läuft
das Board mit ca. 7mA.

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Algorithmen nochmal überdenken / ASM verwenden-> schnellere Abarbeitung,
dann µC sleepen lassen.

Spannung weiter reduzieren (2,7V) und 128L verwenden.
Warum muss die Spannung bleiben?

An die PullUps denken, ob Du sie wirklich brauchst.
Alle unbelegten Pins auf definierten Pegel (Gnd oder Vcc, zur
Sicherheit über Rs).

Ohne Schaltplan und ohne nähere Angaben (Software) eher ein
Rätselraten.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abschalten kannst du eigentlich alles. Aber muß denn der µC permanent
rechnen? Sonst könntest du noch zusätzlich einen 32kHz Takt benutzen,
dies würde den Stromverbrauch nochmal deutlich senken.

Autor: Matthias 2000 (zeras)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannung brauche ich wegen Anschluß SD-Karte. Datenblatt will 3,3V
haben.
Bringt der 128L was? Ich habe gehört, dass das der gleiche Kern ist,
nur hat nicht so hoch getaktet werden darf.
Ich will Daten von einer seriellen Schnittstelle aufzeichnen. Wenn
nichts kommt, könnte der ja sleepen gehen. Wird ja durch seriellen
Empfangsinterrupt wieder aufgeweckt. Ich weiß aber nicht, wie sich die
angeschlossene SD-Karte verhält, wenn man der µC schlafen schickt. Die
Karte ist an sich sehr sparsam.
Programmieren immer noch alles in C, weil einfacher. Vielleicht sollte
ich überlegen, ob ich auf Assembler umsteige, wie oben beschrieben. Da
kenne ich mich aber nicht so sehr aus. Ich komme von der 8051 Schiene.
Die restlichen Eingänge sind noch offen, aber kann ich bestimmt auf GND
oder + legen.
Was hat das mit dem 32KHz zu tun? Ich habe, 3,68 MHz dran. Ich kann
doch nicht umschalten. Wie gesagt, ich bin noch neu auf dem ABR Gebiet.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Bringt der 128L was?

In Sachen Stromverbrauch definitiv nicht.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so wie deine Beschreibung klingt, kann der doch fast die ganze Zeit
schlafen:
-Byte empfangen, in den internen RAM speichern, wieder schlafen legen.
Wenn du ne ordentliche Portion Bytes zusammenhast, ab auf die Karte
damit.
Welche Baudrate? Nehmen wir mal beispielsweise 19200. Ein Byte dauert
also ca. 0,5ms, bei deinen 3,68MHz also knappe 2000 Takte. Für
Interrupt, Byte lesen und speichern brauchst du grosszügig gerechnet 50
Takte, also gerade mal 2-3% der zur Verfügung stehenden Zeit. 98% kannst
du pennen gehen.
Bei höheren Baudraten wirds natürlich weniger.

Analogkomperator und Referenz abgeschaltet?

Autor: Matthias 2000 (zeras)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baudrate 19200, da ich mit Xon/Xoff arbeite, doch etwas mehr Aufwand.
Ich werde versuchen, das Programm zu optimieren. Bis jetzt wird immer 1
Byte gelesen und an die Schreibroutine gegeben. Diese verwaltet dann
intern, ob der Puffer gefüllt wird, oder doch dann auf die Karte
geschrieben wird. Werde versuchen, einen extra Puffer zu verwalten und
dann mehr Bytes an die Routinen der SD-Karte zu geben. Wird
wahrscheinlich was bringen. Analogkomperator habe ich noch nicht
abgeschaltet. Dazu schaue ich mal im Datenblatt nach, wie das geht.
Das Stromsparen sol dazu dienen, den Strom für den Mega128 direkt aus
der RS232 zu bekommen. Dazu ist jeder mA, den ich sparen kann, sehr
hilfreich. Ich habe dazu schon einen Schaltregler getestet, der mir aus
einem Statussignal der seriellen Schnittstelle die Spannung auf 3,3V
wandelt. Das Problem ist nur, das die Polarität nicht stimmt (-12V) und
ich aber an der Schnittstelle des Gerätes nichts ändern kann. Ansonsten
könnte ich die Polarität wandeln und dann wäre das soweit OK. Einen
Schaltregler, der auch gleich potentialfrei ist, habe ich noch nicht
gefunden. Eine nachgeschaltete Potentialtrennung bringt nur 50-60%
Effektivität. Vielleicht hat schon jemand mal in dieser Richtung was
gebaut.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du weisst aber hoffentlich, dass eine SD-Karte zum Lesen und
insbesondere zum Schreiben gut und gerne 50mA ziehen kann, oder?

Autor: Matthias 2000 (zeras)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe, dass über den Zeitraum, wo nicht geschrieben wird, sich die
Leistung ausgleicht. Bis jetzt sind das nur Tests. Wenn es nicht
klappt, wäre halt ein externes Netzteil nötig, aber versuchen wollte
ich es schon, um das Netzteil und die Mobilität nicht einzuschränken.

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.