AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [µC] Meine kleine Uhr...
Thema durchsuchen
Ansicht
Themen-Optionen

[µC] Meine kleine Uhr...

Ein Thema von Mithrandir · begonnen am 9. Mär 2009 · letzter Beitrag vom 11. Mär 2009
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Mithrandir
Mithrandir
Registriert seit: 27. Nov 2008
Warum in "Open-Source"? Naja, am Ende gibts den Quelltext und die HEX-Datei zum Brennen, und außerdem wurde die Software in Pascal geschrieben.

Sodele,

ich möchte euch heute mal eins meiner Projekte vorstellen, das schon länger in meinem Kopf herumspukte und in der Zeit entstand, als ich hier nicht so aktiv war. Letzte Woche hab ich es dann erfolgreich zu Ende gebracht. Es handelt sich dabei um eine Uhr, die ihre Zeit im sogenannten Summencode darstellt.

Realisiert wurde der Aufbau auf einer 100*160mm großen Lochrasterplatine für die Logik und einer 100*100mm große Platine für die Anzeige. Die ganze Schaltung wird von einem ATMega8. Wer gerne etwas weiter in die Materie einsteigen möchte, findet hier das Datenblatt dazu:

ATMega8 Datenblatt [PDF, ~300 Seiten]

Die Tutorials auf mikrocontroller.net sind ebenfalls lesenswert, aber das nur am Rande.

Außerdem befindet sich auf dem Board noch ein MAX7219. Dieser steuert die Anzeige der Uhr. Sehr praktischer Baustein, der einem viel Arbeit abnimmt, allerdings auch viel machen kann, wenn man nicht alles sauber abschirmt. Man sollte allerdings bedenken, dass der Baustein mit 6-8€ das Stück nicht grad billig ist.

Die Temperaturmessung übernimmt der DS1620, ebenfalls vom selben Hersteller.

Die Uhr hat folgende Funktionen:
  • Zeitanzeige inkl. Wochentag
  • Datumsanzeige
  • Temperaturanzeige
  • Durchlauf der ersten drei Modi im Intervall von 10 Sekunden
  • "Pattern"

Außerdem soll die Uhr noch einen DCF77-Empfänger verpasst bekommen.

Realisiert habe ich das Projekt mit dem PASCAL-Compiler von E-Lab Computers. Nein, die IDE ist nicht mit Delphi vergleichbar, aber die Sprache ist doch sehr gut an PASCAL angelehnt und war deshalb für mich recht schnell verständlich (ach...).

Nun genug gesabbelt, jetzt gibt es Bilder & Videos:

Entschuldigt die Qualität

Video auf Youtube, Teil I [~6:30 Minuten]
Video auf Youtube, Teil II [~1 Minute]


Und wenn ihr euch das alles angetan habt, dann hoffe ich, dass ihr den Ausflug in die Mikrocontroller-Welt mal genossen habt. Das war bestimmt nicht das letzte Projekt.
Miniaturansicht angehängter Grafiken
3_-_fertige_platine_999.jpg   4_-_ansicht_panel_148.jpg   5_-_klingeldraht_mayhem_204.jpg   6_-_fertig_124.jpg  
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
 
Benutzerbild von Mithrandir
Mithrandir
 
#21
  Alt 10. Mär 2009, 13:16
Hi generic,

Ja, die Gedanken habe ich mir schon bei einer anderen Uhr gemacht, die für meine Freundin war. Allerdings bietet die IDE, so ähnlich wie Delphi mit der VCL/Units, vorgefertigte Lösungen, u.a. eine RTC. Da gibt es einen Parameter, den man 100 Schritte in die positive und 100 Schritte in die negative Richtung setzen kann. So kann man evtl. Abweichungen ausbalancieren und eine recht genaue Uhr mit Bordmitteln bekommen.

Zitat von generic:
Sind die nicht nach Sande ausgewandert?
Ja, sind sie, aber:

Entfernung Sande - Wilhelmshaven

Kann man quasi mit'm Zug oder Bus hinfahren und muss dann halt ein Stückchen laufen. Da ich n Semesterticket habe, ist das immer noch besser als fast 6 € für den Versand zu löhnen.
米斯蘭迪爾
  Mit Zitat antworten Zitat
Alloc

 
Delphi 2006 Professional
 
#22
  Alt 10. Mär 2009, 15:58
Hi,

zur Genauigkeit: Warum hast du da nicht einfach statt dem externen Quarz für den CPU-Takt den internen Clock und dafür nen Uhrenquarz mit 32768 Hz verwendet? Damit kommt man mit den Timern auf exakte 1 Hz ohne irgendwelche rechnereien =)

Ansonsten: Nette Uhr. Auch die Idee den USB-Stecker für eigene Zwecke zu missbrauchen find ich lustig ;D

Grüße,
Chris
Christian Illy
  Mit Zitat antworten Zitat
Muetze1
 
#23
  Alt 10. Mär 2009, 16:06
