Forum: Mikrocontroller und Digitale Elektronik Uhr mit AtTiny13 bauen - geht das?


von Fredi K. (Gast)


Lesenswert?

Hallo,

ich wollte eine Uhr mit einem AtTiny13 bauen.

Ich will nur wissen ob die 1kB ausreichen - alles andere such ich 
selber.
Möchte jetzt gerne die Hardware zusammen löten. Deshalb frag ich...

Ich hab mir vor ein paar Tagen eine 7-Segment anzeige aus Leds gebaut - 
es sind 6 Ziffern verbunden über ein Schieberegister - insgesamt belegt 
es 13 + 2 Stellen (Punkte) an dem Schieberegister.

Mir bleiben also noch 2 Pins übrig für die Taster mit denen ich die Uhr 
einstellen möchte.

Geht das ganze so? Reicht dafür ein AtTiny13?

Vielen dank!
Fradi

von Fredi K. (Gast)


Lesenswert?

Also das Schieberegister belegt 3 Pins an den AtTiny13. Dann bleiben 
noch 2 Pins für meine einstell Taster. Reichen dafür die Ressourcen des 
AtTiny13 aus? Brauc ich dafür einen externen Quarz?

von Jim Beam (Gast)


Lesenswert?

Woher möchtest Du denn die Uhrzeit holen?
Für einen Quartz hast Du keine Pins mehr und der interne RC-Oszillator 
ist viel zu ungenau für eine Uhr!

Eine externe RTC kannst Du auch nicht anschliessen, wg. Pin-Mangel, 
ausser mit wildester MPX-Pin-Mehrfachnutzung.

Vom Speicherplatz 1KB ist das kein Problem,
Dir fehlen schlicht IO-Pins...

Nimm den nächst-grösseren, z.B. ATTINY-24.

von S. R. (svenska)


Lesenswert?

Ohne externen Quarz ist dein Takt nicht stabil.
Eine Uhr ohne stabilen Takt ist eher witzlos.
Die Ressourcen sollten ausreichen.

Der Ansatz, dafür einen ATtiny13 zu benutzen, ist b'scheuert.

von Gerd (Gast)


Lesenswert?

Hallo,

klar geht das:
statt der Taster einen DCF77-Empfänger und man dann sogar noch einen Pin 
frei. Und das Datum gibt es umsonst dazu (nochmal 6 Anzeigen + 
Schieberegister).
Paßt in einen Attiny13.

Gerd

von H.Joachim S. (crazyhorse)


Lesenswert?

Nicht alles was irgendwie geht ist auch sinnvoll.
Zu zeigen, dass es geht, reicht eine theoretische Betrachtung.
Es auch praktisch zu machen und Ports extern zu erweitern, die man auch 
mehr oder weniger kostenlos on chip dazu bekommen kann ist irgendwie 
bizarr.

von Alex G. (dragongamer)


Lesenswert?

Die DCFF Idee ist ziemlich gut, würde ich sagen. Dann braucht man auch 
nicht wirklich mehr pins.

Alternative wäre noch beide Taster mittels Widerständen, an einen 
einzelnen ADC Pin anzuschließen und somit den Pin für den Takt zu haben.

Die 1kb werden jedenfalls reichen da das echt ein simples Programm wird.

: Bearbeitet durch User
von Oldmax (Gast)


Lesenswert?

Hi
So ganz kann ich deinen Wunsch nicht verstehen. Anzeige mit LED separat 
aufgebaut, dazu noch externe Bauteile und dann (aus Platzgründen?) einen 
ATiny13?  Dabei gibt es durchaus preiswerte Controller mit ausreichend 
IO. Aber du wirst schon wissen, was du willst.
Gruß oldmax.

von Mario M. (thelonging)


Lesenswert?

Jim Beam schrieb:
> Für einen Quartz hast Du keine Pins mehr

TXCO an CLKIN

Fredi K. schrieb:
> Also das Schieberegister belegt 3 Pins an den AtTiny13. Dann bleiben
> noch 2 Pins für meine einstell Taster.

Die Tasten kann man an die Digit-Anschlüsse hängen und zusammen mit dem 
Multiplex abfragen.

Fredi K. schrieb:
> das Schieberegister belegt 3 Pins

