DCF77 (1_3) Programm zur Dekodierung der DCF77 Impulse Ursprung dieses Beitrags: Beitrag "Ein VB6-Programm dekodiert das DCF77-Signal. Das kommt von einem Mikrocontroller/avrasm über COM1" Beitrag vom 10.07.2013 20:55 mit kleinen Änderungen und Berichtigungen von Fehlern Dieses Programm dient zur Zusammenarbeit mit den Beiträgen: DCF77 (2_3) Ferritantenne mit variabler Induktivität DCF77 (3_3) Elektronik aus einer Funk-Armbanduhr Es hat folgende Eigenschaften und Funktionen: * DCF-Receiver über einfache Anpasselektroniken direkt am COM-Port. * Abfrage, ob die COM-Ports 1 bis 32 vorhanden sind. * Bei jedem vorhandenen COM-Port Prüfung, ob der DCF77-Receiver angeschlossen ist, wenn ja dann keine weitere Abfrage. * Nach Erkennen des COM-Ports warten auf die Signalpause von 2 Sekunden. * Erfassung der Impulse bis zur erneuten Erkennung der Signalpause. * Während der Erfassung Datenerhebung für eine Statistik. * Mittels der VB6 APIs "timeBeginPeriod", "timeEndPeriod" und/oder "Sleep" kann die Polling-Geschwindigkeit sehr weitgehend geändert werden. Das hat erhebliche Auswirkungen auf die statistischen Ergebnisse. * Nach Erkennen der zweiten Signalpause läuft die Uhr mittels der API "timeGetTime" weiter. * Um 23:58:00 Uhr erfolgt ein Neustart ohne die Abfrage der COM-Ports. * Ab 00:00:00 Uhr des nächsten Tages läuft dann die Anzeige wieder mit den aktuellen Daten. * Die PC-Zeit kann mit der DCF77-Zeit synchronisiert werden. * Das Manual sowie weitere Dateien können über Menus geöffnet werden. Hierzu gehört auch eine doppelte Liste für die Einzelwerte zur Statistik, jeweils eine für die 100 [ms] und eine für die 200 [ms] Impulse, sortiert sowie nicht sortiert nach der Pulslänge. * Wahlmöglichkeit, ob bei Fehlererkennung ein Neustart erfolgt. Anzeige der erkannten Fehler, falls der Neustart nicht aktiviert ist. Das erleichtert das Auffinden einer idealen Position und Ausrichtung der Ferritantenne. * Die Schaltung für das DCF77-Modul von ELV kann mit Spannungen aus dem RS232 Anschluß betrieben werden. Wenn erforderlich: Checkboxen DTR und/oder RTS aktivieren oder deaktivieren. Die positive Spannung wird durch die rote LED, die negative durch die blaue LED angezeigt. Durch einen Klick auf das Button "Backg. On" wird die Darstellung mit dem Fenster für die Suche nach dem COM-Port sowie dem Fenster mit den Statistik-Enzelwerten vor dem Hintergrung "Gradient" aufgerufen, durch nochmaligen Klick darauf werden diese Fenster wieder ausgeblendet und der normale Desktop angezeigt. Das Programm wurde auf einem Monitor 1920 x 1200 erstellt. Ich vermute, dass es bei höheren Auflösungen, aber auch bei 1920 x 1080 noch richtig funktioniert (auf einem Fernsehgerät mit 1920 x 1080 geht es). Sollte bei einem Doppelklick auf "DCF77.exe" diese nicht starten, bitte "vbrun600.exe" installieren. Falls VB6 installiert ist, kann das Programm auch in der Entwicklungsumgebung durch Doppelklick auf "DCF77.vbp" aufgerufen werden. Start dann mittels F5. In das Textfeld "Time Correction [s]" kann ein Wert eingetragen werden welcher die Länge der Impulse für das Programm ändert. Optimal bei mir: +0.015 bei Verwendung des DCF77 Moduls von ELV -0.004 bei Verwendung der Elektronik aus der Funk-Armbanduhr Diese Korrekturen sorgen dafür, dass die statistischen Mittelwerte der Impulslängen bei ziemlich genau 100 bzw. 200 [ms] liegen. Für Anregungen und Hinweise auf Fehler wäre ich sehr dankbar. Grüße Klaus
Ist das wieder eines dieser Beispiele für "Warum soll man es einfach machen, wenn es auch kompliziert geht?"
Mike schrieb: > Ist das wieder eines dieser Beispiele für "Warum soll man es einfach > machen, wenn es auch kompliziert geht?" da hat sich einer Mühe gegeben und präsentiert sein Ergebnis dem Forum, das muss man loben. Ich habe sowas vor 15 Jahren am PC und Joystikport aus Interesse auch mal gemacht, aber heute nutze ich gerne von echten Profis, PeDa z.B. am Atmel, besser kann ich es selber nicht, ich verstehe zwar auf den ersten Blick nur die Hälfte und müsste mich mächtig reinknien um alles zu ergründen, aber wozu?
Hier kommt noch die ZIP Datei mit dem Programm. Grüße Klaus
Hallo Joachim, bitte hilf mir zu verstehen, was PeDa ist. Bei meiner Suche danach hier bei mikrocontroller.net werden zwar sehr viele Einzelaspekte dazu gezeigt, aber mir fehlt der Zusammenhang. Danke im für Deine Mühe. Grüße Klaus
Klaus D. schrieb: > Hallo Joachim, > > bitte hilf mir zu verstehen, was PeDa ist. Peter Dannegger, auch toll Tasterentprellung u.A. ich lese in der IRQ nicht nur die Taster sondern auch die DCF77 und leite sie an die DCF routine weiter: Beitrag "DCF77 Uhr in C mit ATtiny26" Es gibt im orig, Code wohl noch einen Bug der später behoben wurde, also muss man viel lesen um sich da reinzufinden, dann kommt man unwillkürlich auch auf den korrigierten Quellcode. Sich einlesen ist auch sehr hilfreich um einiges besser zu verstehen, inclusive DCF77 Wiki
Hallo Joachim, vielen Dank dass Du mir nicht verbal den Hintern versohlst. Da hätte ich auch drauf kommen können und müssen weil ich seine Beiträge auch gern lese, soweit es um Assembler geht. Habe mir soeben eine Watschn erteilt. Grüße Klaus
Klaus D. schrieb: > vielen Dank dass Du mir nicht verbal den Hintern versohlst. nicht dafür, ich stehe manchmal selber auf dem Schlauch bei AKüFi
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.