Forum: Mikrocontroller und Digitale Elektronik Eigenbau: BCD-Armbanduhr


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mathias K. (tj7)


Angehängte Dateien:

Lesenswert?

Hallo,
da ich die Idee aus dem Beitrag "Zeigt her eure Kunstwerke (2)", 
dort nur eine kurze Vorstellung des "Kunstwerkes" zu geben und eine 
eventuelle Diskussion stattdessen in einem separaten Thread zu führen, 
äußerst praktisch finde, werde ich dies hiermit tun!

Über die letzten 1-2 Jahre hinweg habe ich mir in (fast) kompletter 
Eigenregie (Elektronik, Programmierung, Gehäusedesign - Gehäusefertigung 
hat ein Kumpel gemacht) eine BCD-codierte Armbanduhr entwickelt. Dabei 
habe ich mehr als oft dieses Forum als Lernhilfe verwendet, weswegen ich 
mein Projekt hier auch vorstelle! Anlass für die Uhr war die Tatsache, 
dass es im Handel nur diese urhässlichen binären Uhren gibt, bei denen 
zudem noch für den Laien neben den Bits die enstprechenden Dezimalwerte 
stehen. Und was macht ein Ingenieur, wenn es nicht das gibt, was er 
will? Er baut es selbst!

Die Uhr ist ca. 37x36x9mm groß, wobei das Gehäuse aus gefrästem, schwarz 
eloxiertem Aluminium besteht. Die Anzeige besteht aus 16 kaltweißen 
SMD-LEDs (23 lm bei 70 mA), die mit Hilfe einer PWM einzeln nacheinander 
angesteuert werden. Jede Spalte der Anzeige entspricht einer 
BCD-codierten Dezimalzahl, wobei die Anordnung 1:1 der von normalen, 
digitalen Uhren entspricht (hh:mm bzw. mm:ss). Das Herzstück der Uhr ist 
ein ATtiny4313, welcher mit 250 kHz taktet und vollständig in Assembler 
programmiert wurde. An dieser Stelle einen riesigen Dank an das Forum 
für die super Tutorials hierfür (vor der Uhr war ich ein blutiger 
Anfänger in Sachen Mikrocontroller-/Hardwareprogrammierung)! Ein 
integrierter Li-Po Akku mit 150 mAh reicht aus, um die Uhr im 
Dauerbetrieb 50-55h mit ausreichend Strom zu versorgen. Zur Absicherung 
vor einem zu niedrigen Akkustand ist desweiteren ein Komparator verbaut, 
welcher die Anzeige der Uhr gegebenenfalls ausschaltet. Zum Aufladen ist 
ein Li-Po Lade-Schaltkreis integriert, welcher lediglich eine 5V 
Spannungsquelle (USB, anschließbar über 2polige Mini-Buchse) benötigt. 
Durch einen präzisen 8 MHz Quartz beträgt die Zeitabweichung pro Monat 
nur ca. 3 Sekunden, was aber größtenteils auf eine unzureichende 
Kalibrierung der Software zurückzuführen ist.

Die Uhr hat verschiedene Modi, die mit 3 Tastern gewählt werden:

*Anzeigemodi:
1. Anzeige deaktiviert, Zeit wird aber intern weiter gezählt
2. Anzeige alle 5 Minuten für 10 Sekunden einschalten
3. Anzeige im Dauerbetrieb mit geringer Helligkeit
4. Dauerbetrieb mit normaler Helligkeit
5. Dauerbetrieb mit hoher Helligkeit

*Zeitanzeige:
Darstellung als HH:MM oder als MM:SS

*Taschenlampe:
Da die oberste linke LED im Normalfall nicht verwendet wird, habe ich 
sie als Taschenlampe umfunktioniert. Sie leuchtet mit 20 lm und strahlt 
in 120° ab, wodurch z.B. ein 3x3 m² Raum hell genug beleuchtet wird, um 
alles zu erkennen. Bei vollem Akku leuchtet die Lampe ca. 2,5h lang. 
Mein absolutes Lieblingsfeature der Uhr, da ich so immer eine handliche 
Taschenlampe dabei habe!

Für mehr Bilder siehe meine FB-Seite: 
https://www.facebook.com/mathias.kruger.56/media_set?set=a.409721652463801.1073741825.100002779091667&type=3&viewas=100000686899395 
(Nein, ich verlinke das nicht um neue Freunde zu bekommen :P! Anfragen 
lehne ich sowieso ab. Facebook kann mich an für sich mal, aber zum 
veröffentlichen von Fotos ist es halt eine praktische Alternative).

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Hut ab!

Die Qualität Deiner Arbeit ist wirklich beindruckend. Ich finde 
ungewöhnliche Uhrenprojekte immer sehr interessant.

Mfg,
Gerhard

von Olaf (Gast)


Lesenswert?

Hat sich dein Gehirn schon auf Binaer umgestellt? Kannst du also die 
Zeit mit einem Blick ablesen, oder muss du immer erst 'umrechnen'?

Ansonsten ganz nett! Ich wuerde aber die Platine mindestens noch mit 
einem Coating versehen damit ein gewisses Mass an 
wasserdichtigkeit/feuchtigkeitrestistenz gewaehrleistet ist.

Olaf

von Aua! (Gast)


Lesenswert?


von Dominik S. (dasd)


Lesenswert?

Prima Arbeit, echt beeindruckend.

Was mir persönlich noch besser gefallen würde wäre eine dunkel getönte 
Folie auf der Vorderseite, um die LEDs selbst etwas zu verstecken. 
Momentan wäre mir die Uhr von vorn etwas zu gelb :) Ist aber natürlich 
Geschmackssache.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Wo gibt es den Schaltplan+Source? :)
Veröffentliche das doch hier und lass die Mods den Thread in 
Codesammlung schieben.

Dominik S. schrieb:
> dunkel getönte Folie auf der Vorderseite

Habe ich mir auch gedacht. Aber irgend eine Folie scheint da drauf zu 
sein.


Sieht schick aus und ziemlich professionell realisiert. Das Gehäuse ist 
echt schick. Aber sei vorsichtig, dass dir das Gehäuse nicht verkratzt 
:-/

