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 2 von 4     12 34      
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 himitsu
himitsu

 
Delphi 12 Athens
 
#11
  Alt 9. Mär 2009, 18:47
Zitat:
Gesamtkosten? Naja: ...
dann hab ich ja recht gut geschätzt X'D (obwohl ich da wohl mit etwas teureren LEDs geschätzt hatte)

Zitat:
//Edit: @Himitsu: Summencode. ;=)
ahhhh

Aber deiner Verdrahtung ... mein lehrmeister würde mich dafür fast umbringen
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#12
  Alt 9. Mär 2009, 19:00
Zitat von himitsu:
Aber deiner Verdrahtung ... mein lehrmeister würde mich dafür fast umbringen
Naja,

Klingeldraht-Freiluft-Verdrahtung. Wie würde sowas denn nach Lehrbuch aussehen? (Platine ätzen geht nicht, und isolierte Litze tu' ich mir nie wieder an... )
米斯蘭迪爾
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#13
  Alt 9. Mär 2009, 19:09
nach Lehrbuch ... blanker Draht direkt auf den Lötpunkten verlaufend ... nicht frei in der Luft schwebend.

Aber dort mit Leitungskreuzungen "schön" umzugehn ist 'ne Kunst für sich
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#14
  Alt 9. Mär 2009, 19:39
Zitat von himitsu:
Aber dort mit Leitungskreuzungen "schön" umzugehn ist 'ne Kunst für sich
Hmm... Vielleicht bei meinem nächsten Projekt, dann versuche ich mal, darauf zu achten. Mir war nur wichtig, dass es endlich läuft..
米斯蘭迪爾
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

 
Delphi 12 Athens
 
#15
  Alt 9. Mär 2009, 19:48
Immer wieder gut sind Lochrasterplatinen mit streifenförmigen Leiterbahnen wie z.B. hier (2. Bild)
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#16
  Alt 9. Mär 2009, 20:34
Hi blawen,

Ja, für mein nächstes kleines Projekt das auf jeden Fall auf dem Zettel. Ich hatte nur leider schon Lochrasterplatinen, und wollte die nicht verkommen lassen.

Vielleicht auch nochmal für 3_of_8: Ein sehr schönes Board zum fairen Preis ist auch das hier:

http://www.pixelklecks.de/projekte/s...rdv2/index.php

Bekommst dort die Platine, Bauteile müsstest du selber kaufen und löten. Dafür bekommst du ne Buchsenleiste, mit der du an alle Ports kommst. Kann man n schönes Sandwichboard bauen.
米斯蘭迪爾
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#17
  Alt 9. Mär 2009, 21:32
Hmm, ja, sieht ganz interessant aus, aber vorher sollte ich wohl noch etwas Löterfahrung sammeln und schauen, wo ich die Bauteile (jetzt nicht die Standards wie Kondensatoren, Oszillatoren, sondern eher sowas wie diese Pin-Dinger) herbekomme.
Manuel Eberl
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#18
  Alt 9. Mär 2009, 21:49
Klar,

ein bisschen Erfahrung kann nicht schaden, aber die bekommst du eh mit der Zeit.

Die Bauteile bekommst du alle sehr günstig bei reichelt.de, auf der Seite vom Board steht eine Bestellliste mit den Nummern. Das ist der Vorteil, wenn man in Wilhelmshaven wohnt: reichelt ist in 10 Km Luftlinie..
米斯蘭迪爾
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#19
  Alt 10. Mär 2009, 09:05
Hast du dir Gedanken über die Genauigkeit deine Uhr gemacht?

Wenn du den uC mit 8 MHZ taktest, entspricht das eine Zykluszeit von 0,000000125 Sekunden.
Nun könntest du einen üblichen Teiler nehmen der im Timer eingebaut ist.
Diese sind bei dem Mega8: 1,8,64,256,1024.
Bei einen 1024 Teiler kommst du somit auf einen Interrupt alle 0,000128 Sekunden.

Das müsste weiter runter skaliert werden um auf einen Sekundentakt zu kommen.

Jetzt könntest du den 16 Bit Counter bemühen und diesen bis 7812,5 laufen lassen um auf eine Sekunde zu kommen.
Allerdings das ,5 macht hier Probleme. Dann bleibt also nur 0,000128*7812=0,999936 oder 0,000128*7813=1,000064.

Am Tag haben wir 86400 Sekunden (24*60*60) somit ergibt sich Differenz von ca. +/- 5,5 Sekunden am Tag.

Mit einen Teiler von 256 bei einen 8MHz Quarz kommt das übrigens hin. Der Counter müsste dann aber bis 31250 laufen.


Hast du das in deiner Zeitroutine berücksichtigt oder eine fertige Lib genommen welche das berücksichtigt?
Benutzt du den Timer überhaupt oder hast du das anders gelöst?
Hab ich mich verrechnet?
  Mit Zitat antworten Zitat
generic

 
Delphi XE5 Professional
 
#20
  Alt 10. Mär 2009, 09:06
Zitat von Daniel G:
Das ist der Vorteil, wenn man in Wilhelmshaven wohnt: reichelt ist in 10 Km Luftlinie.. ;)
Sind die nicht nach Sande ausgewandert?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 07:42 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