Forum: Mikrocontroller und Digitale Elektronik Senkung des Stromverbrauchs/PC-Interface


von Christoph Lechner (Gast)


Lesenswert?

Hallo,

ich stelle gerade Überlegungen zu einem Messsystem/Datenlogger an.

Dieses soll natürlich möglichst lange mit einer Batterieladung laufen.
Alle nicht verwendeten externen Bauteile werden abgeschaltet. Als
Controller werde ich höchstwahrscheinlich den ATMega16 einsetzen. Um
den Stromverbrauch zu drücken (pro Sekunde wird ein Meßwert
aufgenommen) habe ich mir überlegt, neben einem "normalen" Quarz im
Megahertz-Bereich auch einen Uhrenquarz mit 32768 Hz anzuschließen und
das Aufwecken aus dem power-down-mode dem Timer2 zu überlassen.

Verstehe ich das Datenblatt (Seite 32) richtig, dass der Modus "Power
Save" für mich der richtige ist, da ich den "Hauptquarz" anhalten
will? Kann der Controller durch den Timer2-Overflow dann geweckt werden
(Interrupt)?

Als Datenspeicher möchte ich ne MMC-Karte verwenden, da diese durch ihr
serielles Protokoll den Vorteil geringer Anschlussanzahl mit einer doch
recht großen Kapazität von z.B. 128MB vereint. Diese soll als
Ringbuffer verwendet werden, damit nicht immer dieselben Speicherzellen
benutzt werden. Soweit ich mich entsinne hat die ja auch einen CE bzw
CS-Anschluss. Dazu steht hier eh genug im Forum.

Aber wie soll ich die Daten da raus auf nen PC bekommen? RS232 scheidet
wohl aus, da es dem Nutzer nicht zuzumuten ist, stundenlang auf die
Übertragung (bis zu 128MB!) zu warten. USB geht auch nicht, es sei denn
es gibt einen Wandlerchip der von irgendwas, was der Controller spricht,
auf USB wandelt (Sollte dann allerdings bei Reichelt oder Farnell
erhältlich sein). Der Wandlerchip hat halt wahrscheinlich auch den
Nachteil, dass es mit Linux übel aussieht, weil ich möchte mir keinen
eigenen Treiber programmieren, auch wenn die Kenntnisse durchaus
vorhanden sind ;).
Ich habe mir ein Interface mit dem Parallelport überlegt. Die Daten
würden über BUSY/ACK/ERROR etc. übertragen werden (wobei eine dieser
Leitungen als "Clock" dient), der PC setzt eine seiner Datenleitungen
(z.B.) D0, sobald er die Daten bekommen hat. Zum Handshake würde ich
u.U. ein CPLD verwenden; der Microcontroller würde gar nichts
mitbekommen, von wegen wo die Daten hingehen. Das sollte doch mit einer
annehmbaren Rate (~100kByte/s) gehen, oder?

Fällt euch zum Stromsparen noch was ein? Bedingung ist, dass die Zahl
externer Bauteile minimal ist und dass der Timer2 auch als eine Art Uhr
verwendet werden muß.

TIA
- C. Lechner

von Tobi (Gast)


Lesenswert?

2 sachen zur übertragung zum pc. die ftdi chips vermitteln zwischen uc
und pc und sind überall zu bekommen (linux treiber gibts). am besten
wäre aber auf der mmc ein dateisystem anzulegen, dann brauchst du nur
noch einen pc kartenleser

von Martin Götzenberger (Gast)


Lesenswert?

Hallo!

such mal nach FT232 und FT234 RS232 / Paralled zu USB
(Hersteller:FTDI, www.ftdichip.com)

servus,
Martin

von Martin Götzenberger (Gast)


Lesenswert?

sekunden zu spät..

von Christoph Lechner (Gast)


Lesenswert?

Wow. Die Antworten sind ja echt blitzschnell.

