Forum: Mikrocontroller und Digitale Elektronik Uhr mit Alarm und Kalender - STM32F4 vs. RTC


von Dennis X. (Gast)


Lesenswert?

Hallo Forengemeinde,

ich habe heute so überlegt, wenn ich jetzt eine Uhr mit "Weckfunktion" 
inklusive Kalender und Jahr bräuchte, ob ich dann einen RTC-IC nehme, 
der schon alles kann, oder ob ich einfach den Clock im STM32F4 so 
programmier, dass ich das alles selber schreib.
Was glaubt Ihr wäre hier sinnvoller?

von Oliver J. (skriptkiddy)


Lesenswert?

Dennis X. schrieb:
> STM32F4
Die haben doch eine RTC mit Alarmfunktion.


> inklusive Kalender und Jahr
Was meinst du damit?


Gruß Oliver

von Dennis X. (Gast)


Lesenswert?

Naja ich hab hier einen DS1339, bei welchem ich eben exakt einen Tag, 
und Jahr einstellen kann, wann ein Pin den Alarm gibt. Also ich mein 
eben dass ich auch den exakten Tag, Monat und Jahr hab.
Ich weiß nicht ob das mit dem STM32 so gut geht, wie mit diesem IC.

von (prx) A. K. (prx)


Lesenswert?

Dennis X. schrieb:

> Ich weiß nicht ob das mit dem STM32 so gut geht, wie mit diesem IC.

Definiere "gut". Es geht mit der RTC des STM32 ebenfalls. Den jeweiligen 
Stromverbrauch im Batteriebetrieb verraten die Datasheets.

von Dennis X. (Gast)


Lesenswert?

Okay, alles klar!
Danke!

von H.Joachim S. (crazyhorse)


Lesenswert?

Hm, ich les jetzt nicht das Datenblatt des 32F4...
Könnte aber gut sein, dass die nur ne abgespeckte Version drin haben 
(also z.B. in der Art Unix-Zeit), Umrechnung in "echte Zeit" incl. 
Kalender kann man dann als Software reinpacken.)

Ich würde einen kleinen Prozessor incl. externer RTC nehmen (mein 
Standardbauteil dafür ist M41T81), wenn es darum geht, schnell was 
vorzeigbares zusammenzuklöppeln.

Ist natürlich auch ein schönes Einsteigerprojekt für einen neuen 
Prozessor. Könnte aber sein, dass der sich zu Tode langweilt :-)

von Dennis X. (Gast)


Lesenswert?

Hmm klar ich hab für die AVR Serie und den DS1339 eine Lib programmier, 
die würde ich gegebenenfalls auf den STM32 umsetzten. Jetzt wär aber 
halt zuvor die Frage ob das notwendig ist oder nicht.
Ich denke grundsätzlich spricht auch nichts dagegen einen weiteren 
Teilnehmer auf dem I²C-Bus zu steuern.
Hat denn jemand schonmal einen kompletten Kalender dafür programmiert?

von Oliver J. (skriptkiddy)


Lesenswert?

Dennis X. schrieb:
> Ich weiß nicht ob das mit dem STM32 so gut geht, wie mit diesem IC.
Ich auch nicht, weil ich es noch nicht gemacht habe.
Aber die Funktionalität der beiden Lösungen scheint ähnlich.

Schau doch mal ins Reference Manual der STM32F4 RM0090 unter Kapitel 22 
(RTC).

Gruß Oliver

von Oliver J. (skriptkiddy)


Lesenswert?

Dennis X. schrieb:
> Naja ich hab hier einen DS1339, bei welchem ich eben exakt einen Tag,
> und Jahr einstellen kann, wann ein Pin den Alarm gibt.

Das Jahr? Bist du sicher?

Schau doch lieber nochmal ins Datenblatt.

Gruß Oliver

von (prx) A. K. (prx)


Lesenswert?

H.joachim Seifert schrieb:

> Könnte aber gut sein, dass die nur ne abgespeckte Version drin haben

Nö. Die F1xx haben einen binären Sekundenzähler, die F2xx,F4xx eine 
komplette BCD-RTC mit allem Drum und Dran.

Allerdings gehen die Meinungen auseinander, was die sinnvollere Variante 
ist. Mit ist nämlich die binäre Version eigentlich lieber.

von H.Joachim S. (crazyhorse)


Lesenswert?

Jo, BCD finde ich auch höchst merkwürdig heutzutage, bringt nichts, 
macht aber Aufwand (falls man etwas mehr machen will als eine reine 
Anzeige, dafür könnte man es gut benutzen).

von Gerhard G. (xmega)


Lesenswert?

Hallo,


Dennis X. schrieb:
> Hat denn jemand schonmal einen kompletten Kalender dafür programmiert?

Habe mir eine batteriegepufferte Uhr (32,768 kHz Quarz) mit 
Kalender/Alarm-Funktion auf einem STM32F4DISCOVERY-Board programmiert. 
Funktioniert einwandfrei.