Bei den richtigen Schieberegistern kann man das LATCH-Signal über einen 
RC-Tiefpass aus dem CLK-Signal erzeugen.

S. R. schrieb:
> ist b'scheuert

Ja, wahrscheinlich. Aber manchmal auch reizvoll.

von Stefan F. (Gast)


Lesenswert?

Ich habe mal eine Uhr mit ATTiny13A, DCF und analoger (PWM) Ausgabe 
gemacht. Die läuft seit ein paar Jahren zufriedenstellend. Voraussetzung 
ist allerdings einigermaßen guter DCF Empfang (da ohne Quarz).

Der Plan ist in http://stefanfrings.de/mikrocontroller_buch/index.html 
Band 3. Während ich dieses Buch schrieb, fand ich heraus, dass der ELV 
Verlag die gleiche Idee schon früher hatte, allerdings mit viel höherem 
technischen Aufwand. Den Bausatz gibt es inzwischen leider nicht mehr zu 
kaufen.

Jedenfalls kann ich mir durchaus vorstellen, die analoge Ausgabe meiner 
ATtiny13A Uhr durch eine digitale mit Schieberegister zu ersetzen. Aber 
eigentlich liegt es in so einem Fall doch nahe, lieber gleich einen 
größeren µC mit Quarz und genug Pins zu benutzen. Es sei denn, der Weg 
ist das Ziel.

Wie wäre eine binäre Anzeige mit Neopixeln? Das würde ohne 
Schieberegister gehen.

von Peter D. (peda)


Lesenswert?

Jim Beam schrieb:
> Dir fehlen schlicht IO-Pins...

2 Pins für den Quarz, dann bleiben noch 3 Pins für das SPI, sollte 
gehen.
An 2 SPI-Pins kann man noch 2 Tasten über Widerständen anschließen, die 
man zwischen den Ausgaben einliest.
Man kann auch SCK und DIN über ein RC-Glied zusammen legen. Die Länge 
des SCK-Pulses legt dann fest, ob man 0 oder 1 einschiebt.
Uber den dann freien Pin kann man mehrere Tasten über Widerstände und 
den ADC einlesen:
Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"

In C kann es knapp werden mit den 1kB Flash.
Hier mal ein Beispiel in Assembler:
Beitrag "DCF77-Uhr mit ATTINY12"

von Jim Beam (Gast)


Lesenswert?

Peter D. schrieb:
> 2 Pins für den Quarz, dann bleiben noch 3 Pins für das SPI, sollte
> gehen.

Wobei mir gerade auffällt, dass der TINY13 garkeinen externen Quarz 
unterstützt...
Oder gibt es neuere Varianten, die das können?

Dann bleibt nur externe RTC z.B. über I2C oder DCF.

Es bleibt aber dabei, dass es Unfug ist hier einen Tiny13 einzuplanen...
Lediglich rein-akademisch interessant, was man so alles tricksen kann um 
IO mehrfach zu nutzen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Also unabhängig davon, ob das geht, macht es nur ganz wenig Sinn. Das 
ist eine rein sportliche Übung, nichts praktisches.

Ein größerer µC mit mehr Pins kann die Anzeige mit wenigen externen 
Bauteilen direkt ansprechen. Wenn ich das mit externen Bauteilen 
erledigen muß, nur damit das mit einen Tiny13 geht, dann ist das mehr 
Aufwand und es wird auch nicht kleiner oder billiger.

Was mit einem Tiny13 gehen würde:
- Uhrzeit mittels DCF-77 holen
- Uhrzeit ausgeben mittels Morse-Code

von c-hater (Gast)


Lesenswert?

Fredi K. schrieb:

> ich wollte eine Uhr mit einem AtTiny13 bauen.

Warum ausgerechnet mit dieser Gurke? Das ist eigentlich nicht, wofür der 
mal gedacht war.

> Ich will nur wissen ob die 1kB ausreichen

Das schon. Aber wohl nicht für jemanden, der so fragt wie du...

> Ich hab mir vor ein paar Tagen eine 7-Segment anzeige aus Leds gebaut -
> es sind 6 Ziffern verbunden über ein Schieberegister

