Forum: Mikrocontroller und Digitale Elektronik DCF Impulse erzeugen


von Dj Beat (Gast)


Lesenswert?

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!

von Niels H. (monarch35)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Dj Beat (Gast)


Lesenswert?

jo,jo...
danke!
hört sich alles relativ umständlich an.

von Iwan (Gast)


Lesenswert?

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.

von Dj Beat (Gast)


Lesenswert?

Iwan:

иди нахуй! понял?!

von Niels H. (monarch35)


Lesenswert?

Dj Beat wrote:

> hört sich alles relativ umständlich an.

Finde ich eigentlich überhaupt nicht. Was hast du denn erwartet?

von Peter D. (peda)


Lesenswert?

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

von ede (Gast)


Lesenswert?

und du erwartest hier eine antwort?!?

von Iwan II (Gast)


Lesenswert?

@ Dj Beat:

Поцелуй меня в задницу! Засранец! Дрочила

von Peter D. (peda)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>aus nem Baukasten 3 Klötzchen zu greifen
>und aufeinander zu stapeln.

Das kann ja sogar meine Tochter (2) ;-)

von Martin K. (maart)


Lesenswert?

>Das kann ja sogar meine Tochter (2) ;-)

Sicherlich, aber nicht ein Dj Beat, der hier mit Schimpfwörtern 
rumwirft.

Dj Beat: Тупица, идиот!

von Gregor B. (gregor54321)


Lesenswert?

@Beat & Iwan
Seid lieb zueinander!

von Lanhazza (Gast)


Lesenswert?

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

von gast (Gast)


Lesenswert?

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

von Niels H. (monarch35)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Real programmers can program FORTRAN in any language.

;-)

von Karl H. (kbuchegg)


Lesenswert?

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.

von gast (Gast)


Lesenswert?

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

von Niels H. (monarch35)


Lesenswert?

Sagt die eine Feministin zur Anderen: Reich mir mal die Salzstreuerin :)

von gast (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.