Zitat von Alloc:
zur Genauigkeit: Warum hast du da nicht einfach statt dem externen Quarz für den CPU-Takt den internen Clock und dafür nen Uhrenquarz mit 32768 Hz verwendet? Damit kommt man mit den Timern auf exakte 1 Hz ohne irgendwelche rechnereien =)
Wie willst du zwei Quarze realisieren? Also Schwingkreis aufbauen, TTL Signal Generierung und dass anschliessen oder direkt anstatt des 8 MHz Haupttaktes? Dies ist schliesslich nicht immer möglich. Ich habe bei meiner Steuerung ein 8 MHz Quarz zur Taktung genommen und 32 kHz wäre mir definitiv zu wenig für das Multiplexen meiner Anzeige (selbst gesteuert, ohne Maxim Unterstützung). Von daher habe ich das gleiche Problem mit der Zeit. Ich wollte mich heute bzw. morgen nochmal der Uhr-Ungenauigkeit widmen, da es eh eine neue Firmware gibt. Dein Lösungsansatz mit dem Austausch 8 MHz -> 32.768 kHz ist nicht gehbar, von daher bastle ich an einer kleinen Softwarelösung. Ein externer zweiter Takt von einem solchen Quarz ist durch die schon fertig aufgebaute Schaltung nicht ohne Aufwand möglich.
  Mit Zitat antworten Zitat
Alloc

 
Delphi 2006 Professional
 
#24
  Alt 10. Mär 2009, 16:19
Zitat von Muetze1:
Wie willst du zwei Quarze realisieren?
Gar nicht
Extern *nur* den 32 kHz Uhrenquartz, aber eben nur für den Timer2 (Asynchron-Betrieb). Der CPU-Takt kann auch aus dem internen Takt des uC genommen werden, beim Mega8 IIRC nur 1 MHz, aber das dürfte für ne Uhr bei weitem reichen (auch mit Multiplexing)
Christian Illy
  Mit Zitat antworten Zitat
Muetze1
 
#25
  Alt 10. Mär 2009, 16:55
Zitat von Alloc:
Zitat von Muetze1:
Wie willst du zwei Quarze realisieren?
Gar nicht ;)
Extern *nur* den 32 kHz Uhrenquartz, aber eben nur für den Timer2 (Asynchron-Betrieb). Der CPU-Takt kann auch aus dem internen Takt des uC genommen werden, beim Mega8 IIRC nur 1 MHz, aber das dürfte für ne Uhr bei weitem reichen (auch mit Multiplexing) ;)
Ich bezog mich auf mein Aqua Fan Control Projekt. Die 1 MHz interne Frequenz könnten reichen - aber nun ist es aufgebaut.
  Mit Zitat antworten Zitat
markusj
 
#26
  Alt 10. Mär 2009, 17:07
Der Aufwand, den externen Uhrenquarz anzuschließen sollte nicht sehr hoch sein ...
Und ein ATMega hat einen eingebauten 8Mhz Takt, der aber ab Werk durch 8 geteilt wird.

Aber da er sowieso einen DCF77-Empfänger einplant, sollte das ganze relativ egal sein, so ungenau ist kein Taktgeber ...

mfG
Markus
Markus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#27
  Alt 10. Mär 2009, 17:31
Notfalls hat DCF77 einen Sekundentakt (liefert ja pro Sekunde ein Bit ... also 59 Bits insgesamt )
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#28
  Alt 10. Mär 2009, 17:42
Hi,

Das mit dem Uhrenquarz hatte ich mir auch schon gedacht. Allerdings weiß ich nicht, wie die Implementation der RTC damit umgehen würde, und zum Selberimplementieren war ich... zu faul.

Ich werde die Uhr mal einen Monat lang beobachten. Wenn die Abweichung mehr als 10 Sekunden beträgt, dann werde ich da nochmal was machen. Alle halbe Jahre muss die Uhr ja eh verstellt werden.

@himi:
米斯蘭迪爾
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#29
  Alt 10. Mär 2009, 17:54
verstellt? eines der Bits gibt Sommer-/Winterzeit an ... und sonst sie "richtige" Uhrzeit ^^

Zitat von Daniel G:
@himi:
was ist denn?
falls du die 59 meinst ... das Minutensignal (volle Minute) gibt es nicht, diese Sekunde wird kein Signal ausgestrahlt
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#30
  Alt 10. Mär 2009, 18:01
Ach so, das war Ernst...

Himi,

Schon als du nach dem Summencode gefragt hast, hatte ich den Eindruck du hast mein Eingangsposting nicht gelesen.

Zitat:
Außerdem soll die Uhr noch einen DCF77-Empfänger verpasst bekommen.
Der ist noch nicht dran, und ich weiß noch nicht, ob und wann ich den anbau. Dass der DCF77 Sommerzeit und sogar Wetterinfos liefert, weiß ich. Aber trotzdem danke.
米斯蘭迪爾
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz