Hallo Leute. Also ich hab hier ja schon mal die Uhr die ich gebaut habe vorgestellt, das Problem ist das sie leider so ca pro Woche 5 minuten vor geht. Es handelt sich dabei um einen Quarz mit der Frequenz 2,097152 MHz. Benützter Controller ist ein PIC18F258. Oszillator einstellung ist HS PLL. Die Frequenz ist mit einem innerem Timer verbunden der bei überlauf genau jede sekunde einen Interrupt auslöst, welcher dann die Uhrstand weiter zählt... Ich verwende den Quarz ohne Kondensatoren (15pF oder so sind eigentlich immer bei den schaltplänen zu sehen...) jetzt wollte ich fragen ob diese Abweichung vielleicht daher kommt, oder hat jemand eine andere Erklärung? MfG Martin
bin hier sicherlich nicht der kompetenteste, aber ich hab grad langeweile und antworte einfach mal: ein quarz ist als ein normaler schwingkreis mit sehr hoher güte betrachtbar. er ist wie jeder andere schwingkreis nicht von seinem treiber entkoppelt und kann durch serien-/parallel-kapazitäten/-induktivitäten verstimmt werden. daher werden quarzoszillatoren wo es auf genauigkeit ankommt üblicherweise am frequenzzähler mit einem trimmkondensator z.B. in serie abgestimmt auf die soll-frequenz. darüber hinaus ist ein quarz auch an sich noch nicht sonderlich temperaturstabil. wie jeder mechanische schwinger verändert auch er mit der temperatur seine resonanzfrequenz. wenn man auch das kompensieren will kann man sich entweder eine tolle kompensationsschaltung berechnen, was aber vertan'ne zeit ist da es bereits fertige temperaturkompensierte quarzmodule zu kaufen gibt, oder man bedient sich eines quarzofens um den quarz ständig temperaturstabil zu halten, was z.B. in aufwändigen funkanlagen gemacht wird. die pros und contras von quarzoszillatormodulen sind hier auch schon irgendwo mal geschrieben worden im forum. glaub die wesentlichen contras sind der hohe stromverbrauch und dass sie im sinne der emv ziemliche dreckschleudern sind. was die genauigkeit angeht gibt es etliche klassen, glaub die genauesten im reichelt laufen mit +/-25ppm. das ist für den anfang erstmal nicht schlecht. ach ja, guten rutsch und so
Ist zwar für den AVR aber das Prinzip sollte auch auf dem PIC machbar sein: http://www.mikrocontroller.net/forum/read-4-57760.html 5 min / Woche sind keinesfalls mit der Quarztoleranz erklärbar, da muß es schon ein Fehler in der Software sein. Häufig wird der Fehler gemacht, daß die Interrupteintrittszeit nicht berücksichtigt wird, bzw. diese als konstant angenommen wird. In dem Beispiel mit dem Compareinterrupt spielt das keine Rolle. Aber es geht auch per Software. Man muß dann nur die bis zum Interrupteintritt vergangene Zeit addieren (Timer läuft ja weiter) und schon ist man auch ohne Compareinterrupt auf den Takt genau. Peter
Hi Hmm ne ich glaub nicht, dass es an der Software liegt! Ich mein der Counter läuft ja im Background immer weiter, da ist es eigentlich herzlich egal was das Programm tut und die paar µs die es dauert bis das Programm zum hochzählen fertig ist zählen ja eigentlich nicht mit.... Kann es vielleicht am PLL liegen? Dass das mal mal 5 statt mal 4 rechnet...? MfG Martin
Warum benötigst Du eine PLL ? Kann man nicht direkt die Quarzfrequenz als Timertakt nehmen ? Ich glaube auch, ne PLL kann ab und zu mal ausrasten. Peter
die pll multipliziert den takt beim pic18 mit 4. durch internes teilen durch 4 und eingeschalteter pll wird bis 10 mhz extern beim pic18 auch mit 10mhz intern gerechnet.
trotz des ignoriert werdens würd ich abermals empfehlen den quarz abzustimmen. die aufgedruckte nennfrequenz ist nicht die eigenfrequenz ohne belastung sondern die frequenz bei einer genormten belastung. wenn du den irgendwie wald-und-wiesen-mässig betreibst kannste da teilen und programmieren so toll du willst, die frequenz stimmt trotzdem nicht.
Wi bekommst du die ganzen Bilder auf das display ohne externen speicher??? Gruß Beni
@ Merle + Dingens Feiert Ihr kein Neujahr oder was los Ich wünschen allen hier im Forum ein schönes neues jahr Mfg tomafa
@Dingens, mach die Quarze nicht schlechter als sie sind. Die Güte ist so hoch, daß Du ihn keinesfalls auf 5min / Woche weggezogen kriegst, auch nicht bei totaler Fehlanpassung. Erst wenn der Fehler unter 30s / Woche liegt, dann könnte man mal über einen Abgleich reden. Allerdings sind Trimmer schwer zu handhaben, ein Softwareabgleich wie in meinem Beispiel beschrieben ist da wesentlich genauer. Ich kenn jetzt diesen PIC nicht, aber bei manchen MCs ist es möglich, den CPU-Takt und den Timertakt getrennt auszuwählen. D.h. die PLL nur für die CPU zu nehmen, den Timer aber direkt vom hochgenauen Quarz zählen zu lassen. Peter
@tomafa No nachträglich ein schönes Neues. Mfg. Merle
Von mir auch ein FROHES NEUES JAHR!!! Also zum Abstimmen.... leider besitz ich nicht die messmöglichkeiten den takt vom Quarz so genau zu bestimmen... aber kondensatoren könnte ich schon einbauen, dadurch müsste die Uhr eigentlich langsamer werden... Die Bilder sind alle im Speicher vom PIC, ist auch praktisch Rand voll :-) Die Uhr kann ja auch die Zeit analog anzeigen (siehe angehängtes Bild). Die zwei anderen Chips dienen nur zur Herstellung von Minus 20Volt für den LCD Kontrast. Falls Interesse besteht kann ich den Code hochladen, auch wenn ich ihn nur ungerne hergebe, da ich die Zeichen ALLE händisch übertragen habe.... könnts euch vorstellen was das für ne heiden Arbeit war... Bilder kann ich euch bei Bedarf natürlich auch geben und eagle Pläne auch :-) falls die jemand nachbauen will... Das PLL verwende ich damit der Bildaufbau nich so schleppend geht (sind doch ganz schöne Datenmengen, aber beim Sekundenwechsel wird eh nur die reine Schrift also ein paar Byte übertragen), aber ich könnte eigentlich auch einen 4 mal so "schnellen" Quarz einbauen... MfG Martin
@ Martinw Kanns mir mal die eagle pläne per e-mail schiken?? Ich will mal probieren die Uhr nachzubauen. Mfg. Merle
Hi Ich hänge die Datei mal an... Ich empfehle dir aber ein Display mit LED beleuchtung zu nehmen, da gibts weniger Probleme mit den Funkstörungen vom Inverter und die Platiene könnte auch deutlich kleiner ausfallen, man könnte auch noch die Helligkeit mit PWM steuern, ein Bedien/Stell Interface ist in der Software intgriert -> deswegen auch die 5 Taster... Ansonsten ist die Schaltung eh net wirklich allzu komliziert, nur größere Pufferkondensatoren würde ich dir noch empfehlen, der Inverter wieder mal ;-) Und die Negativspannung dafür gibts ja auch spezielle Chips bzw Diplays die die Spannungsversorgung onboard haben. Aber ich glaub sowieso nicht dass du grad so zufällig den TCM680 von Microchip zuhause rumliegen hast, also musst du da sowieso improviesieren, aber soweit ich mich erinnern kann bist du ja net so schlecht auf dem Gebiet g Ich schreib schon wieder zu viel also... MfG Martin Wiessflecker
Darf ich mal fragen, wieviel Pixel das Display hat? Merci
Salü! Ich habe selbst mal eine Uhr gebaut allerdings mit diskreter Logik und einem 3,2768Mhz Qiarz und auch meine Uhr hat etwa die gleiche Abweichung wie Deine! Das Problem sind die Kondenser die am Quarz anfeschlossen sind, d.h. die Kapazität ändert sich bei Temperaturschwankungen und somit ändert sich die Frequenz ein kleines bisschen!!! Da dein Quarz x Milliarden mal in einem Monat Schwingt mit einer kleinen Abweichung schwingt, wird die Uhr ungenau! Mein Tip: Benutze einen kompletten Oszilator der direkt High Low Pegel ausgibt, die sind Temperautstabiler!!!
Entschuldige meine Rechtschreibung, bin gerade aufgestanden. Noch ein Tip: Je höher die Frequenz deines Quarzes, desto kleiner wird die Abweichung nach dem Teilen sein! Kannst ja mit diskreter Logik die Frequenz runter Teilen bevors in den AVR geht! Meine Uhr läuft jetzt ziemlich genau! Umbedingt ein-Chip-Oszis verwenden!!!
Hm, ich will auch eine Uhr basteln, aber eine mit Funk. Aber es interessiert mich, vieviel Pixel dieses Display auf den Bildern hat, damit ich weiss, mit was für Dimensionen ich rechnen muss. MFG Simon P.S: Wenn ihr es noch nicht bemerkt habt: Der Thread ist noch vom Januar!
Hehe Hallo Leute! Mele mich wieder mal zurück ;-) Also ich hab die Uhr inzwischen ein zweites mal aufgebaut, diesmal mit LED Hintergrundbeleuchtung, siehe angehängtes Bild! Das Display hat 240*128 Pixel. Man könnte aber auch ein 240*64 verwenden, die sind deutlich billiger, man müsste dann aber entweder das Datum und Uhrzeit scrollen oder wechseln... Also wegen der Abweichung habe ich mir überlegt, könnte ich ins UserInterface (da wo man auch so das Datum einstellt) etwas einbauen wo man einstellen kann wieviele Sekunden oder Zehntelsekunden die Uhr um sagen wir genau 24:00 vor oder zurück gestellt werden soll jeden Tag. Also sozusagen wenn sie pro Tag 3 sekunden vor geht dann stellt man da -3 ein... Greez Martin
Hallo Martin Wieso nimmst du nicht ein Funkmodul? Ist sicher genauer... Und woher hast du dieses Display? (Ich hoffe doch nicht vom grossen C)? MFG Simon
Naja ich weiß nicht. Mit Funk hab ich mich noch nich so beschäftigt, jedem das seine ;-) Nene keine Sorge ist von E-Bay... aber aufpassen, die Preise sind dort auch nicht mehr das wahre... MfG Martin
Ich habe an ein 128*64 gedacht, wird aber knapp... Aber wenn man das als Weckerdisplay auf dem Nachttisch stehen hat, naja... Ich überlege mir eine Funkuhr mit einem Display fur den Nachttisch, mit Alarmfunktion und einer Lichtsteuerung für das Displaylicht und ein Stimmungslicht im Zimmer... Und vieleicht noch ein kleiner Beamer, der mir die Zeit an die Decke beamt. Muss mal sehen, was sich machen lässt...
Saubere Sache, Gratulation! Funk (DCF77) ist nicht so schwer, habe ich vor 15 Jahren schonmal gebaut. Es gibt fertige Module (damals von Conrad schaem), die TTL ausgeben, Signal 50 mal pro Sekunde gesampelt, gemittelt, dekodiert, und nach max. 60 Sek. ist die Zeit da (die Bits kommen in einen Ringpuffer, der beim fehlenden Sekundenimpuls richtig "hingeschoben" wird, die eigentliche Zeitinfo ist ja schon (glaub ich) in der 38. Sekunde da). Ich versteh auch nicht, warum manche kommerzielle Dinger da minutenlang rumueberlegen, bevor sie was ausgeben. Ich wurde das Dekodierem auch ein wenig intelligenter machen: manchmal kommt es durch Empfangsstoerungen (Oberwellen vom Monitor) vor, dass die Uhr Schmarrn anzeigt. Ein wenig Plausibilitaets-Check und Vergleich mit der mitlaufenden Software-Uhr wuerde schnell ergeben, dass es nicht ploetzlich 10 Minuten oder Tage spaeter sein kann. Zum Abgleich: ich wuerde nicht um 24 Uhr um 3 Sek. verstellen, sondern den Timer, der den Sek-Interrupt erzeugt, um ein Paar Ticks verstellen, so wie peter dannegger 01.01.2004 11:44 es gemeint hat. Erik: ???? 50 ppm sind 50 ppm, auch wenn Du noch so viel daran rumteilst, sind das 131,49 Sekunden pro Monat (im Mehr-Jahres-Mittel). Profi
@Simon: Hast Du Dir schonmal Gedanken zu dem Beamer gemacht? Ich würde sowas auch gerne bauen, aber mit Optik habe ich überhaupt keine Erfahrung. Im Prinzip nimmt man wohl ein durchsichtiges LCD (also ohne den üblichen Hintergrund, blöd nur wenn da die Elektronik sitzt) und invertiert vielleicht noch (Polarisation ändern) oder man nimmt entsprechende LEDs (z.B. 7-Segment-Anzeigen). Dazu noch eine Linse und gut. Aber woher kriegt man passende Linsen und wie stellt man die Schärfe (des projezierten Bildes) ein? Markus
@Markus: Tja, mit dem Problem befasse ich mich eben auch gerade. Mit einem LCD geht es glaub ich nicht, ich habe vorhin einen Billigtaschenrechner zerlegt und die rückwärtige Reflexionsfolie abgezogen, so das man hindurchsehen konnte. Leider sind dann aber auch die Zahlen verschwunden... Ich hatte auch mal so ein Billigzeitbeamer von Pearl, die haben das mit so einer LCD Technik gemacht, aber frag mich nicht, wie; ich hab das ding schon längstens entsorgt.... Die andere (bessere?) Möglichkeit ist: Eine 7 Segment Anzeige so anzuschliessen, dass die Zahlen in jedem Fall Spiegelverkehrt angezeigt werden, dann darüber ein Rohr stülpen (Ich habe das beim Versuchsaufbau mit einer Toilettenpapierrolle gemacht) und darüber eine Lupe halten. Leider ist das Licht sehr schwach, sodass man bei Tageslicht nichts sieht. Ich habe das eben nochmal versucht (jetzt ist es dunkel...) und es ging sogar auch ohne Röhre, ich musste nur die Lupe etwa 7 cm über das LCD halten, und es wurde (relativ) scharf auf die Decke Projeziert. Ist vielleicht auch gut so, dass es nicht zu stark leuchtet, dann stört das nachts auch nicht. Vom Restlichen Aufbau denke ich, nehme ich einen ATMEGA32 Controller, daran schliesse ich dann das Display, den Empfänger, den Beamer und (muss ich mir noch genauer überlegen) einen zweiten MC mit der Alarmfunktion und der Beleuchtungssteuerung an. Wegen der Beleuchtung: Ich möchte mir noch solche RGBB LED's kaufen, und anhand eines D/A Wandlers jeweils die Leuchtfarbe über das Menü im Display umstellen. Dazu muss ich mich aber noch genauer informieren. Mein Konzept steht noch nicht ganz. Aber ich lass mir Zeit. Vor Allem auch wegen der Bestellung (Ich muss es fast bei Reichelt bestellen), da ich ja in der Schweiz wohne, muss ich einen Mindestbestellwert von 100 haben. Da muss alles geplant werden. Sonst muss ich mir die fehlenden Teile in der Schweiz kaufen, und das wird teuer. (Zum Beispiel kostet eine 3-Farben LED in der Schweiz umgerechnet 7.50, bei Reichelt nur ca. 1-2; schon krass. Ich will gar nicht daran denken, was das Blaue LCD in der Schweiz kostet...) Gute Nacht Simon
@Simon: Hast Du den Polarisationsfilter mit abgezogen? Dann ist natürlich nichts mehr zu sehen. Das kann z.B. so ein durchsichtige Kunststoffblättchen sein. Zu den LEDs: Daß man tagsüber kaum was sieht ist normal, das ist auch bei den käuflichen Geräten so. Gibts eigentlich ultrahelle 7-Segment-Anzeigen? Die Helligkeit kann man problemlos einstellbar machen. Markus
Markus: Also ich habe nur die Rückwärtige Folie abgezogen (Wenn man die Folie vor den Polarisationsfilter hält, sieht sie schwarz statt grau aus). Der Filter habe ich natürlich schon davorgehalten, aber es scheint so, dass die Rückwärtige Spiegelfolie das Licht auch nochmals speziell Polarisieren muss, um es sichtbar zu machen. Ich habe in einem Katalog solche HIEFF-7 Seg. Anzeigen gesehen (High Effizienz) Aber die verbrauchen eher weniger Strom als dass sie mehr leuchten. Im Dunkeln sieht man die Anzeige sehr gut, und wenn die Anzeige nachts zu hell leuchtet, so ist das störend. Die Normale Lichtstärke würde für mich eigentlich ausreichen. Aber was ich noch festgestellt habe: Die Linse (eine normale Lupenlinse) muss im Durchmesser mindestens gleich gross sein wie alle 7 Seg. Anzeigen nebeneinander, sonst werden die Ränder unscharf. Daher reichen schon 7.6 - 10mm grosse Anzeigen. Man sollte aber auch die Anzeigen in ein innen schwarze Röhre anbringen, sonst gibt es störendes Streulicht. Aber ab Morgen habe ich leider keine Zeit mehr, da mein Praktikum beginnt, und ich muss -bis ich in Zürich eine Wohnung habe- jeden Tag 4 Stunden Zug fahren. Da bleibt Abends keine Zeit mehr. MFG Simon
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.