@Tobi:
Das Problem ist, dass das Rausnehmen der MMC-Karte nicht geht, weil die
Messwerterfassung während des Auslesens möglichst weiterlaufen soll.
Sonst wärs ne gute Idee, die ne Menge Stress sparen würde, aber hier
leider nicht :-(

@Martin:
Wo gibt's denn die Chips?

CU
- C. Lechner

von Matthias (Gast)


Lesenswert?

Hi

du solltest den internen RC-Oszillator verwenden. Der ist wesentlich
sparsamer als ein externer Quarz und schwingt auch schneller an. Power
Save sollte dann passen.

Zur PC-Übertragung entweder Dateisystem und Karte in einen Kartenleser
stecken oder mit einem FT245BM (der Geschwindigkeit wegen) ein USB
Interface aufbauen. Da ist dann deine Übertragungsrate max. 1MByte/s
zum PC.


Matthias

von Tobi (Gast)


Lesenswert?

die chips gibts z.b bei reichelt.de.
2.idee wenns platzmässig passt: 2 speicherkarten von denen immer eine
komplett inaktiv ist, bis zum umschalten (und rausnehmen auslesen und
wieder reinsteckne)

aber ich würd auch die usb lösung bevorzugen

von Christoph Lechner (Gast)


Lesenswert?

Upps :)

Hab gar nicht gemerkt, dass es die bei Reichelt gibt. Das Problem mit
dem Datentransfer zum PC ist damit scheinbar gelöst. Ich zieh mir mal
das Datenblatt rein.

Thnx
- C. Lechner

von Christoph Lechner (Gast)


Lesenswert?

Hallo,

zum Thema hab ich noch gefunden:
http://www.atmel.com/dyn/resources/prod_documents/doc1259.pdf

Ist über die Implementierung einer RTC mit dem 32768Hz Quarz. Brauch
ich auch!

CU
- C. Lechner

von leo9 (Gast)


Lesenswert?

@Christoph:

eventuell solltest du auch über eine "echte" RTC nachdenken und den
AVR in Power-Down schicken:
Power down und RTC braucht etwa 2 bis 3uA,
Power save mit interner Uhr benötigt 4uA (jeweils typisch);
der Active-Anteil bleibt bei beiden Versionen gleich.
Braucht zwar etwas mehr Platz und Bauteile, aber der Stromverbrauch
wird nochmals reduziert.

grüsse leo9

von Christoph Lechner (Gast)


Lesenswert?

@leo9:
Ich glaube das 1uA machts nichts mehr aus. Da dürfte doch die
Selbstentladung der Batterie höher sein 8-).

Als Batterie kommt vielleicht ne Laternenbatterie (6V, 7Ah) oder eine
entsprechende Anzahl von Mono-Zellen zum Einsatz. Auf jeden Fall was
großes, für 3 Monate Dauerbetrieb oderr so.

mfg
- C. Lechner

von leo9 (Gast)


Lesenswert?

>> Ich glaube das 1uA machts nichts mehr aus. Da dürfte doch die
>> Selbstentladung der Batterie höher sein 8-).

auch wenn die Selbstentladung höher ist, so ist sie bei allen Entwürfen
gleich groß, die verbleiende Kapazität ist konstant und mit 3 statt 4uA
lebt das Werkl um ein Drittel länger. Ob sich der Aufwand eines
zusätzlichen ICs und einiger Bauteile lohnt mußt du anhand deiner
Ansprüche selber entscheiden.

grüsse leo9

von Stefan Kleinwort (Gast)


Lesenswert?

Hi Christoph,

vielleicht langt der mega8 auch von der Pinanzahl und vom Speicher her.
Dessen Nachfolger, der mega88, verbraucht nochmal deutlich weniger Strom
und hat Pin-On-Change-Interrupts, d.h. Du kannst die Kiste mit jedem
beliebigen Pin aufwecken.
Hat allerdings den Nachteil, dass der mega8 kein JTAG hat, falls Du den
JTAG-Debugger verwendest (der mega88 hat dann die
One-Wire-Schnittstelle).

Der FT232 war auch mein erster Gedanke. Du kannst damit Baudraten bis
3Mbaud (erinnere ich mich richtig?) fahren, allerdings muss dazu eine
Tabelle im EEPROM des FT232 geändert werden. Geht nur, wenn Du den
FT232 direkt anschliesst, ohne Umweg über RS232-Treiber.

Wenn Dein Gerät öfters am PC hängt, kannst Du vielleicht eine Ladung
über den USB-Bus andenken, und NIMH-Akkus vorsehen. Geht nur, wenn min.
alle 3 Monate geladen wird, sonst ist die Selbstentladung zu hoch.

Spannung möglichst niedrig, das macht enorm viel aus.

Dein Konzept finde ich insgesamt sehr gut, genauso würde ich es auch
machen.

Viele Grüße, Stefan

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.