Wie bist du an die Maschinen zum Bestücken und auftragen der Lötpaste 
gekommen? Sind das Maschinen die wirklich für SMD Bestückung gedacht 
sind? Sehen irgendwie komisch aus...

Wie sind die LEDs verschaltet? Du schreibst was von 70mA aber ich sehe 
nur 5 Transistoren - wie steuerst du damit die LEDs an? Die Pins vom 
Attiny liefern ja nur so ca. 20mA.
Wenn ich mir die Platine so anschaue steuerst du die wohl spaltenweise 
über PNPs an und die Reihen über die Portpins. Ohne Vorwiderstände - 
nutzt also die Strombegrenzung der IO pins.

Von der ersten Ziffer sind doch zwei LEDs ungenutzt, oder? Nutzt du die 
beide für die Taschenlampe?

Mathias K. schrieb:
> 150 mAh reicht aus, um die Uhr im
> Dauerbetrieb 50-55h mit ausreichend Strom zu versorgen.

Nutzt du den Sleepmode des Attiny, schaltest alles ab usw.? Also ist die 
Firmware schon auf Stromverbrauch optimiert? Hast mal gemessen was die 
Uhr im Standby braucht?

Eventuell wäre ein guter Schaltregler und 1,8V Versorgung für den Attiny 
auch noch etwas effizienter.

Am besten wäre wohl ein Prozessor der mit Uhrenquarz getaktet wird (geht 
aber beim Attiny wohl nicht). Also eventuell gibt es besser geeignete 
Prozessoren?

Wäre auch interessant das mit einem CPLD zu realisieren (Stromverbrauch 
wird aber höher sein).

: Bearbeitet durch User
von Mathias K. (tj7)


Angehängte Dateien:

Lesenswert?

Danke :D bin auch immer wieder selbst beeindruckt, wie schön und klein 
die Uhr geworden ist.

@Olaf: Das ist eigentlich echt lustig. Am Anfang zählt man natürlich, 
aber mit der Zeit prägen sich die Bit-Muster einfach ein und man weiß 
auf einen Blick die Uhrzeit (macht sich dann besonders praktisch wenn 
man was binär programmiert!). Das mit dem Coating ist eine gute Idee, 
habe ich garnicht dran gedacht. Bisher ist das Gehäuse selber mehr oder 
weniger mit einer Schicht aus Flüssiggummi zwischen den 2 Gehäusehälften 
abgedichtet (wobei natürlich hier und da einige kleine Spalten sind, wie 
z.B. an den Tastern).

@Dominik: Eigentlich hatte ich vor, jede LED mit einer kleinen weißen 
Streuscheibe zu versehen, da ich ursprünglich eine schwarz/weiße Uhr 
wollte. Aber dann hat man immer das Problem mit der Streuung des 
Tageslichtes, was jegliche Leuchtkraft der LEDs überdeckt. Das mit der 
getönten Folie werde ich mal ausprobieren, mal schauen ob ich da die 
LEDs nicht zu hell für programmieren muss (heller = weniger 
Akkulaufzeit). Super wäre auch, direkt UV-LEDs zu nehmen und die 
Gehäusetaschen mit Phosphor zu befüllen (aber keine Ahnung wie man an 
sowas rankommt, besonders an effiziente UV-LEDs).

