Portal > Forum > Rund um Elektronik und Programmierung > Elektronik allgemein > Sensoren > Zeiterfassung mit DFC-77 Empfänger
Autor | Thema |
---|---|
Neil
99.9% harmless nerd
Registriert seit: Aug 2000 Wohnort: Delft Verein: SOLARIS Beiträge: 7776 Status: Offline |
Beitrag 89682
, Zeiterfassung mit DFC-77 Empfänger
[19. November 2005 um 15:49]
Hi,
mir kam die Idee, für die Zeiterfassunf ein DCF-77 Empfänger zu nehmen. Den Empfänger den ich mir ausgesucht habe findet man bei Conrad. Fertig aufgebaut und sehr einfach anzuschließen. Die kosten liegen unter 10€. Das hier ist der Empfänger. Was sind die Vorteile von so einer Zeitgebung: 1. Datum und Uhrzeit werden von einer Atomuhr in Braunschweig vorgegeben. Man hat also immer die für Deutschland richtige Zeit. 2. Das Signal wird über Puls Pause Verhältnis übermitteln. Ein Bit = eine Sekunde. Ist das Signal lang ist es eine 1, ist es kurz eine 0. Oder umgekehrt. Die Uhrzeit und das Sind in den Sekunden koddiert. Die Uhr braucht also maximal 2 min zum einstellen. 3. Die Flanken des steigenden Signals sind immer genau 1 Sekunde auseinander. Man kann also auf die Flanke triggern und bekommt ein Sekundenimpuls. 4. Die Sendefrequenz selber, ist sehr genau und konstant. Man kann also die Frepuenz nehmen um seine eigenen Schwingkreise abzugleichen. Mehr Infos findet ihr hier http://de.wikipedia.org/wiki/DCF77 Um jetzt eine genauere Zeitauflösung als 1 Sekunde hin zu bekommen, könnte man einen internen Zähler verwenden der jede Sekunde zurück gestzt wird. Ich denke aber das unsere Microcontroller Guru's noch ein paar andere Tricks auf Lager haben. Gruß Neil Die Erde ist eine Scheibe. Egal in welche Richtung sich die Menschheit bewegt, sie geht immer auf einen Abgrund zu. |
Andreas Mueller
Epoxy-Meister Registriert seit: Sep 2004 Wohnort: Verein: ARGOS Beiträge: 322 Status: Offline |
Beitrag 89840
[21. November 2005 um 08:51]
Zitat: In der NTP Distribution unter http://www.ntp.org/ kann man C Source Code für das decodieren des DCF77 Signales finden. Es gibt dort in parseutil/testdcf.c ein Testprogramm, welches das in einem einzigen File macht, und daher relativ leicht zu portieren sein sollte. Oder man kann den Code aus dcfd.c im gleichen Verzeichnis nehmen, oder jenen von libparse/clk_rawdcf.c. Ausserdem findet man in Google mit den Begriffen dcf77 und "source code" ein paar hundert Links, darunter auch AVR und PIC Implementationen. Zitat: Das wird recht ungenau, zum Beispiel auch weil die Flanke des DCF77 Signals eher unscharf definiert ist. Wenn man mehr Genauigkeit will, muss man eine PLL implementieren, die die Frequenz der lokalen Uhr so anpasst, dass sie im Mittel mit der DCF77 Uhr übereinstimmt. Oder mathematischer: man muss den optimalen Schätzer für die Zeit bauen, basierend auf den ungenauen Messwerten vom Empfänger. Damit kann man mit DCF77 ca 1ms Genauigkeit erreichen. Natürlich muss man auch hier nichts wirklich selber bauen, auf http://www.ntp.org/ findet man sowohl die gesamte Theorie als auch Source Code. Übrigens sind diese Techniken auch geeignet, Genauigkeiten bis in den ns-Bereich zu erreichen, ich verrate jetzt aber nicht, wo man dies nachlesen könnte |
CharlyMai
Foren-Prediger
Registriert seit: Mär 2005 Wohnort: Fuhrberg Verein: SOLARIS-RMB e.V. (P2;T2) / AGM / TRA#21598 Beiträge: 1977 Status: Offline |
Beitrag 89849
[21. November 2005 um 09:25]
Seeeehr richtig Andereas ....
Ich habe mit diesem nS Bereich gearbeitet, um 2 Computer die über eine RiFu Strecke (>20km) miteinander gekoppelt waren zu Syncronisieren ..... Wenn man natürlich nur den Zeitimpuls, und nicht die GENAUE Zeit benötigt reicht das DCF77 Signal sehr gut, sollte es jedoch auch noch auf eine GENAUE Uhrzeit ankommen ist es unabdingbar dem Empfänger die Entfernung zum Sender mittzuteilen, und diese Entfernung mit in die Berechnung einfliessen zu lassen (Signallaufzeitverzögerung) .... Grüße Pierre Geändert von CharlyMai am 21. November 2005 um 09:28 •"Der Glaube an eine bestimmte Idee gibt dem Forscher den Rückhalt für seine Arbeit. Ohne diesen Glauben wäre er verloren in einem Meer von Zweifeln und halbgültigen Beweisen." Konrad Zuse •Konstruiere ein System, das selbst ein Irrer anwenden kann, und so wird es auch nur ein Irrer anwenden wollen. SOLARIS-RMB e.V. AGM |
Neil
99.9% harmless nerd
Registriert seit: Aug 2000 Wohnort: Delft Verein: SOLARIS Beiträge: 7776 Status: Offline |
Beitrag 89850
[21. November 2005 um 09:26]
Hi,
ich wollte wie gesagt das mit dem Analogeingang messen. Dann kann ich ja in Excel eine Schwelle nehmen die zwischen 0 und 1 liegt des Signals. Ich dürfte also maximal 2 Samples falsch liegen. Auch wenn die Flanke verwaschen ist. Danke für die Links. Werde mal schauen. Damals in der Schule mit dem Z80 ging das Programm recht einfach. Ist ja nur so, das man aus der Sekundenlänge den Bitwert ermitteln muss und dann die entsprechenden Bits für Datum und Uhrzeit zuordnen. Ist ein relativ kleines Programm. Gruß Neil Die Erde ist eine Scheibe. Egal in welche Richtung sich die Menschheit bewegt, sie geht immer auf einen Abgrund zu. |