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
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
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...
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'.
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
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
@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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.