@Marius:
*Zur Folie: Momentan ist oben auf dem Gehäuse lediglich eine dieser 
kratzfesten Handyschutzfolien fürs Display aufgesetzt (hält trotz dem 
nicht blank polierten Alu erstaunlich gut). Ursprünglich wollte ich die 
LED-Taschen im Gehäuse mit Harz auffüllen, was ich aber nicht blasenfrei 
hinbekommen hätte (und ich hätte die LEDs nicht mehr warten können, 
falls was nicht stimmt mit dem Prototypen). Zudem hatte ich Angst um das 
Gehäuse wegen Kratzern (die Folie kann schon gut was ab, musste ich 
schon unfreiwillig testen). Ideal wäre natürlich ein richtiges Deckglas, 
aber darauf habe ich vorerst verzichtet (wäre aber meine liebste 
Lösung).
*Zu den Maschinen: Siebdrucker+Bestückungsmaschine+Reflowofen sind alle 
von meiner Universität. Bei uns wird man mit Kusshand empfangen, wenn 
man sich für Elektronik/Bastelein wie in den früheren Jahren 
interessiert und nach Hilfe fragt (eben weil es scheinbar nurnoch wenige 
gibt, die sich wirklich für sowas interessieren).
*Zur Ansteuerung: Im Grunde war/bin ich noch ein Laie in Sachen 
Schaltungstechnik. Keine Ahnung warum, aber Transistoren waren für mich 
immer schon ziemlich abgedreht und unverständlich. U.a. aus dem Grund 
verwende ich statt Bipolartransistoren MOSFETs. Um genauer zu sein, 
verwende ich Ultra-Low-Resistance MOSFETs, die schon bei weniger als 3V 
durchschalten. Das hat mehrere Vorteile (glaube ich zumindest): Ich muss 
lediglich dafür sorgen, dass der Strom beim Umschalten der MOSFETs 20mA 
bzw. 40mA nicht überschreitet (maximale Pinlast vom ATtiny 4313 ist 40mA 
pro Pin, 200mA gesamt). Das mache ich über 200 Ohm Widerstände am Gate. 
Da der MOSFET im Grunde nur ein Schalter ist und der Kanalwiderstand 
vernachlässigbar klein ist, fallen alle Berechnungen auf der LED-Strecke 
deutlich einfacher aus (keine Verstärkung, kein Spannungsabfall, etc.). 
Mit einem 10 Ohm Widerstand verringere ich den Strom durch jede LED auf 
ca. 30mA, wobei die LEDs wie gesagt einzeln nacheinander mit einer PWM 
angesteuert werden.
*Zu den 2 LEDs: Die oberste linke wird nie benutzt, drum ist sie meine 
Taschenlampe. Die LED darunter wird benutzt, wenn ich die Zeitanzeige 
auf MM:SS umstelle.
*Zum Sleepmode: Den Sleepmode benutze ich nur, wenn ich die Uhr komplett 
deaktiviere (falls ich sie mal länger nicht benutzen sollte). Das hat 
den Grund, da ich keinen externen Zeitgeber verwende und mir somit im 
Betrieb immer wieder die Zeit verloren gehen würde. Die 50-55h beziehen 
sich auf den Dauerbetrieb der Anzeige im dunklen Modus (geringe 
Helligkeit). Währenddessen rennt der ATtiny die ganze Zeit mit 1 MHz 
(habe mich oben verschrieben, sorry) und die LEDs leuchten. Im Schnitt 
sind das 2,5-3,5 mAh Verbrauch, wovon weniger als 0,5 mAh von der 
Elektronik selbst kommen. Den Verbrauch im Standby habe ich noch nicht 
gemessen, er sollte aber laut Datenblättern unter 50µAh liegen 
(Controller+ICs). Zum Energiesparen habe ich softwareseitig 
programmiert, dass die Anzeige der Uhr nach 19:00 Uhr automatisch aus 
geht (danach benutze ich sie eh meist nicht). Zudem taktet der ATtiny 
von 1 MHz auf 125 kHz herunter, sobald die LED-Anzeige ausgeschaltet 
wird. Dadurch verbraucht die Uhr weniger als 150µAh, was nochmal Energie 
spart.
Die 1 MHz Taktfrequenz vom ATtiny benötige ich, um die PWM der LEDs 
aufrecht zu erhalten. Grund ist, dass ich jede LED einzeln nacheinander 
ansteuere (ähnlich der Funktionsweise von Röhrenfernsehern). Somit 
leuchtet zu jedem Zeitpunkt nur maximal eine LED, mit einer Frequenz von 
120 Hz. Der Vorteil darin liegt, dass ich für alle 16 LEDs nur 1 
einzigen Vorwiderstand benötige (weniger Bauraum benötigt). Außerdem: 
Würde ich eine ganze Spalte gleichzeitig zum Leuchten bringen, hätte ich 
das Problem, dass je nach Anzahl der leuchtenden LEDs der 
Spannungsabfall am Vorwiderstand (sofern nur 1 benutzt wird pro Spalte) 
größer wird und die Leuchtkraft der LEDs ständig schwankt.
*Zum Controller: Es ist  gut möglich, dass es einige deutlich besser 
geeignete gibt. Bei der Auswahl des ATtiny4313 habe ich damals nur auf 
den Stromverbrauch, die geometrische Größe und die Portbelegung 
geschaut. Bei 1,8V müsste ich andere LEDs verwenden, da die weißen LEDs 
ca. 3V benötigen. Das war nebenbei gesagt auch eines der schwierigsten 
Dinge während des Projektes, sehr helle und gleichzeitig effiziente LEDs 
zu finden. Ich habe irgendwas um 15-20 verschiedene SMD-LEDs ausprobiert 
und bin schließlich auf einen geeigneten Typ gekommen.

P.S: Schaltplan ist oben, viel Spass damit.

von Paul Baumann (Gast)


Lesenswert?

Alle Achtung! Ein schönes Gerät.

Du bist ja ein richtiger Uhrologe....
;-)
MfG Paul

von Olaf (Gast)


Lesenswert?

> aber mit der Zeit prägen sich die Bit-Muster einfach ein und man weiß
> auf einen Blick die Uhrzeit (macht sich dann besonders praktisch wenn
> man was binär programmiert!).

Pass aber auf. Mich hat mal ein Prof durch eine Programmierklausur 
fallen lassen weil er meinte ich haette vom Nachbar abgeschrieben. Dabei 
habe ich nur die ganzen Rechenaufgaben mit Hexadezimalzahlen im Kopf 
geloest. Mir ist garnicht in den Sinn gekommen das man sowas schriftlich 
machen sollte. :-)

> *Zu den Maschinen: Siebdrucker+Bestückungsmaschine+Reflowofen sind alle
> von meiner Universität.

Bochum?

> Keine Ahnung warum, aber Transistoren waren für mich
> immer schon ziemlich abgedreht und unverständlich.

Das liegt an den Profs. Ich hatte am Anfang da auch so meine 
Schwierigkeiten weil sie in allen Schaltbildern jede Menge 
Spannungsquellen eingezeichnet haben, anstatt die Schaltung richtig zu 
zeichen und es dann zu erklaeren.

> verwende ich statt Bipolartransistoren MOSFETs.

Das ist eigentlich auch besser. Gerade alte Bastler verwenden viel zu 
wenig Mosfet weil sie schon immer den BC547/847 gewohnt sind.
Allerdings sollte du wirklich nochmal Ltspice starten und die 
Geheimnisse des Mosfet ergruenden. :-D Der Spannungsabfall an R2 
veringert dir die Gatespannung. Hast du die Widerstaende eigentlich 
berechnet oder nur so ausprobiert. Ich koennte mir naemlich vorstellen 
das deine Schaltung nur bei Zimmertemperatur gut funktioniert.
Und ein Widerstand am Gate begrenzt nicht den Strom durch den Mosfet 
sondern die Ladezeit des internen Kondensator. Natuerlich stellst du 
damit bei PWM auch irgendwie die Leistung ein, aber das ist mal 
mindestens etwas unkonventionell. Warte mal ab bis Mawin dich 
auseinander nimmt. :-)


Olaf

von Mathias K. (tj7)


Lesenswert?

Haha ja, wenn die Profs nicht glauben wollen, dass man es einfach gut 
beherrscht! Da kenne ich von einem Freund eine ähnliche Anekdote. Ich 
hatte mit dem vor der Klausur ausgiebig geübt und die durften ihre 
Unterlagen mit in die Klausur nehmen. Am Ende hat er dann die Aufgaben 
so makellos gelöst (dank unserer gemeinsamen Übung vorher), dass der 
Professor fest darauf bestanden hat, dass mein Freund die Musterklausur 
irgendwie vom Prof geklaut und vor der Arbeit kopiert hat! Resultat: 
Gespräch mit Rektor und Wiederholung der Arbeit. Aber zum Glück habe ich 
das Klausurthema hinter mir, hab mein Studium abgeschlossen dieses Jahr 
(TU-Ilmenau).

