Strom sparen mit ATMega128

OP #401793
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.
Gast #401794
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.
Gast #401795
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.
OP #401796
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.
Gast #401798
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?
OP #401799
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.
OP #401801
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren