Forum: Mikrocontroller und Digitale Elektronik DCF77 mitells PIC (Max232) an RS232


von Sixten Krahnert (Gast)


Lesenswert?

Hallo,
ich hab die Aufgabe gekriegt, eine Funkuhr (sprich ein DCF77-Signal)
über einen Max232 an die serielle Schnittstelle eines PC`s zu koppeln
und dann mittels Assembler und Terminal eine Ausgabe zu machen.

Probleme habe ich jetzt bei dem Netzwerk vor dem PIC.
Das DCF77-Modul gibt standardmässig 5V aus. Wenn eine Information
übertragen werden soll (am Anfang jeder Sekunde), sinkt der Pegel auf
~1,25V. Sinkt der Pegel für 100ms ab, so entspricht das einer "0",
bei 200ms einer logischen "1".

Hat einer einen Vorschlag (vielleicht sogar mit Grobskizze), wie ich
dieses Signal in ein schönes High-Low (0V-5V) an den PIC bekomme?

der Vorschlag das Ganze mittels eines 2. µC zu machen wurde verworfen,
ebenso erst die Auswertung im Rechner
also soll das wohl mittels einer reinen Rechenschaltung geschehen

Folgende Ideen sind mir dabei gekommen:

- mittels Ladungsverstärker nen Kondensator aufladen (müsste dann wohl
vorher über nen Spannungsteiler) und dann über nen Schmitt-Trigger, die
Mitte des Entladestroms (was 150ms entsprechen würde) als Schaltschwelle
nehmen

- das DCF-Signal abtasten, den Wert bei 150ms übernehmen und daraus H/L
entscheiden, Problem hierbei: welchen Quarz nehmen, wie den Reset
auslösen und vor allem wann und gelinde gesagt, hab ich hier noch
weniger Vorstellungen als bei der ersten Idee

dann wäre noch die Frage nach dem Quarz für den PIC, im Prinzip würde
es reichen, wenn die Signal jede Sekunde weitergeleitet würden aber nen
60Hz-Quarz hat wohl noch keiner gebaut

Ich bedanke mich für Vorschläge und hoffe auf hilfreiche Resonanz

von Florian D. (Gast)


Lesenswert?

Also erst einmal eine Diode und schon kann man die Spannung mit dem PIC
verwerten. Abhängig davon, welcher PIC verwendet wird, gibt es mehr
oder weniger Timer.

Idee: Im PIC die negative Flanke feststellen und Zählerwert ablesen.
Bei positiver Flanke wieder den Timerwert abfragen und Differenz
bilden. Die Differenz auswerten (abhängig von der Geschwindigkeit des
Timers im PIC). Die Auswertung des Zeitsignals (dekodieren) kann auch
im PIC erfolgen.

Gruß,

Florian

von Sixten Krahnert (Gast)


Lesenswert?

Sorry, das vor der 1.25V ist kein Minus, sondern ein "rund", weil die
5V bei Signalübertrag intern auf 1/4 gesenkt werden.
Bei 2 positiven Spannungen hilft die Diode glaub ich nich...man könnte
das Signal vielleicht um 3V absenken, dann könnte die Diode dazwischen,
anschließend müsste man wieder um 3V rauf...

von Florian D. (Gast)


Lesenswert?

Man wird eben alt und sieht nicht mehr so gut...

Dann: Spannung mit Spannungsteiler und Komparator vergleichen. Oder
einen Schalter mit Hysterese (z.B. Schmitt-Trigger) verwenden; der kann
allerdings das Signal 'verschleifen'.

von Marc989 (Gast)


Lesenswert?

Hi,

ich habe eine anwendung mit PIC und DCF Modul (Conrad) am laufen. Habe
dazu einfach das Modul an einen Pin des Pic gehängt und taste intern
per Timer (1ms) bei 4MHz den Zustand des Pins ab. Bei Pegelübergang von
High nach Low wird die zahl ausgewertet, sonst wird counter
incrementiert.
Ein zweiter counter zählt ab der ersten Sekunde dann jede Sekunde wegen
Datenzuordnung.

kann dir ja die Routine in C ja mal geben.

MARC

von Peter D. (peda)


Lesenswert?

Ich würde das ganze mit nem ATTiny12 machen:

http://www.mikrocontroller.net/forum/read-4-23408.html#new

Nur noch nen Software UART Transmitter reinprogrammieren und fertig.
Hier ist z.B. ein älteres Programm mit Software-UART:

http://home.tiscali.de/peterd/avr/soft/dcf77/index.htm



Was für komische Module nimmst Du denn ?

Die Conrad DCF77 Module liefern doch volle 5V TTL-Pegel.

Falls Dein Modul aber wirklich so seltsame Pegel hat, nimmste eben
einfach den Analog-Komparator und 2 Widerstände zum Einstellen des
Schwellwertes am anderen Komparatoreingang.


Peter

von Sixten Krahnert (Gast)


Lesenswert?

@Marc
die Routine in C wäre nicht schlecht, kannst du die bitte an meine
eMail schicken?
@Peter
ich hab das Modul noch net (wird erst bei kompletter Schaltung alles
bestellt), die Vorgabe war ein DCF-Modul von Conrad, auf Nachfrage nach
den Pegeln wurde mir gesagt: 5V-Ausgang, Rest wie vom Sender empfangen,
daher die auf 25%-Absenkungs-Annahme meinerseits

von Bri (Gast)


Lesenswert?

Das Modul von Conrad hat einen open collector Ausgang. Da musst du nur
einen Widerstand ranhängen und bekommst ein Signal zwischen 5V und 0.2V
oder so. Kannst du dann direkt mit einem I/O pin deines PIC verbinden.

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.