Gruß XMEGA

von Dennis X. (Gast)


Lesenswert?

Gerhard G. schrieb:
> Hallo,
>
>
> Dennis X. schrieb:
>> Hat denn jemand schonmal einen kompletten Kalender dafür programmiert?
>
> Habe mir eine batteriegepufferte Uhr (32,768 kHz Quarz) mit
> Kalender/Alarm-Funktion auf einem STM32F4DISCOVERY-Board programmiert.
> Funktioniert einwandfrei.
>
>
> Gruß XMEGA

Hallo Gerhard,
wäre es möglich, dass du deinen Code einmal hochlädst? Wäre mir eine 
große Entscheidungshilfe.
aber danke nochmal an alle, die mir bei meiner Entscheidung geholfen 
haben.

Dennis

von Karl H. (kbuchegg)


Lesenswert?

Bei der Fragestellung: selber programmieren oder doch RTC
ist das Hauptargument ja nicht die Programmierung an sich. Eine Uhr zu 
programmieren ist eine triviale Angelegenheit.

Der Problemkreis, dem du dich stellen musst lautet:
Eine RTC hat eine kleine Pufferbatterie und läuft auch dann weiter, wenn 
dem Haupt-µC der Strom fehlt (zb wegen Stromausfall im Haus). Wenn es 
dir nichts ausmacht, dass bei einer Stromabschaltung der µC die Zeit 
verliert, dann kann man eine Uhr auch mit Bordmitteln problemlos 
programmieren. Ansonsten ist eine RTC vorzuziehen.

von (prx) A. K. (prx)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Eine RTC hat eine kleine Pufferbatterie und läuft auch dann weiter, wenn
> dem Haupt-µC der Strom fehlt (zb wegen Stromausfall im Haus).

Wie diverse andere Controller dieser Klasse auch haben die STM32 einen 
separaten Stromversorgungsanschluss für die RTC (und einige Bytes RAM). 
Die interne RTC läuft also auch dann weiter, wenn die 
Hauptstromversorgung abgeschaltet ist.

> Wenn es dir nichts ausmacht, dass bei einer Stromabschaltung
> der µC die Zeit verliert,

Tut es nicht. Die interne RTC ist technisch vollständig äquivalent zu 
einer externen. Mit einem Batteriestromverbrauch von rund 1µA stehen die 
STM32 F1xx auch in dieser Hinsicht ziemlich gut da, bei den F2xx sind es 
um die 3µA. Von den F4xx hab ich grad keine Zahlen auf der Platte.

von Karl H. (kbuchegg)


Lesenswert?

A. K. schrieb:
> Karl Heinz Buchegger schrieb:
>
>> Eine RTC hat eine kleine Pufferbatterie und läuft auch dann weiter, wenn
>> dem Haupt-µC der Strom fehlt (zb wegen Stromausfall im Haus).
>
> Wie diverse andere Controller dieser Klasse auch haben die STM32 einen
> separaten Stromversorgungsanschluss für die RTC (und einige Bytes RAM).
> Die interne RTC läuft also auch dann weiter, wenn die
> Hauptstromversorgung abgeschaltet ist.

War zu faul zum Nachsehen.
Dann frag ich mich allerdings was das Problem des TO ist.
Ich werd doch nicht eine externe RTC an den Baustein anrouten, mit 
Layoutdingen, Kommunikationsfunktionen und sonstigem zusätzlich 
Notwendigem, wenn ich schon alles an Bord habe.

von (prx) A. K. (prx)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Dann frag ich mich allerdings was das Problem des TO ist.

Wat de Buer nich kennt, dat fret he nich.

Vielleicht leidet er auch einfach nur unter eine Überdosis. Das ist 
einer der Gründe weshalb ich anfangs AVRs empfehle, denn an die bei den 
STM32 drohende massive Dosis Manuals muss man sich erst gewöhnen.

von Gerhard G. (xmega)


Angehängte Dateien:

Lesenswert?

Hallo,

habe den Code mal hinzugefügt.

Zum Code noch kurz:

Anzeige DOGM128, RTC, Ein- uns Auschaltzeiten (rise , set ) über die 
Funktionen in der sun.c

Das Ganze soll mal eine Schaltuhr (auf der Basis eiener Astrouhr) 
werden.

Es fehlt momentan nur noch das Menü und die Taster.

Viel Spaß

xmega

von Dennis X. (Gast)


Lesenswert?

Okay...
Also um das so zu sagen ;-) Ja, was ich nicht kenn, das betrachte ich 
skeptisch. Drum auch dire Frage zu Beginn. Also dann schließ ich einfach 
einen relativ großen GoldCap Kondensator an den Spannungseingang für den 
RTC oder? Weil in vielen Applikationen findet man immer eine Knopfzelle. 
Aber ich meine im Datenblatt auch was von einem Kondensator gelesen zu 
haben.