Zu dem MOSFET: Ich hatte mich ein wenig umgeschaut und bin hier im Forum 
auf einen Thread gestoßen, ob man denn einen Gatewiderstand braucht oder 
nicht. Da lief es im Endeffekt darauf hinaus, dass er nicht unbedingt 
notwendig ist, aber aus Gründen von EMV? ESD? (kA mehr), besser ist. 
Gerade weil zu Beginn des Ladevorgangs der Kondensator des MOSFETs leer 
ist und zwischen Gate und Pin ein riesiger Strom fließt (deutlich mehr 
als der Pin verträgt). Drum habe ich den Worst-Case berechnet mit 3,3V 
Spannung und Maximalstrom 20 mA (max. Pinlast) und bin auf die 200 / 220 
Ohm Widerstände gekommen (mit einer guten Portion Sicherheit). Das 
verlangsamt mir zwar den Schaltvorgang und erhöht ein wenig den 
Verbrauch der MOSFETs, aber für meine Anwendung sollte das 
vernachlässigbar sein.

Das mit R2 stimmt, jetzt wo ich nochmal drüber schaue. Ich glaube das 
war mir damals egal, da nur knapp 0,3V über R2 abfallen und der MOSFET 
bis runter auf 2,25V durchschaltet. Aber guter Einwand, muss ich mir 
merken für später.

Warum sollte die Schaltung eventuell nur bei Zimmertemperatur gut 
funktionieren?

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Hallo Mathias,

Es gibt kanz kleine MEMS RTC ICs. Vielleicht kann man den noch 
unterbringen. läuft mit 3uA.
Genauigkeit ist 3 Min im Jahr oder +- 5ppm oder 0.432 s/d. Das Teil wird 
von Maxim hergestellt. DS3231M oder DS3232M.

Gruß,
Gerhard

von Olaf (Gast)


Lesenswert?

> Da lief es im Endeffekt darauf hinaus, dass er nicht unbedingt
> notwendig ist, aber aus Gründen von EMV? ESD? (kA mehr), besser ist.

Das ist richtig. Damit kann man sich manchmal den Arsch retten. Aber man 
bezahlt einen Preis dafuer. Naemlich durch den schlechteren 
Wirkungsgrad.
Wobei jetzt 200Ohm nicht so gross sind. Es mag also sein das dies egal 
ist. Haengt halt vom Verhaeltnis der Einschaltzeit zu deiner 
PWM-Frequenz ab ob es nennenswert ist.

> Warum sollte die Schaltung eventuell nur bei Zimmertemperatur gut
> funktionieren?

Ich weiss jetzt nicht wieviel Reserven du fuer das einschalten der 
Mosfet hast dadurch das du ja etwas am 10R Widerstand verlierst. Der 
Widerstand wird dich vermutlich auch etwas Wirkungsgrad kosten.


> Genauigkeit ist 3 Min im Jahr oder +- 5ppm oder 0.432 s/d. Das Teil wird
> von Maxim hergestellt. DS3231M oder DS3232M.

3uA? Das ist ja 10x schlechter als die uebliche Konkurenz.
Und kuck mal hier:

http://www.prweb.com/releases/2013/2/prweb10386125.htm

Aber im Prinzip ist das hier ja egal. Die LEDs brauchen ja sehr viel 
Strom. Wenn der Controller irgendwann die LEDs nicht mehr einschaltet 
weil die Batterie leer wird, dann wird die Uhr immer noch monatelang 
laufen koennen. Da ist eine interne Uhr im Controller schon eine gute 
Wahl.

Vielleicht waere aber die Verwendung eines 4.192Mhz Quarz besser 
gewesen. Die Frequenz ist ziemlich beliebt bei Autouhren weil es da wohl 
Quarze gibt die genauer sind bei einem weitem Temperaturbereich. 
Andererseits ist das bei einer Armbanduhr auch egal. Die liegt ja 
entweder in einer Wohnung rum oder wird vom Arm temperiert.

Aber es gibt etwas anderes das einer guten Uhr fehlt. Einen Piepser wie 
sie in den Brandschutzmeldern verwendet werden und eine extra Taste die 
nach einmaligen druecken einen Timer von 3min startet und bei zweimal 
druecken von 5min. Nach Ablauf der Zeit gibt es einmalig einen 
Hoersturzpiepser. Dann wuerde ich nie mehr die Ziehzeit meines Tees 
verpassen. :-)

Olaf

von Magnus M. (magnetus) Benutzerseite


Lesenswert?


von Mathias K. (tj7)


Lesenswert?

Als Quartz verwende ich einen +-20/+-20 ppm Quartz von Abracon, also 
schon einen der genaueren denke ich. Das mit dem RTC ist dahingehend 
äußerst interessant, da ich dann die Taktfrequenz des ATtiny während der 
deaktivierten Anzeige deutlich runterschrauben bzw. den ATtiny direkt 
schlafen legen könnte. Allerdings müsste ich schauen, wie man noch so 
einen QFN Chip auf die Platine bekommt (ohne 4 lagige Platinen zu 
verwenden). In der Hinsicht wäre es auch praktisch, die Elektronik so 
auszulegen, dass mit dem ATtiny auch der Spannungswandler in den 
Sleep-mode geht (der ist eigentlich das begrenzende Bauteil, wenn die 
Anzeige deaktiviert ist - der benötigt etwa 80µAh). Müsste ich mal 
schauen wie man das auslegen kann/ob es auch gute RTCs gibt, die bei 
4,2V Spannung arbeiten (die von Abracon haben nur 3,6 und 3,8). Dann 
könnte ich den direkt an den Akku anschließen (sofern die absinkende 
Spannung keine zu großen Fehler in der Zeit verursacht).

Hier der Standardlink zu meiner FB-Seite: 
https://www.facebook.com/mathias.kruger.56
Falls der auch nicht geht, kann ich hier noch ein paar Fotos hochladen 
(wollte ich eigentlich nicht wegen dem unnötigen Mehrverbrauch an 
Forumspeicher, da die Fotos ja schon im Netz stehen). Alternativ kann 
ichs auch in meiner Dropbox hochladen, wenn der Link nicht funktioniert.

