Forum: Mikrocontroller und Digitale Elektronik Strom sparen mit ATMega128


von Matthias 2. (zeras)


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.

von Profi (Gast)


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.

von Tobias (Gast)


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.

von Matthias 2. (zeras)


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.

von Tobias (Gast)


Lesenswert?

> Bringt der 128L was?

In Sachen Stromverbrauch definitiv nicht.

von crazy horse (Gast)


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?

von Matthias 2. (zeras)


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.

von Philipp B. (philipp_burch)


Lesenswert?

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

von Matthias 2. (zeras)


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.

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.