Das ist immerhin ein sinnvoller Ansatz. Erweitere den einfach auf die 
Abfrage der Taster und alles wird gut. (Tip: man braucht dazu natürlich 
die passenden Schieberegister, seriell-in, parallel-out ist gut für die 
LEDs, für die Taster brauchst du aber sozusagen "das Gegenteil". Die 
kannst du dann aber in eine serielle Kette mit den LED-Teilen hängen und 
auch das Latch-Signal für beide verwenden. D.h.: zwei Sachen fast zum 
Preis von einer, du brauchst nur einen einzigen Pin mehr, um den 
seriellen Output der SR-Kette wieder in den µC zu bekommen.

von c-hater (Gast)


Lesenswert?

c-hater schrieb:

> Preis von einer, du brauchst nur einen einzigen Pin mehr, um den
> seriellen Output der SR-Kette wieder in den µC zu bekommen.

Ergänzend: natürlich könnte man darüber auch den Output eines 
DCF77-Moduls in den µC bekommen. Allerdings: schnell geswitchte LEDs und 
DCF77-Empfang passen  erfahrungsgemäß nicht sehr gut zusammen...

von Peter D. (peda)


Lesenswert?

Jim Beam schrieb:
> Wobei mir gerade auffällt, dass der TINY13 garkeinen externen Quarz
> unterstützt...

Stimmt, es muß schon ein ATtiny25 sein oder besser gleich ein ATtiny24.

von svensson (Gast)


Lesenswert?

Moin,
aus praktischen Gründen würde ich einen Tiny85 nehmen (8kB), der ist 
auch kaum größer.

RTC und Display über I2C-Bus anschließen, dann bleiben sogar noch Pins 
für die Taster übrig.

von LostInMusic (Gast)


Lesenswert?

>Wobei mir gerade auffällt, dass der TINY13 garkeinen externen Quarz
>unterstützt...

Das nicht, aber external-clock-fähig ist er ("CKLI" an Pin 2).

Ich halte das Vorhaben durchaus für realisierbar und das sogar ohne 
allzu dramatische Verrenkungen:

Pin 1: reset
Pin 2: external clock (Quarzoszillator)
Pin 3: Widerstandsnetzwerk mit Tastern (einlesen via ADC)
Pin 4: GND
Pin 5: display clock
Pin 6: display data
Pin 7: display latch
Pin 8: VCC

Trickst man das display latch noch weg, kann man sogar noch ein 
DCF-Modul an diesen Pin hängen.

So würde ich es versuchen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wenn man das Ding mit DCF-77 laufen lassen möchte, dann braucht es 
keinen externen Takt.

von Christian S. (roehrenvorheizer)


Lesenswert?

Mit einem AT90S2313 oder dem Tiny2313 würdest Du Dir leichter tun.


Beitrag "Zeitumstellung beobachtet mit DCF77 Uhr von Ulrich Radig mit Codeerweiterungen"

MfG

: Bearbeitet durch User
von Jim Beam (Gast)


Lesenswert?

Ben B. schrieb:
> Wenn man das Ding mit DCF-77 laufen lassen möchte, dann braucht es
> keinen externen Takt.

Naja.
Man will ja auch Zeiten überbrücken, in denen man keinen DCF-Empfang 
hat.

von Christian S. (roehrenvorheizer)


Lesenswert?

Falscher Link, sorry, konnte es nicht mehr löschen.

MfG

von LostInMusic (Gast)


Lesenswert?

>Wenn man das Ding mit DCF-77 laufen lassen möchte, dann braucht es
>keinen externen Takt.

Nein, wenn man jederzeit fehlerfreien DCF-Empfang hat, der z. B. auch 
durch die hochfrequente Ansteuerung des Displays kein bisschen 
beeinträchtigt wird,  dann nicht.

von HildeK (Gast)


Lesenswert?

Jim Beam schrieb:
> Man will ja auch Zeiten überbrücken, in denen man keinen DCF-Empfang
> hat.

Wenn es nur Minuten wären, würde der interne Oszillator zwar ein wenig 
Abweichung bringen, das ist aber i.A. zu verschmerzen.
Leider muss ich in letzter Zeit feststellen, dass der Sender auch mal 
für länger weg ist. Und das relativ oft, zuletzt gesehen am 17.11., am 
5.11., 22.10. usw. Und gerade eben ...
https://www.dcf77logs.de/logs

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Angehängte Dateien:

Lesenswert?

Christian S. schrieb:
> Mit einem AT90S2313 oder dem Tiny2313 würdest Du Dir leichter tun.
..
> Beitrag "Zeitumstellung beobachtet mit DCF77 Uhr von Ulrich Radig mit Codeerweiterungen"

Wie die Zeit vergeht. Im Anhang der Schaltplan einer AT90S2313 Uhr, die 
meine Azubis früher auf Lochraster aufbauen durften.

Mein Großvater hatte sich mal eine Uhr mit großen Anzeigen gewünscht.
Dieser wurde statt den Stelleingängen ein DCF77-Empfänger angeschraubt.
Das Ganze in ein Gehäuse, mit roter Filterscheibe vorne dran. Steht 
mittlerweile bei uns im Wohnzimmer.

Mit DCF77-Code sind das geschätzte 350 Maschinenbefehle.

Ich hatte auch noch eine Variante mit Quarz im Büro an der Wand hängen. 
Den Quarz habe ich mit einem auf passende Länge abgeschnittenen Draht an 
einem Bein gezogenen. ;)