: Bearbeitet durch User
von Marius S. (lupin) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> der benötigt etwa 80µAh

Über welchen Zeitraum gesehen? Über ein Jahr gesehen? Das würde ja 
bedeuten, dass der nur 80µAh/8760h=9,13nA verbraucht. Ist doch ganz okay 
:-)

Warum versorgst du den Tiny eigentlich über einen Spannungsregler? 
Sollte doch auch direkt aus dem Lipo klappen.

Mit der Uhr im Tiny kannst du nur Sleep mode verwenden.
Mit einer externen RTC könntest den Power-Down mode des Tiny verwenden 
und über Pin-Change Interrupt bei Tastendruck aufwecken.

von Mathias K. (tj7)


Lesenswert?

eh, sorry - meinte 80µA/h (also deutlich mehr). Die Angabe ist aber nur 
aus dem Datenblatt zum Spannungsregler entnommen (LP2981). Den verwende 
ich, da ich (1.) eine konstante Spannung am ATtiny will (so bleibt die 
Taktfrequenz genauer) und (2.) um die LEDs konstant hell zu halten. Mit 
dem externen RTC könnte ich den Spannungsregler nach den ATtiny 
schalten, also nur für die LEDs (vorausgesetzt, der RTC taktet konstant 
trotz Spannungsänderung). So könnte ich den Regler dann zusammen mit dem 
ATtiny abschalten und deutlich mehr Energie sparen, wenn die Anzeige eh 
deaktiviert ist.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> Hier der Standardlink zu meiner FB-Seite:
> https://www.facebook.com/mathias.kruger.56

Wenn man nicht bei FB angemeldet ist, bekommt man nur einen Grill und 
einen Skifaher zu sehen.

von Olaf (Gast)


Lesenswert?

> (1.) eine konstante Spannung am ATtiny will (so bleibt die
> Taktfrequenz genauer)

Ist das wirklich so? Ich muss sagen ich hab das noch nie probiert, aber 
selbst wenn, Betriebspannung messen und einen Korrekturfaktor addieren.

> (2.) um die LEDs konstant hell zu halten.

Betriebsspannung messen und einen Korrekturfaktor auf die PWM addieren. 
Duerfte sich auch positiv auf den Wirkungsgrad auswirken.

Olaf

von Blende22 (Gast)


Lesenswert?

Toll gemacht und prima durchdacht!
>Hat sich dein Gehirn schon auf Binaer umgestellt? Kannst du also die
>Zeit mit einem Blick ablesen
Bei meiner Binär-Uhr muss ich oft noch nachrechnen ( morgen vielleicht 
mehr! ;-) , aber man gewöhnt sich sehr schnell an die neue Anzeigeart 
einer Uhr:
http://www.youtube.com/watch?v=A9Zjim5oCW8
Ich hätte da ja eine Idee: Eine uralte Holzuhr mit nur einem Zeiger 
digital zu simulieren. ;-)  Keine Minuten mehr, nur Stunden. ;-)
Die Frage wäre nur das Design.. Spartanisch, würde ich sagen.

von Blende22 (Gast)


Lesenswert?

Wenn wir noch langlebiger wären, möchte ich ja zur Konstruktion einer 
"Analemma-Uhr" raten. Ausgabe auf Graphikdisplay. Gibt es wahrscheinlich 
leider auch schon, aber sicher net in Echtzeit.
http://en.wikipedia.org/wiki/Analemma
Und, Sonnenuhren könnte man ja auch mit µCs verknüpfen oder spricht was 
gegen die Sylvesteridee? ;-)

gerhard

von Mathias K. (tj7)


Angehängte Dateien:

Lesenswert?

@Olaf: Ich habe gerade nochmal nachgeschaut im Datenblatt zum 
ATtiny4313. Da sieht man in meinem Spannungsbereich (3,6V-4,2V) eine 
relativ gering ausgeprägte Abhängigkeit der Frequenz von der Spannung, 
ich hatte da mehr in Erinnerung. Allerdings beziehen sich die Angaben 
auf den internen RC-Oszillator, keine Ahnung ob die 
Spannungsabhängigkeit der Frequenz bei einem Quartz existiert/wie stark 
sie ausgeprägt ist (jemand eine Ahnung hier? Das würde mich mal 
interessieren). So gesehen würde die Genauigkeit nicht allzusehr leiden, 
wenn ich den ATtiny ohne/vor dem Schaltregler verbaue.

Zu den LEDs: Ich glaube, das Problem an der Sache ist der große 
Spannungsbereich von 0,6 V. Ich müsste den Vorwiderstand der LEDs bei 
4,2 V bestimmen, sodass die Controllerpins nicht leiden (max. 40 mA beim 
4313). Ich kann mir gut vorstellen (sofern überhaupt möglich wegen der 
sinkenden Spannung), dass man eine sehr hochaufgelöste PWM (und damit 
auch Taktfrequenz des Controllers) braucht, um bis runter auf 3,6 V die 
gleiche Helligkeit zu erreichen wie bei 4,2 V. Momentan besteht meine 
PWM aus nur 5 bzw. 10 möglichen, verschiedenen Tastgraden und dennoch 
braucht der Controller 1 Mhz um alle 16 LEDs zum Leuchten zu bringen.

@Gerhard: Spartanisch find ich immer besser! So bleibt der Blick aufs 
Wesentliche fokussiert ;)

Ich hab nochmal ein paar Fotos von der Uhr reingestellt (im FB Profil 
sind größtenteils noch Fotos von der Herstellung der Uhr, die pack ich 
hier aber nicht noch rein).

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

> Genauigkeit ist 3 Min im Jahr oder +- 5ppm oder 0.432 s/d. Das Teil wird
> von Maxim hergestellt. DS3231M oder DS3232M.

>3uA? Das ist ja 10x schlechter als die uebliche Konkurenz.
>Und kuck mal hier:

>http://www.prweb.com/releases/2013/2/prweb10386125.htm



