Hallo alle miteinander, ich habe folgende Schaltung: -atmega8 der eine pwm von ca. 15kHz erzeugt und damit einen BUZ11 ansteuert -> stromerzeugung für einen 'Trafo' -gleichzeitig hängt an dem atmega noch ein DCF77-Modul von Conrad. Das Problem ist, daß sobald die pwm läuft, das DCF Modul nix mehr empfängt. Eigentlich logisch :) Zumindest bin ich jetzt soweit, daß es auch nicht funktioniert, wenn ich das DCF-Modul mittels Kabel 2m weg entfernt betreibe. Also kommt die Störung schon von der Versorgungsspannung. Besser geht es nämlich, wenn ich das DCF-Modul mit z.B. einem Akku betreibe und die Masse des Akkus mit der Masse der Hauptplatine verbinde. Dann wird das DCF-Signal fast sauber empfangen. Hat jemand eine Idee, wie man die pwm störung von der Versorgungsspannung wegbekommt, so daß das DCF-Modul doch wieder von der Hauptplatine mit Strom versorgt werden kann ? Ich hab schon 100nf Kondensator zwischen + und - am DCF-Modul probiert. In die + und - Leitung auch schon kleine Drosseln auf Ferritkern eingeschleift, aber hat alles nichts geholfen. Vielen Dank schon mal, Peter
Ich hatte ähnliche Probleme mit einer Multiplexanzeige MAX7219, wollte aber unbedingt die DCF77-Antenne ins gleiche Gehäuse setzen. Meine Lösung: Ich schalte nachts um 3.21 Uhr die LED-Anzeige aus und warte dann max 5min, bis ein korrekter DCF77-Datensatz empfangen wurde. Peter
Gute Idee, daran habe ich auch schon gedacht, nur daß es in meinem Fall nicht geht. Ich will nämlich die DCF Uhrzeit mittels Infrarot auf eine Propelleruhr übertragen. Und wenn ich die PWM ausschalte, dann hat der Propeller keinen Saft mehr und kann dann nichts mehr empfangen. Selbst ins Knie geschossen :) Ich könnte zwar die PWM ausschalten, das DCF signal empfangen und auswerten, dann die PWM wieder einschalten und die Daten übertragen. Und das ganze dann halt z.B. nur einmal am Tag. Müßte ich halt nur den Quellcode so abändern. Momentan übertrage ich halt dauernd die DCF-Daten, sobald ein gültiges Paket da ist. Ist eigentlich nicht notwendig, weil soooo falsch wird die Uhr ja nicht abweichen ;) Gruss, Peter
ich will mich auch noch mit dem dcf77-modul von conrad rumärgern. ich habe mich aber dazu entschieden das dcf signal nur einmal am tag auszuwerten und dann das ganze in einen pcf8583 zu schieben. wenn das teil dann 1-2 sek am tag falsch läuft fält es nicht weiter auf, da die uhr ja täglich sychronisiert wird. vielleicht ist es auch gar nicht nötig das signal täglich zu holen, sondern nur bei nem reset oder einmal die woche.
Ich habe den Code jetzt mal umgeschrieben. Beim einschalten wird erst mal die DCF Zeit empfangen. Ist das komplette Paket da und die Parity stimmt auch, dann wird erst das PWM erzeugt und die Propeller-Uhr bekommt Saft. Dann etwas warten bis das Teil 'hochgefahren' ist und die Daten über IR senden. Sollte reichen. Aber: interessieren würde mich es schon, ob es rein schaltungstechnisch eine Möglichkeit gibt, die 'Störfrequenzen' des PWM signals vom DCF Modul fernzuhalten. Vielleicht hat ja jemand eine Idee ;) Gruss, Peter
@Sebastian "...und dann das ganze in einen pcf8583 zu schieben." ??? Wenn Du DCF77 hast, wozu dann noch nen extra RTC ? Du brauchst doch dann keinen RTC mit Stützbatterie mehr, hole einfach die Zeit bei jedem Einschalten vom DCF77. Oder stören Dich die 2 Minuten, bis die Zeit da ist, so sehr ? Peter
Hallo Peter, in einem Thread habe ich gelesen, daß es auch C-Beispiele von Dir im Web gibt. Kannst Du mir sagen wo, oder hier ein Attachment anhängen mit C-Code. Das Assembler Programm für den Tiny will ich nicht unbedingt benutzen ;) Vielen Dank, Peter
Vielen herzlichen Dank Peter :) Booooaahhh ist die dcf77 vielleicht kurz, wow. Sowas nenn ich optimiert ;) Gruss, Peter
"Booooaahhh ist die dcf77 vielleicht kurz" Naja, ich bin halt etwas schreibfaul. Und ehe ich da so einen riesen Monster-switch mit 38 cases hinschreibe überlege ich mir, ob da nicht Gemeinsamkeiten bestehen. Und siehe da, man muß jedesmal zu einer bestimmten Speicheradresse einen bestimmten Wert addieren bzw. da das 1-er Bit immer zuerst kommt, die Variable vorher löschen. Deshalb habe ich einfach eine Tabelle mit 38 Einträgen angelegt, in der steht, zu welcher Variable welcher Wert zu addieren ist. Da es nur 6 Variablen und 8 Werte sind, habe ich für beides je 1 Nibble (4 Bit) als Kennzeichen genommen. Für die Parityprüfung habe ich noch 0xFF als Kennzeichen benutzt. Peter
Du schreibst, daß Deine PWM ca 15kHz Takt erzeugt. Die 5. Harmonische von 15kHz ist 75kHz. Je nach Genauigkeit der PWM liegt die Oberwelle bei oder auf der Empfangsfrequenz von 77,5kHz und stopft den Empfänger zu. Variiere mal die PWM-Frequenz nach oben (subjektiv besser) oder unten und stelle fest, wie sich das auf den Empfang auswirkt.
Hallo Arno, die PWM-Frequenz, die ich momentan verwende, wird vom Timer1 des atmega8 erzeugt. OCR1A ist 500 und ICR1 ist 1000. Puls-Pause-Verhältnis also von 1:1. Der Code ist: TCCR1A = (1<<COM1A1) | (1<<COM1A0) | (1<<WGM11); TCCR1B = (1<<WGM12) | (1<<WGM13) | (1<<CS10); //kein prescaler - systemtakt OCR1A = 500; ICR1 = 1000; DDRB |= (1<<PB1); Es sollten also 16kHz sein. Somit wäre die 5 Oberwelle bei 80kHz. Ich habe wie gesagt auch schon das Modul über 1m lange Kabel angeschlossen. Funktioniert auch nicht. Der Fehler ist meiner Meinung nach nicht wie weit die PWM strahlt, sondern schon auf der Versorgungsspannung des Moduls. Sobald ich es an einen separaten Akku dranhänge (Masse Akku mit Masse Platine verbunden), funktioniert es auch. Die LED die dranhängt blinkt dann auch schön im sekundentakt. Aber ich werde nochmal mit der PWM Frequenz rumspielen und vielleicht weiter nach unten noch gehen, damit es dann irgendwann die 7. oder 8. Oberwelle wird, die dann hoffentlich nicht mehr so stark ist. Mal sehen. Gruss, Peter
80kHz sind ebenfalls nur 2,5kHz von der Empfangsfrequenz entfernt. Hast Du schon mal in der Versorgungsspannung des DCF-Moduls ein Siebglied ausprobiert? Schwerstes Geschütz wäre 10 - 22Ohm mit einem kleinen Goldcap 0,1 - 0,22F direkt am Modul.
Hallo Arno, kannst Du mir erklären, wie das Siebglied aussehen sollte ? Genau das ist nämlich mein Problem, da ich in diesen Grundlagen der Elektronik nicht so bewandert bin, sondern eher programmieren kann ;) Vielen Dank, Peter
ein Goldcap scheint mir nicht das Richtige zu sein (ist zu "weich"). Versuch es mal mit einer Drossel (100...470 üH) und einem C von 22...470 nF. Auch eine einfachere RC von 10..47 Ohm und 22..470nF ist ev. ausreichend. Gruss Kurt
Ich habe ja extra geschrieben "schwerstes Geschütz". Bei Kleinverbrauchern lasse ich immer am Serien-R 3-10% der Betriebsspannung abfallen und berechne dann nach der erforderlichen Grenzfrequenz des RC-Glieds die Mindestgröße des Parallelkondensators. Noch ein paar zusätzliche Hilfsmaßnahmen: Masseschleifen vermeiden. Wenn die Betriebsspannung nicht über das hoffentlich abgeschirmte Signalkabel läuft, sollte die Masse nur einmal verbunden sein, d.h. Schirm nur an einer Seite festlöten. Das Modul hat eine Ferritantenne mit Dipolcharakteristik. Die minimale Emfindlichkeit ist in Längsrichtung der Antenne.
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.