Mittlerweile würde ich einen ECS-TXO-2520 als Taktgenerator nehmen. 2ppm 
für unter 2€uro. Wenn die Zeitumstellung wegfällt, ist das wohl lange 
gut genug für zu Hause.

von Stefan F. (Gast)


Lesenswert?

Wie ich schon weiter oben schrieb: R/C Oszillator + DCF-77 setzt guten 
Empfang voraus. Mehr als 20 Minuten ohne Empfang würde ich nicht haben 
wollen.

von HildeK (Gast)


Lesenswert?

Stefanus F. schrieb:
> Wie ich schon weiter oben schrieb: R/C Oszillator + DCF-77 setzt guten
> Empfang voraus. Mehr als 20 Minuten ohne Empfang würde ich nicht haben
> wollen.

In dem Fall ist ein Quarz oder externen Oszillator unumgänglich.
Meine Beispiele sind nicht auf schlechten Empfang zurückzuführen, 
sondern auf eine Unterbrechung beim Sender. Schlechter Empfang kann noch 
hinzukommen, z.B. bei Gewittern.
Das was T. Behrends auf der Webseite in der Nähe von Bremen mitschreibt, 
sehe ich hier in Süddeutschland zumindest in meinen (seltenen) 
Mitschnitten genau so - also hat die Sendeseite die Störung.

von talentloser Spaten (Gast)


Lesenswert?

LostInMusic schrieb:
> Ich halte das Vorhaben durchaus für realisierbar und das sogar ohne
> allzu dramatische Verrenkungen:
>
> Pin 1: reset
> Pin 2: external clock (Quarzoszillator)
> Pin 3: Widerstandsnetzwerk mit Tastern (einlesen via ADC)
> Pin 4: GND
> Pin 5: display clock
> Pin 6: display data
> Pin 7: display latch
> Pin 8: VCC
>
> Trickst man das display latch noch weg, kann man sogar noch ein
> DCF-Modul an diesen Pin hängen.

Man kann das DCF-Signal auch als "3. Taster" über Pin 3 einspeisen.

von Jim Beam (Gast)


Lesenswert?

talentloser Spaten schrieb:
> Man kann das DCF-Signal auch als "3. Taster" über Pin 3 einspeisen.

Um es NOCH WEITER zu treiben, man kann auch
DCF + TASTE1 + TASTE2 über ein Widerstandsnetz an DATA vom Shifter 
hängen.

Zwischendurch wird DATA halt auf ADC-Eingang geschaltet und DCF/TASTEN 
eingelesen, bei Bedarf wieder auf Ausgang um den Shifter zu bedienen.

Dann sind schon 2 PINS am TINY13 frei...

von Jim Beam (Gast)


Lesenswert?

ERGÄNZUNG
======
Um es NOCH WEITER zu treiben, man kann auch
DCF + TASTE1 + TASTE2 über ein Widerstandsnetz an DATA vom Shifter
hängen.

Zwischendurch wird DATA halt auf ADC-Eingang geschaltet und DCF/TASTEN
eingelesen, bei Bedarf wieder auf Ausgang um den Shifter zu bedienen.

Dann sind schon 2 PINS am TINY13 frei...
======