Der DS3232M ist wegen der hohen Genauigkeit und dem Wegfall eines 
externen Quarzes hier attraktiv, da die IC sehr klein ist.

+-20ppm sind fast 21 Minuten an Gangfehler im Jahr. Dazu kommt dass der 
DS3232M über einen praktisch perfekten Temperaturgang zwischen -40 bis 
85 Grad hat. Die Alterungsrate per Jahr ist typisch unter 1ppm. Das 
mache mal mit einem typischen "nackten"Quarz ohne 
Temperaturkompensation.

Naja, 3uA ist die Sache vielleicht wert...

In Deiner Armbanduhr ist eben die geringe Größe der attraktive Punkt.

Ohne Feinabgleich im End Layout ist eine genaue Frequenz Zufall.

Man könnte allerdings wie in einer Appnote(1155) von Microchip 
beschrieben periodisch in Abständen von z.B. Einer Minute dem Uhrteiler 
die entsprechenden Nummer von Korrigierpulsen hinzufügen oder abziehen. 
Wenn man dann die Temperatur mißt und mittels einer Tabelle die 
Korrekturnummer aufruft dann läßt sich die Genauigkeit auch mit einem 
diskreten Quarz beträchtlich erhöhen.

Nichts für ungut, ist nur meine Meinung.

Mfg,
Gerhard

von Mathias K. (tj7)


Lesenswert?

Die Abracon RTCs sind an für sich schon richtig gut, da sie vor allem im 
flachen QFN Package kommen (hab ich auf die Schnelle nicht für den 
DS3232 gefunden). Nur die maximale Spannung von 3,6 bzw 3,8 V ist 
suboptimal (was beim DS3232 wieder besser ist, da der bis 5,5 V geht). 
Gibt es eine praktikable Lösung ohne zusätzliche Stromaufnahme und IC, 
die Akkuspannung von 4,2 V so herunter zu regeln, dass sie 3,8 V nicht 
überschreitet? Spontan fällt mir dazu nur eine Diode in 
Durchlassrichtung ein, sodass ca. 0,7 V auf der Versorgungsstrecke zum 
RTC abfallen.

Aufjedenfall ist die Methode mit einem RTC, egal mit welchem, die 
bessere Lösung als meine, wenn es um das Energiesparen bei deaktivierter 
Anzeige geht. Das ist der Haken bei meiner Uhr: selbst ohne Anzeige muss 
die Uhr nach einigen Wochen geladen werden, oder der Akku geht in die 
Knie.

@Gerhard: Momentan "gleiche" ich die Frequenz des Quartzes ab, indem der 
Mikrocontroller um Mitternacht den Zählerstand des Timers/der Zeit um 
einen gewissen Wert nachstellt, also ähnlich der Appnote. Bisher hat das 
erstaunlich gut hingehauen, da die Uhr ohne Nachstellen seit 3 Monaten 
nur 14 Sekunden nach geht.

Mal stöbern, was es noch für QFN RTCs gibt da draußen.

Achja, gesundes neues!

: Bearbeitet durch User
von DS3232 (Gast)


Lesenswert?

Die DS323x sind natürlich nicht so flach. Dafür beinhalten sie bereits 
den Quarz. Und dieser ist sogar ein TXCO, also temperaturkompensiert. 
Bei mir ergibt das im Monat eine Abweichung von ca. 1s.
Versuche mit anderen RTCs waren dramatisch schlechter, da die Anpassung 
des Quarz and den RTC Chip kritisch ist und ohne C-Trimmer in der Regel 
zu viel schlechteren Werten führt.

Achja, auch gesundes neues Jahr!

von Gerhard O. (gerhard_)


Lesenswert?

DS3232 schrieb im Beitrag #3466227:
> Die DS323x sind natürlich nicht so flach. Dafür beinhalten sie bereits
> den Quarz. Und dieser ist sogar ein TXCO, also temperaturkompensiert.
> Bei mir ergibt das im Monat eine Abweichung von ca. 1s.
> Versuche mit anderen RTCs waren dramatisch schlechter, da die Anpassung
> des Quarz and den RTC Chip kritisch ist und ohne C-Trimmer in der Regel
> zu viel schlechteren Werten führt.
>
> Achja, auch gesundes neues Jahr!

Hi,

Ich meinte eigentlich die DS3232M MEMS Resonator Version im 8-Pin SO-8 
Gehäuse. Da ist kein Quarz drin; nur ein Mikro-Miniaturisierter MEMS 
Resonator von hoher Stabilität. Diese MEMS RTC habe eine lineare 
Temperaturkennlinie die in TCXO Art intern schon kompensiert wird.

http://datasheets.maximintegrated.com/en/ds/DS3232M.pdf

Der ältere DS3232 ist ja wegen des integrierten Quarzes, obwohl etwas 
sparsamer, ein richtiges Ungetüm;-)

Meine Absicht war darauf aufmerksam zu machen dass es heutzutage auch 
ohne Quarz geht.

Dir auch alles Gute fürs neue Jahr!

Gerhard

von Gerhard O. (gerhard_)


Lesenswert?

Mathias K. schrieb:
> Die Abracon RTCs sind an für sich schon richtig gut, da sie vor allem im
> flachen QFN Package kommen (hab ich auf die Schnelle nicht für den
> DS3232 gefunden). Nur die maximale Spannung von 3,6 bzw 3,8 V ist
> suboptimal (was beim DS3232 wieder besser ist, da der bis 5,5 V geht).
> Gibt es eine praktikable Lösung ohne zusätzliche Stromaufnahme und IC,
> die Akkuspannung von 4,2 V so herunter zu regeln, dass sie 3,8 V nicht
> überschreitet? Spontan fällt mir dazu nur eine Diode in
> Durchlassrichtung ein, sodass ca. 0,7 V auf der Versorgungsstrecke zum
> RTC abfallen.
>
> Aufjedenfall ist die Methode mit einem RTC, egal mit welchem, die
> bessere Lösung als meine, wenn es um das Energiesparen bei deaktivierter
> Anzeige geht. Das ist der Haken bei meiner Uhr: selbst ohne Anzeige muss
> die Uhr nach einigen Wochen geladen werden, oder der Akku geht in die
> Knie.
>
> @Gerhard: Momentan "gleiche" ich die Frequenz des Quartzes ab, indem der
> Mikrocontroller um Mitternacht den Zählerstand des Timers/der Zeit um
> einen gewissen Wert nachstellt, also ähnlich der Appnote. Bisher hat das
> erstaunlich gut hingehauen, da die Uhr ohne Nachstellen seit 3 Monaten
> nur 14 Sekunden nach geht.
>
> Mal stöbern, was es noch für QFN RTCs gibt da draußen.
>
> Achja, gesundes neues!

