www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DCF Impulse erzeugen


Autor: Dj Beat (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dj Beat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo,jo...
danke!
hört sich alles relativ umständlich an.

Autor: Iwan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dj Beat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Iwan:

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

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dj Beat wrote:

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

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ede (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und du erwartest hier eine antwort?!?

Autor: Iwan II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dj Beat:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aus nem Baukasten 3 Klötzchen zu greifen
>und aufeinander zu stapeln.

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

Autor: Martin Kreiner (maart)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das kann ja sogar meine Tochter (2) ;-)

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

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

Autor: Gregor B. (gregor54321)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Beat & Iwan
Seid lieb zueinander!

Autor: Lanhazza (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_zeitsynchronisat...

MfG

Michael Wacker
SIMENS EDM E

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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... ;-)

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Real programmers can program FORTRAN in any language.

;-)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sagt die eine Feministin zur Anderen: Reich mir mal die Salzstreuerin :)

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.