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:
> 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
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)...