Danke für die Erklärungen. Macht Sinn. Ja, ein RTC würde Dir das Leben 
sicherlich leichter machen, da dann der MCU schlafen gelegt werden kann. 
Den DS323XM gibt es leider (noch) nicht kleiner als ein 3.9mm SO-8. Der 
ist wahrscheinlich zu dick um noch nachträglich eingebaut zu werden.

Die Abracom Sachen werde ich mir mal zum Vergleich anschauen.

Jedenfalls ist Deine Uhr eine schön und praktische Sache. Ich kann 
übrigens die Zeit ohne Überlegung ablesen. Ist wie gewohnt;-)

Gerhard

von Blende22 (Gast)


Lesenswert?

Hallo Mathias!
Lass Dich bloss nicht schlecht machen! Dein Werk ist 1A ! Es gibt da zu 
viele, die mit der Programmierung angeben. Nicht ein ein einziges , 
fertiges Produkt habe ich von denen jemals zu sehen bekommen!
Da stimmt doch was nicht!? ;-)
Inzwischen hast Du ja hoffentlich das Rüberrrutschen in das Neue Jahr 
gut überlebt? ;-)
Das neue Jahr wird auch mikrocontrollerverseucht sein.. HOFFENTLICH GUT 
! ;-)
In dem Sinn
Gerhard

von Gerhard O. (gerhard_)


Lesenswert?

Blende22 schrieb:
> Hallo Mathias!
> Lass Dich bloss nicht schlecht machen! Dein Werk ist 1A ! Es gibt da zu
> viele, die mit der Programmierung angeben. Nicht ein ein einziges ,
> fertiges Produkt habe ich von denen jemals zu sehen bekommen!
> Da stimmt doch was nicht!? ;-)
> Inzwischen hast Du ja hoffentlich das Rüberrrutschen in das Neue Jahr
> gut überlebt? ;-)
> Das neue Jahr wird auch mikrocontrollerverseucht sein.. HOFFENTLICH GUT
> ! ;-)
> In dem Sinn
> Gerhard

Es macht ihn doch niemand schlecht? Oder habe ich was übersehen?

Von wegen neues Jahr. Bei mir ist es erst 18 Uhr. Bin im Jahre 2013 fest 
gesessen. Noch viel Zeit bis zum nächsten Jahr...

Gruß,
Gerhard

: Bearbeitet durch User
von Piefke (Gast)


Lesenswert?

Ich sehe auch nicht, wo Mathias schlecht gemacht wird. Aber Anregungen, 
ein tolles Projekt noch perfekter machen zu können müssen doch erlaubt 
sein und sind von Mathias wohl auch erwünscht.
Aber man muß für Blende22 auch Verständnis zeigen. Er ist ja nicht mehr 
der Jüngste und kommt zudem noch aus Österreich.

von Mathias K. (tj7)


Lesenswert?

:D danke! Im rutschen bin ich Meister - ordentlich Feuerwerk in die Luft 
gejagd (inklusive intaktem Trommelfell) und danach erstmal schön ins 
Mikrocontrollerforum und Ideen sammeln/Datenblätter lesen!
Und zum neuen Jahr: Erstmal wirds Raspberry Pi versucht, mit ein paar 
AVR Basteleien nebenher! Ist schon für alles gesorgt ;)

Aber um dich zu beruhigen ;) : Bisher hat sich jeder, der meine Uhr 
gesehen hat, nur positiv geäußert. Das wird sich zwar ändern, falls ich 
meinen Sourcecode veröffentlichen sollte (die Handschrift eines 
Anfängers), aber egal :D - die Uhr läuft!

@Gerhard O.: Danke auch für die Tips! Jetzt hab ichs auch geschnallt 
worauf du hinaus wolltest. Damit könnte ich den Platz des Quarzes 
stattdessen mit dem DS3232M füllen (somit hätte ich rein von der Breite 
keine Probleme auf der Platine). Ich hab auch nochmal geschaut, wenn ich 
den RTC geschickt auf der Platine unterbringe, sollte mir die etwas 
größere Höhe des SO8 Packages keine Probleme bereiten. Mein Akku hat 
seitlich im Gehäuse noch ca. 5 mm Platz, wo ich den RTC platzieren kann. 
So könnte ich das Gehäuse der Uhr bei der gleichen Höhe belassen.

Mal schauen was ich sonst noch verbessern kann, dann entwerf ich vllt. 
eine Version 2.0 der Platine, wenn mir mal langweilig ist!

von Gerhard O. (gerhard_)


Lesenswert?

Piefke schrieb:
> Ich sehe auch nicht, wo Mathias schlecht gemacht wird. Aber Anregungen,
> ein tolles Projekt noch perfekter machen zu können müssen doch erlaubt
> sein und sind von Mathias wohl auch erwünscht.
> Aber man muß für Blende22 auch Verständnis zeigen. Er ist ja nicht mehr
> der Jüngste und kommt zudem noch aus Österreich.

Dann müssen wir zusammenhalten -bin ja auch Österreicher;-)

von Mathias K. (tj7)


Lesenswert?

Mir war garnicht bewusst, dass es in Österreich 8h früher ist! Eure 
Sonnenuhren gehen wohl wegen den hohen Bergen anders ;P?

Zu Piefke: Anregungen und Tips sind mehr als willkommen, das ist 
überhaupt ein Grund, warum ich hier im Forum bin (und natürlich, um mit 
meinem Werk zu strahlen). Es gibt immer was zu verbessern! Außerdem kann 
ich hier von den Leuten nur dazu lernen, das ist mir noch viel 
wichtiger!

