www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeit messen im Sleep


Autor: Martin S. (drunkenmunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich verwende einen PIC12F1822 mit internem Takt. Ich wache mit Hilfe des 
WDT jede Sekunde auf. Alle 20 Sekunden will ich etwas zusätliches 
ausführen. Wie mache ich das am besten?

Soll ich mit einer Variable zählen, wie oft er aufgewacht ist?

Autor: counter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
klingt doch gut.

Autor: Martin S. (drunkenmunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist leider nur nicht sehr genau.

Laut Datenblatt sind es z.B. 2s und ich messe 2,26s.
Aber da wird man nicht viel machen können, oder?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"The Low-Frequency Internal Oscillator (LFINTOSC) is
an uncalibrated 31 kHz internal clock source"
Allzu hohe Genauigkeit kann man also nicht erwarten

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Ist leider nur nicht sehr genau.

Für Genauigkeit brauchst Du einen Quarz.

Viele MCs gestatten den Anschluß eines Uhrenquarz (32kHz) an einen 
Timer.
Wird der CPU-Takt abgeschaltet, ist der Strombedarf <1µA.


Peter

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst einen 32.768 Quarz an den timer1 anschliessen, der läuft auch 
im Sleep weiter und weckt den µC beim Überlauf auf (die 
interrupt-enable-flags müssen hierzu gesetzt sein, auch wenn Du keinen 
Interrupt willst, sondern den µC nur aufwecken willst)

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Hallo,
> ich verwende einen PIC12F1822 mit internem Takt. Ich wache mit Hilfe des
> WDT jede Sekunde auf. Alle 20 Sekunden will ich etwas zusätliches
> ausführen. Wie mache ich das am besten?

Das wird ungenau. Wenn du 20ms schläfst und dann eine etwas ausführst, 
unterschlägst du die Zeit, um diese Aufgabe zu bearbeiten, da dauert ja 
auch >100µs.
Mehr zum Thema AVR - Die genaue Sekunde / RTC

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mehr zum Thema AVR - Die genaue Sekunde / RTC

er keinen AVR sondern einen PIC, da laufen die Timer anders

Autor: Martin S. (drunkenmunky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die Antworten.

klar die Programmablaufzeit verfälscht es noch zusätzlich. Aber diese 
ist bestimmt < 1ms, so dass es nicht gravierend ist.

Bei dieser Anwendung muss es nicht sehr genau sein. Also leb ich damit.

Jetzt weiß ich zumindest, wie ich es machen muß, wenn ich es genauer 
haben will.
Danke

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn Du genau 1 sec haben willt, dann nimm einen 32768-Quarz an den 
timer1, stell den Prescaler für den timer1 auf 1:2 und lass den timer1 
frei durchlaufen ohne die Timer-Register zu setzen, das sind dann 32768 
x 2 / 65536 = 1 sec ... Der PIC wacht dann genau alle 1 sec auf

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alexander Schmidt schrieb:
> unterschlägst du die Zeit, um diese Aufgabe zu bearbeiten, da dauert ja
>
> auch >100µs.

Quatsch!

Der Timer läuft in dieser weiter.

mfg.

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.