Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Energieverbrauch Optimieren


von Egon Schneider (Gast)


Lesenswert?

Hallo,

zuerst kurz zu meiner Person:
Ich besuche derzeit eine technische Schule. Im Abschlussjahr, in dem ich 
mich derzeit befinde, müssen wir ein Projekt ausarbeiten.
In meinem Projekt benutze ich unter anderem Mikrocontroller, oder besser 
gesagt ein fertig aufgebautetes System (IQRF mit einem PIC16LF1938).
Da ich bereits Programme am Computer programmiert habe, ist das 
Programmieren kein Problem. Lediglich die Microcontroller-Spezifischen 
Teile machen bereiten mir noch Kopfzerbrechen. (Microcontroller sind bei 
uns erst Stoff der letzten Klasse --> wir haben erst die Grundlagen 
gelernt). Da ich aber mit meinem Projekt vorwärts kommen muss, wende ich 
mich nun an dieses Forum.

Nun zu meinem Problem:
Ich muss eine Zeitdauter von einer Stunde möglichst genau Timen. In 
dieser Zeit hat der µC keine anderen Aufgaben. Da das System 
Batteriegebunden ist, soll der Energieverbrauch möglichst klein sein.
Wie bereits oben beschrieben verwende ich ein fertiges Funkmodul (IQRF 
TR-52D auf dem ein PIC16LF1938 µC ist)
Der "Funkkreis" ist bereits abgeschaltet und so komme dich derzeit auf 
einen Energieverbrauch von ca 1,04µA.

Kennt ihr Möglichkeiten den Energieverbrauch weiter zu reduzieren?

Über Antworten würde ich mich sehr freuen.

Schöne Grüße
Egon Schneider

von nachhaken (Gast)


Lesenswert?

Wie hoch ist die Selbstentladung deiner Batterie? <--> Welche 
Lebensdauer soll erreicht werden?

von Max H. (hartl192)


Lesenswert?

Ich würde den PIC in den sleep-Zustand versetzen und ihn mittel Timer1 
Interrupt z.B. alle 10sekunden (oder was bei der verwendeten Frequenz 
möglich ist) aufwecken und eine Variable inkrementieren. Sobald die 
Variable 360 erreicht hat ist eine Stunde vergangen. Die Variable wird 
auf null gesetzt und die Aktion wird ausgeführt. Danach wird der PIC 
wider in den sleep versetzt…

von chris (Gast)


Lesenswert?

nimm den 31.25 khz Takt in den Pausen sollte der takt schneller sein.
Ansonsten muesstest du den 32khz Takt Temperaturcalibrieren damit dein
sleep zeitlich passt. dies geht, ist aber etwas Aufwand dies zu 
programmieren. Zudem ist der 32khz takt unkalibriert.

von Egon Schneider (Gast)


Lesenswert?

@nachhaken:
Über die Selbstentladung kann ich noch keine genaueren Aussagen treffen. 
Die Batterie / der Akku wird, je nach benötigter Energie, später 
ausgewählt. Die Laufzeit für das System soll ca. ein Jahr betragen.

@hartl192:
Gute Idee. Werde gleich einen Versuch starten.
Da sieht mann, dass mir doch noch einige Grundlagen fehlen.
Danke!

von chris (Gast)


Lesenswert?

Da der Hersteller 1.9uA spezifiziert, fuer den Sleep Mode ohne WDT, 
glaube
ich, du benutzt diesen bereits, ohne es zu wissen.
Im Sleep Mode funktioniert kein Timer, allein der WDT funktioniert da 
noch.

von Edson (Gast)


Lesenswert?

chris schrieb:
> Im Sleep Mode funktioniert kein Timer, allein der WDT funktioniert da
> noch.

Nicht ganz richtig, bei Verwendung externer Taktquellen laufen Timer0 
oder Timer1 während dem Sleep weiter.

von chris (Gast)


Lesenswert?

stimmt, das Low Cost Design hat aber keinen externen Takt, nicht mal den 
der
primàren der CPU. Ich vermute mal, die geposteten uA sind mA, ist aber
reine Spekulation. Sleep sowie WDT ist aber nicht schlimm, und bei 
solchen
Design wird eh normalerweise mittels WDT die Temperatur gemessen, die
mit uebertrage, daraus eine Temperaturcompensation ermittelt und 
Zusàtzlich
hat der Master im System noch die Tabelle der Seriennummern und 
Zeitfehler,
bzw auch nur letzteres.

von Bernd Rath (Gast)


Lesenswert?

Hallo Herr Schneider,

ich kann Ihnen zwar nicht helfen aber vielleicht Sie mir.
Also ich bin Anfänger auf dem Gebiet und habe mir das Kit von IQFR 
besorgt
und zum Lernen einige Versuche gemacht in Sachen Programierung. Was ich 
nicht hin bekomme ist das Auslesen des Speichers. Also das eigentliche 
Program was ich auf den TR-53b geladen habe. (Temp.Messung) Ich benutze 
die Programiersofttware IQRF IDE 4.04 und habe noch keinen Schalter 
gefunden
der mir das auf dem Editor anzeigt. Wissen Sie vielleicht wie das 
funktioniert ? Vielen Dank für Ihre Mühe

MfG
Bernd Rath

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.