von Gerhard O. (gerhard_)


Lesenswert?

Mir scheint dass zwischen dem Mitteltaster und dem SOT-23 für ein SO-8 
im "Dead beetle" Stil genug Platz da ist.


Mathias K. schrieb:
>
> @Gerhard O.: Danke auch für die Tips! Jetzt hab ichs auch geschnallt
> worauf du hinaus wolltest. Damit könnte ich den Platz des Quarzes
> stattdessen mit dem DS3232M füllen (somit hätte ich rein von der Breite
> keine Probleme auf der Platine). Ich hab auch nochmal geschaut, wenn ich
> den RTC geschickt auf der Platine unterbringe, sollte mir die etwas
> größere Höhe des SO8 Packages keine Probleme bereiten. Mein Akku hat
> seitlich im Gehäuse noch ca. 5 mm Platz, wo ich den RTC platzieren kann.
> So könnte ich das Gehäuse der Uhr bei der gleichen Höhe belassen.
>
> Mal schauen was ich sonst noch verbessern kann, dann entwerf ich vllt.
> eine Version 2.0 der Platine, wenn mir mal langweilig ist!

von Gerhard O. (gerhard_)


Lesenswert?

Das stimmt schon. Nur bin ich ganz weit im Westen: 53 Grad N, 113 Grad 
West. Bären und Wölfe gibts auch außerhalb der Stadt nicht zu weit von 
hier. (Wayne Gretzky Land).

Gerhard

Mathias K. schrieb:
> Mir war garnicht bewusst, dass es in Österreich 8h früher ist! Eure
> Sonnenuhren gehen wohl wegen den hohen Bergen anders ;P?
>
> Zu Piefke: Anregungen und Tips sind mehr als willkommen, das ist
> überhaupt ein Grund, warum ich hier im Forum bin (und natürlich, um mit
> meinem Werk zu strahlen). Es gibt immer was zu verbessern! Außerdem kann
> ich hier von den Leuten nur dazu lernen, das ist mir noch viel
> wichtiger!

von Bernd T. (bastelmensch)


Lesenswert?

Ich bin wirklich beeindruckt!

von Marius S. (lupin) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> Anregungen und Tips sind mehr als willkommen

Man kann alles bis ins letzte Detail optimieren und die optimale Lösung 
finden. Wenn man da ein paar Jahre rein steckt, seinen eigenen 
stromsparenden ASIC entwickelt usw. dann ist deine Schaltung dagegen 
natürlich ein Witz.

Aber darum geht es ja nicht, dass was du hier geschafft hast sieht schon 
sehr solide aus und das obwohl du anscheinend noch nicht so viel 
Erfahrung hast. Das bekommen einige Bastler hier nicht so hin (trotz 
vielen Jahren Erfahrung).

Aber die Schaltung würde ich ohne Spannungsregler mit µC im Power-Down 
und externer RTC oder µC mit Power-Down und integrierter RTC versuchen 
zu realisieren. Wüsste im Moment nicht wie, aber geht bestimmt :-)

Prost Neujahr! Ich geh mal schlafen...

von Daniel P. (ppowers)


Lesenswert?

Hallo, tolles Projekt und wirklich schön umgesetzt. Respekt!

Schau Dir mal die RTCs von Micro Crystal an
( http://www.mcrystal.ch/index.php/products/real-time-clocks )
Ich verwende z.B. gerne die RV-3049-C2. Äußerst genau, da integrierter, 
temperaturkompensierter Quarz und lässt sich über einen sehr breiten 
Spannungsbereich betreiben (1,3 - 5,5 V). Also ideal für eine Anwendung 
ohne Spannungsregler. Der Stromverbrauch liegt bei ca. 900nA, mit 
abgeschalteter Temperaturkompensation allerdings nur noch ein Bruchteil 
davon.

von Mathias K. (tj7)


Lesenswert?

Hey, danke für die Info! Ich hab mal kurz drüber geschaut und die sehen 
echt vielversprechend aus! Die Größe entspricht fast 1:1 meinem 
momentanen Quarz, sodass da nicht viel geändert werden muss auf der 
Platine (einfach auswechseln und neue Leiterbahnen legen). Verbrauch und 
Versorgungsspannung sind auch genau richtig!

Ich bekomm langsam Lust, mich nochmal an Eagle und das AtmelStudio zu 
setzen ...

von Stefanus (Gast)


Lesenswert?

Hammer, tolles Teil!

von Blende22 (Gast)


Lesenswert?

Hallo Mathias!

> Ich bekomm langsam Lust, mich nochmal an Eagle und das AtmelStudio zu
> setzen ...

Vielleicht habe ich es überlesen: Stellst Du Deine Platinen selbst her?

Gruß

Gerhard

von Mathias K. (tj7)


Lesenswert?

Die habe ich bei PCBcenter (M&V Leiterplatten) herstellen lassen 
http://pcb-center.de/
An der Qualität gab es nichts zu bemängeln und die Lieferzeiten waren 
auch wie angegeben. Preis ist mMn auch super (ich hatte als Extra eine 1 
mm FR-4 Leiterplatte herstellen lassen). Bin durch und durch zufrieden 
mit denen!

: Bearbeitet durch User
von FiatLux (Gast)


Lesenswert?

Paul Baumann schrieb:
> Alle Achtung! Ein schönes Gerät.
>
> Du bist ja ein richtiger Uhrologe....
> ;-)
> MfG Paul

Toller Beitrag!

von Blende22 (Gast)


Lesenswert?

Danke für den Hinweis! Muss ich glatt mal probieren. Habe bis jetzt 
meine Platinen immer selbst gemacht. Die sind zwar in letzter Zeit ganz 
schön geraten und Ausschuss habe ich auch schon länger keinen mehr, aber 
es hat doch leider Nachteile:
z.B. bei den doppelseitigen Platinen das Problem mit den 
Durchkontaktierungen.
Dieses alte home-made-Entwicklungsboard (1999) war in der Hinsicht eine 
Schinderei
http://up.picr.de/16214482py.jpg
und Lötstoppmaske gibt's auch keine.

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.