von (prx) A. K. (prx)


Lesenswert?

Dennis X. schrieb:

> Also dann schließ ich einfach einen relativ großen GoldCap Kondensator
> an den Spannungseingang für den RTC oder?

Ja, das ist eine Möglichkeit. Wobei der STM32 keine Ladeschaltung 
enthält, also Diode plus Widerstand nach VCC wär angebracht.

> Weil in vielen Applikationen findet man immer eine Knopfzelle.

Was dran liegen könnte, dass bei einem STM32F1 bereits eine kleine 25mAh 
Knopfzelle für 2-3 Jahre aktivem Batteriebetriebs ausreicht und die 
Lebensdauer von Lithium-Knopfzellen im Standby möglicherweise grösser 
ist als die von Goldcaps.

von Dennis X. (Gast)


Lesenswert?

A. K. schrieb:
> Dennis X. schrieb:
>
>> Also dann schließ ich einfach einen relativ großen GoldCap Kondensator
>> an den Spannungseingang für den RTC oder?
>
> Ja, das ist eine Möglichkeit. Wobei der STM32 keine Ladeschaltung
> enthält, also Diode plus Widerstand nach VCC wär angebracht.
>
>> Weil in vielen Applikationen findet man immer eine Knopfzelle.
>
> Was dran liegen könnte, dass bei einem STM32F1 bereits eine kleine 25mAh
> Knopfzelle für 2-3 Jahre aktivem Batteriebetriebs ausreicht und die
> Lebensdauer von Lithium-Knopfzellen im Standby möglicherweise grösser
> ist als die von Goldcaps.

hmm das ist ein Argument. ich schau mir mal den stromverbrauch im 
Standby an. dann kann ich eine aussage über diese möglichkeiten Nachrn.

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich nehm auch immer Knopfzellen, habe mit Goldcaps nicht die besten 
Erfahrungen.
Billiger sind auch als Goldcaps.

von (prx) A. K. (prx)


Lesenswert?

Dennis X. schrieb:

> hmm das ist ein Argument. ich schau mir mal den stromverbrauch im
> Standby an. dann kann ich eine aussage über diese möglichkeiten Nachrn.

Wirst wohl nachmessen müssen, denn im Datasheet der F4 steht bislang nur 
TBD drin.

Wobei ich mit "Lebensdauer von Lithium-Knopfzellen im Standby" die Zeit 
meinte, in der sie unbeansprucht bleiben. Da sollte kein messbarer Strom 
fliessen, wenn man der Doku glauben darf.

von Peter D. (peda)


Lesenswert?

H.joachim Seifert schrieb:
> Ich nehm auch immer Knopfzellen, habe mit Goldcaps nicht die besten
> Erfahrungen.

Ich habe genau umgekehrte Erfahrungen. Meine Goldcaps leben alle noch.

Dafür sind mir schon mehrmals Batterien ausgelaufen. Und in der Regel 
merkt man es erst dann, wenn sie auf der Platine Leiterzüge 
durchgefressen haben, also das Gerät Schrott ist.

Goldcaps sind mir noch nie ausgelaufen. Falls sie also dochmal kaputt 
gehen sollten, hat man wenigstens keinen Totalschaden.


Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Hm...
Früher, die 3 zelligen kleinen NC-Akkus, das war die Hölle.
Ausgelaufene Goldcaps hatte ich auch noch nicht, aber massive Probleme 
mit Goldcaps ohne Kapazität. Manchmal mag das mehr oder weniger egal 
sein, ob z.B. die Uhrzeit erhalten bleibt, wird eben neu gestellt und 
gut ist. Manchmal aber eben nicht. Seit ich die Lithium-Knopfzellen 
einsetze, sind die Probleme erledigt. Rechnerisch sollten sie 10 Jahre 
durchhalten, 5 Jahre sind gefordert, aus der 1.Serie sind jetzt 4 Jahre 
um, keine Ausfälle.

von Dennis X. (Gast)


Lesenswert?

so und nun steh ich wieder vor einer Entscheidung...
Knopfzellen Halter gibts bei reichelt oder?

von (prx) A. K. (prx)


Lesenswert?

Ja.

von Dennis X. (Gast)


Lesenswert?

also ich hab bei reichelt Knopfzellen mit 500mAh und 3V inklusive 
printanschluss gefunden - 1,90 Euro.
ich denke damit ist die Entscheidung klar.

von Willi (Gast)


Lesenswert?

Dennis X. schrieb:
> also ich hab bei reichelt Knopfzellen mit 500mAh und 3V inklusive
> printanschluss gefunden - 1,90 Euro.

CR2032 ist die günstigste Zelle und überall erhältlich.

A. K. schrieb:
> Wirst wohl nachmessen müssen, denn im Datasheet der F4 steht bislang nur
> TBD drin.

Irgendwo tauchte auch schon einmal 1µA auf. Aber TBD ist auch ein guter 
Wert ;-)

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.