Hallo. ich muss für eine Pegelanlage eine Uhr bauen. an der Anlage ist der DCF-Empfänger angeschlossen. Es gibt hier keine Uhr, also die Anlage stellt die Zeit ein, die der Empfänger zur Zeit empfängt. Da der Empfang ab und zu gestört ist, kommt die Pegelanlage mit den Daten nicht klar, weil die so gut wie Hausnummern sind. nun muss ich eine Uhr bauen (ohne LCD möglich), die den DCF-Signal empfängt, vergleicht (auch kein Problem) und erst dann an die Pegelanlage weitergibt, und zwar in Form eines DCF-Signales.. also impulsweise. genau hier fängt das Problem an... wie kann ich diese DCF-Codierung erzeigen? Bibt es fertige Befehle bei Bascom? Ich habe sowas noch nie gesehen :) würde mich über jede Hilfe freuen. Danke im Voraus!
Dj Beat wrote: > wie kann ich diese DCF-Codierung erzeigen? > Bibt es fertige Befehle bei Bascom? Nein, Bascom alleine kann sowas bestimmt nicht. Jedoch ist die Codierung des DCF-77-Signals relativ einfach. Es besteht aus 200ms und 100ms langen Impulsen, jenachdem ob 1 oder 0 übertragen werden soll. Diese Impulse werden im Sekundentakt erzeugt, also jede Sekunde ein Impuls. Die 59sten Sekunde wird der Impuls ausgelassen. Die Kodierung erfolgt nach einem Diagramm, daß du bestimmt schonmal gesehen hast: http://www.dcf77.com/images/zeitschema.gif Beispiel: 15:21Uhr soll übertragen werden. Die Impulsfolge ab Sekunde 21: 10000100X101010X Die ''X'' sind Prüfsummenbits, deren Codierung ich jetzt auch nicht genau kenne, wo dir aber bestimmt auf der Webseite weitergeholfen wird. Wie ich bereits erklärte werden die ''1'' als 200ms Impuls, und die ''0'' als 100ms Impuls codiert. Das Einzige, was du herrausfinden musst ist, ob deine Pegelanlage ein High-Aktives- oder ein Low-Aktives signal erwartet. Aber das lässt sich leicht nachmessen.
Umsetzen kann man das bequem mit einem Timer, der jede Sekunde einen compare match erzeugt. Von diesem lässt man per Hardware den zugehörigen OCx-Ausgang umschalten (auf high oder low, je nach gewünschter Polarität). Timer im CTC-Modus betreiben, damit beginnt er im gleichen Moment mit einer neuen Zählperiode. Das zweite OCx- Register wird nun auf 100 ms oder 200 ms gestellt, und der entsprechende Interrupt schaltet als erstes das OCx-Pin wieder ab, danach ermittelt er die Werte für die nächste Sekunde. Wenn die nächste Sekunde eine 59. ist, muss die Hardwarebedienung des OCx für eine Sekunde deaktiviert werden.
Wenn ich das schon höre: "ich muss für eine Pegelanlage eine Uhr bauen" Es gibt schließlich auch fertige Empfänger welche man abgesetzt betreiben kann. Kostet halt mehr Geld als eine Uhr für 9,99 Euro. Hatte wieder jemand eine tolle Idee welche nichts kosten darf? Nur soviel zu Deinen Kommentar: jo,jo... danke! hört sich alles relativ umständlich an.
Dj Beat wrote:
> hört sich alles relativ umständlich an.
Finde ich eigentlich überhaupt nicht. Was hast du denn erwartet?
Dj Beat wrote: > Da der Empfang ab und zu gestört ist, kommt die Pegelanlage > mit den Daten nicht klar, weil die so gut wie Hausnummern sind. Da muß aber der Programmierer der Pegelanlage ne Obertriefnase gewesen sein. Man muß natürlich bei einem DCF-77 Dekoder diverse Gültigkeitstests machen (Parity, Pulsdauer, Pulsabstand, Pulsanzahl). Trotzdem muß man auch immer eine Uhrenroutine mitlaufen lassen, da Langwelle prinzipbedingt nie dauerhaft störungsfrei empfangen werden kann. Wenn also der Programmierer das alles nicht gemacht hat, mußt Du das machen, damit Du erstmal eine permanent gültige Zeit erhältst. Danach mußt Du dann zu Deiner internen Uhrzeit eine Minute zuzählen und sie nach dem DCF-77 Kode weitersenden, sonst geht Dein gesendeter Kode eine Minute nach. DCF-77 sendet immer den Kode der nächsten Minute. Peter
Dj Beat wrote: > jo,jo... > danke! > hört sich alles relativ umständlich an. Finde ich nicht. Es hört sich nach Programmieren an. Programmieren heißt ja nicht, aus nem Baukasten 3 Klötzchen zu greifen und aufeinander zu stapeln. Peter
>aus nem Baukasten 3 Klötzchen zu greifen >und aufeinander zu stapeln. Das kann ja sogar meine Tochter (2) ;-)
>Das kann ja sogar meine Tochter (2) ;-)
Sicherlich, aber nicht ein Dj Beat, der hier mit Schimpfwörtern
rumwirft.
Dj Beat: Тупица, идиот!
Also erstmal versuchen die dcf antenne besser auszurichten. Außerdem sollte das zeitsignal erstmal auf eine Anlagenzentraluhr geleitet werden, die das Zeitsignal auch weiterhin aufrechterhält wenn das dcf signal mal fehlerhaft ist oder mal ausfällt :) Wenn das neuausrichten keine Besserung bringt kannst du die dcf Antenne auch durch eine GPS Antenne austauschen, die gibt das gleiche zeitsignal aus. Dennoch sollte eine Anlagen Zentraluhr vorhanden sein - was anderes geht am Sinn und Zweck vorbei. Du kannst ja mal auf folgenden Link gucken, da ist eine Lösung von Siemens (SICLOCK) zu sehen. http://www.siemens-edm.de/siclock_zeitsynchronisation.0.html?&L=2 MfG Michael Wacker SIMENS EDM E
> Programmieren heißt ja nicht, aus nem Baukasten 3 Klötzchen zu greifen > und aufeinander zu stapeln. hmm... Ich habe zwar noch nie mit Bascom gearbeitet, aber soweit ich bisher mitbekommen habe, dürfte das dem Baukastenprinzip doch recht nahe kommen. Sollte das tatsächlich nicht stimmen (was ich ja nicht nachgeprüft habe), kann man überlegen, inwieweit Bascom eine "Programmier"-Sprache ist... ;-)
Bascom bietet lediglich die Möglichkeit, fertige Bausteine zu benutzen. Soviel ich davon bisher gesehen habe, lässt sich aber auch so eine ganze Menge damit implementieren. Jedenfalls glaube ich nicht, daß man Aufgrund der Sprache bei der Umsetzung auf grössere Probleme trifft. Viemehr dürfte es reines desintresse sein, wirklich zu programmieren zu können...
Niels Hüsken wrote: > Bascom bietet lediglich die Möglichkeit, fertige Bausteine zu benutzen. Ganz so schlimm ist es auch wieder nicht. Vor allem das Wörtchen 'lediglich' stört mich an diesem Satz. Mann kann in BASCOM auf alle AVR Register zugreifen. Mann kann auch Interrupt Handler installieren. Damit hat man grundsätzlich alle Möglichkeiten offen, die man auch in anderen Sprachen hat. > Jedenfalls glaube ich nicht, daß man Aufgrund der Sprache bei der > Umsetzung auf grössere Probleme trifft. Viemehr dürfte es reines > desintresse sein, wirklich zu programmieren zu können... Das ist das Problem mit so Baukastensystem. Lego (tm) ist da auch nicht viel anders: Als ich klein war, gabs Lego Kästen mit Bauklötzen. Punkt. Heutzutage gibts Unmengen von Baukästen in denen jeweils Spezialbauteile für ein Modell enthalten sind. Die Folge (so wie ich das bei meinen Kindern und denen der Nachbarschaft miterlebt habe: Das Ding wird zusammengebaut und landet dann in einer Ecke. Die Lego-Bauschlachten meiner Kindheit, in denen wir uns zusammengetan haben um in der Küche mit ganz normalen 8-er Bausteinen eine Burg aufzubauen, finden nicht mehr statt, weil: - O-Ton - Dafür gibt es ja keine Werkstoffpackung.
> Mann kann in BASCOM auf alle AVR Register zugreifen. > Mann kann auch Interrupt Handler installieren. Ich bin zwar keine Frau, aber wir wurden in der Schule (leider) sehr auf solche Sachen fixiert: deshalb: auch Frau kann (wenn sies gelernt hat) auf Register zugreifen und Interrupthandler einbauen. ;-) Nichts für ungut... (wie gesagt: Erziehung; Lehrerin für GPB=Feministin)
ja, ja ;-) Da die meisten hier wohl nicht die österreichische Hymne kennen: @khbuchegger (Salzburger?): sie war fix der Meinung, die Hymne sollte abgeändert werden (Töchter-Söhne)...
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.