Immer noch viel-zu-viele Ports...
LATCH kann man durch etwas RC-Hühnerfutter ersetzen:
Wenn so-und-so-lange kein CLOCK mehr kommt wird auto-gelatcht.
Habe ich wg. Pinmangel schonmal gemacht.

DCF+TASTE1+TASTE2 über R-Netz sind nur 8 Zustände, die per ADC simpel 
beherrschbar sind.

Nun sind schon 3 Pins am TINY13 frei...

von LostInMusic (Gast)


Lesenswert?

>Man kann das DCF-Signal auch als "3. Taster" über Pin 3 einspeisen.

Ja, mit einem Transistor zur Entkopplung des (meist sehr hochohmigen) 
Ausgangs des DCF-Moduls. Das brächte aber wieder ca. drei Bauteile mehr 
auf die Platine. Außerdem: Was macht man dann mit dem freien Pin? ;-)

Ich denke, die Frage ist hier nicht, ob man die Aufgabe mit einem 
ATtiny13 prinzipiell lösen kann (denn die Antwort darauf ist klar: Mit 
genügend I/O-Schieberegistern versorgt kann er es definitiv), sondern 
mit welcher Außenbeschaltung man den besten Aufwand-zu-Nutzen-Tradeoff 
erreichen kann.

(An einen freien Pin könnte man aber tatsächlich noch etwas Sinnvolles 
anschließen: Einen Lautsprecher für eine Weckfunktion.)

von Alex G. (dragongamer)


Lesenswert?

LostInMusic schrieb:
> (An einen freien Pin könnte man aber tatsächlich noch etwas Sinnvolles
> anschließen: Einen Lautsprecher für eine Weckfunktion.)
Ja, aber bitte nicht bei nem Gerät mit nur zwei Knöpfen >_>
Das ist nicht mehr des 21sten jahrhunderts würdig.

von S. R. (svenska)


Lesenswert?

Alex G. schrieb:
> Ja, aber bitte nicht bei nem Gerät mit nur zwei Knöpfen >_>
> Das ist nicht mehr des 21sten jahrhunderts würdig.

Du meinst, es darf nur ein Knopf sein, mit "lange drücken", "kurz 
drücken", "zweimal kurz tippen" und "morsen"? :-D

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

S. R. schrieb:
> Alex G. schrieb:
>> Ja, aber bitte nicht bei nem Gerät mit nur zwei Knöpfen >_>
>> Das ist nicht mehr des 21sten jahrhunderts würdig.
>
> Du meinst, es darf nur ein Knopf sein, mit "lange drücken", "kurz
> drücken", "zweimal kurz tippen" und "morsen"? :-D

Genaugenommen braucht so eine Uhr gar keinen Stellknopf.
Nach dem Einschalten steht die Uhrzeit auf, sagen wir, komfortablen 
08:15h. D.h. jeden Tag gibt es die benutzerfreundliche Chance, die Zeit 
korrekt zu stellen. Hier offenbart sich auch ein weiterer Vorteil eines 
12h-Laufwerks...

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Eine LED-Uhr wird ja sicherlich aus dem Netz versorgt.
Die 50 Hz sind (langzeit)stabil genug für eine Uhr.

Da ist ein AtTiny13 mit internem Takt mehr als ausreichend.

Macht man seit Jahrzenten so.

von HildeK (Gast)


Lesenswert?

Route 6. schrieb:
> Macht man seit Jahrzenten so.

Ja, war früher ganz brauchbar. Aber im Februar und März dieses Jahres 
sind dann all die mit einer solchen bis zu 6 Minuten zu spät gekommen.
Und zeitgemäß ist es auch nicht mehr, selbst wenn möglicherweise die 
Umstellerei im Frühjahr und Herbst wegfallen wird.

von Alex G. (dragongamer)


Lesenswert?

Darum sagte er "langfristig". Diese sozusagen verzögerten Sinuswellen 
wurden dann anschließend nachgeholt.
Weshalb manch einer dann erneut die Uhren in die andere Richtung stellen 
musste.

von malsehen (Gast)


Lesenswert?

Alex G. schrieb:
> Weshalb manch einer dann erneut die Uhren in die andere Richtung stellen
> musste.

Doppler-Effekt?
;-)

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.