mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Uhr mit ATtiny45 + USB + Pufferbatterie


Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne eine Uhr mit dem ATtiny45 (+ USB + Pufferbatterie) 
aufbauen.
Momentan gibt es zwei Varianten die ich mir vorstellen könnte.

1. Verwendung des internen Quarzoszillator. Mit PLL wird ein Systemtakt 
von 16.5Mhz erzeugt wegen USB (AVRUSB). Hier ist schon das erste 
Problem. Ist der Systemtakt genau genug, um die Abweichungen per 
Software ausgleichen zu können. Die Normalbetriebsspannung ist 5V. Wenn 
die Spannungsversorgung abgeschaltet wird, weil z.B. USB nicht mehr 
benötigt wird, soll die Uhr ganz normal mit einer 3V Batterie weiter 
laufen. Systemtakt wird soweit wie möglich gesenkt. Durch den PLL hat 
man den Vorteil, dass der ATtiny45 die meiste Zeit im Idle-Sleep-Mode 
verbringen kann, anstelle im Active-Mode. Auch hier ist wahrscheinlich 
das Problem der Frequenzungenauigkeit des internen Quarzoszillator.

2. Verwendungen eines externen 12Mhz Quarz. Verhalten genau wie oben. 
Jedoch sehe ich den Vorteil, dass die Uhr genauer ist, aber im 
Batteriemode muss der ATtiny45 trotzdem im Active-Mode weiterlaufen (bei 
verminderter Frequenz), da kein PLL für den Timer zur Verfügung steht. 
Also hier kein Sleep Mode

Hier stellt sich also die Frage, wie würdet ihr es machen und welche 
Variante ist sparsamer. Mit welchen Stromverbrauch rechnet ihr, ist 
unter 100uA realistisch. Beim PLL muss man auch bedenken, dass der bei 
64Mhz ist.

Danke!

Autor: Timur Yigit (smokingslim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.atmel.com/dyn/resources/prod_documents/6056S.pdf

Ist echt gut erklärt vieleicht hilft es dir.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1. Verwendung des internen Quarzoszillator.

Den es nicht gibt.

Was es gibt ist ein internes Schatzeisen, das günstigenfalls etwa eine 
Viertelstunde pro Tag falsch geht.

Was soll die Uhr machen, abgesehen vom Zeit zählen und intern 
verstecken? Denn ein externer 32KHz Quarz mit maximalen Taktteiler 
reicht für Uhrzeit aus und lebt von leichtesten Luftzug.

Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eigentlich nur ein Modul für meinem VDR, der den PC zur 
richtigen Zeit für eine Aufnahme aufweckt. Prinzipiell genügt also ein 
Counter, die Uhr ist in diesem Fall overhead.

Beim ATtiny habe ich aber das Problem dass ich kein externes 32KHz Quarz 
anschließen kann, da der keine TOSC Eingänge hat. Und wie schon gesagt, 
die 12 oder 16.5Mhz brauche ich für USB.

@smokingslim:

Danke für die Info, aber der ATtiny hat leider keinen internen RTC.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für den USB ist der interne R/C nicht ganau genug, über PLL schon gar 
nicht. Da muß auf jeden Fall ein Quarz dran, bzw. ein externer 
Quarzoszillator, da der Tiny keine XTAL-Anschlüsse sondern nur einen 
externen Clockeingang hat. Über einen internen Teiler kann man die 
Quarzfrequenz dann auf eine Sekunde herunterteilen. Das wird dann auch 
recht genau.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Schiekofer wrote:
> Das ist eigentlich nur ein Modul für meinem VDR, der den PC zur
> richtigen Zeit für eine Aufnahme aufweckt.

Nen noch umständlicheren Weg dürfte es kaum geben.

Jeder PC hat ne CMOS-Uhr mit Alarmfunktion:

http://www.hubertus-sandmann.homepage.t-online.de/...


Peter

Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anscheinend kann der interne Quarzoszillator verwendet werden für USB:

http://www.obdev.at/products/avrusb/easylogger.html

Aber ich denke für eine Uhr ist der zu ungenau.

Also komme ich wohl um einen externen Quarzoszillator nicht rum. Aber 
wie schauffe ich es dann den ATtiny45 mit einer Batterie zu betreiben, 
ohne dass sie gleich nach 14 Tagen leer ist.

Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peda

Ich kenne den RTC Alarm, aber das funktioniert bei den modernen 
Mainboards nicht mehr. Also muss was externes her.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Anscheinend kann der interne Quarzoszillator verwendet werden für USB:

Was es nicht gibt das kann auch nicht verwendet werden. ES GIBT KEINEN 
INTERNEN QUARZ.

Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hast recht, interner Oszillator !

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich würde das wie folgt angehen:

1. Uhrenbaustein von Maxim oder Dallas
   z.B. DS1374 hat I2C und Alarm
   Man muss halt eine Uhr mit Alarm heraussuchen.
2. da der VDR mit Linux läuft ist eine Ansteuerung des
   I2C busses kein Problem, wenn das Board ohnehin
   schon einen besitzt (dann kann man die Uhr aus dem VDR selbst
   programmieren)
3. diese Uhrenbausteine laufen meist mit einer Lithium Zelle
   mehrere Jahre
4. Wenn Du dann noch unbedingt über USB die Uhrzeit von
   einem anderen Rechner aus programmieren willst, kannst Du immer
   noch einen Atmel an diesen Bus klemmen und die Uhr direkt
   ansteuern.

Ich würde also z.b. DS1374 nehmen, und dann wenn der VDR eingeschaltet
ist die Alarmuhrzeit programmieren.
Jetzt schaltet man den Rechner aus und die Uhr läuft über die BAtterie
weiter und weckt den Rechner zur passenden Zeit.
Falls das MAinboard keinen I2C-Bus besitzt, kann man ja über einen
Atmel über USB, seriell o.ä. die Uhr programmieren.

Gruß Sven

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise macht man das beim VDR mit nvram wakeup oder ACPI wakeup. 
Hast du einen Rechner erwischt, bei das partout nicht möglich ist?

Autor: Stefan S. (stsc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrekt, mein Mainboard unterstützt keinen RTC Alarm, das programmiert 
werden kann. Deswegen hätte ich ja gerne eine externe Lösung. Verwende 
auch nicht mehr Linux, sondern inzwischen Win. Trotzdem danke für die 
guten Ideen!!

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.