Hallo, ich möchte eine Uhr bauen, die auch draußen möglichst genau funktioniert. Ist es für die Genauigkeit empfehlenswert eher eine RTC zu benutzen oder einen Mikrocontroller mit externem Quarz? Kann man ungefähr sagen wie groß die Abweichung sein wird, wenn die Temperatur im Bereich von -10 bis +30°C schwankt?
Hallo, das kann man so pauschal nicht sagen, da ist jeder Quarz ein bisschen anders (auch in einer Baureihe kann es Schwankungen geben.) Der Vorteil an einer RTC ist neben dem Stromverbrauch, dass du dich in den meisten Fällen nicht großartig um den Quarz kümmern musst, der Vorteil am AVR ist, dass du dich darum kümmern kannst (siehe AVR - Die genaue Sekunde / RTC). Je nach Anforderung an Genauigkeit wäre evtl. ein TCXO (Temperaturkompensierter Quarz) angebracht. Ganz nett zum Thema Taktgeber und deren Drift: http://www.eevblog.com/2010/02/14/eevblog-61-crystal-oscillator-drift/
@ Alex K. (Gast) >ich möchte eine Uhr bauen, die auch draußen möglichst genau >funktioniert. Definiere "genau". >Ist es für die Genauigkeit empfehlenswert eher eine RTC zu benutzen oder >einen Mikrocontroller mit externem Quarz? Bei der RTC hat der Hersteller mehr oder weniger den Quarz temperaturkompensiert. Beim µC musst/kannst du das selber. RTC ist einfacher und stromsparender, siehe Sleep Mode. Eine Selbstbaulösung ggf. genauer. >Kann man ungefähr sagen wie groß die Abweichung sein wird, wenn die >Temperatur im Bereich von -10 bis +30°C schwankt? Pi mal Daumen bis zu -30ppm, also ca. -2,6s/Tag Siehe AVR - Die genaue Sekunde / RTC MfG Falk
Hallo und erstmal danke für die Antworten @egberto Wo bekomme ich den dallas ds32khz in Deutschland gekauft? @Chris R. (hownottobeseen) >Je nach Anforderung an Genauigkeit wäre evtl. ein TCXO >(Temperaturkompensierter Quarz) angebracht. Wollte ich eigentlich vermeiden, da die ganz schön teuer sind. Den Link zum Video werde ich mir mal anschauen. @Falk Brunner (falk) >Definiere "genau". Also 2,6s/Tag wären in Ordnung, die Genauigkeit sollte pro Monat auf jedenfall nicht 2min überschreiten. Welchen RTC Baustein kann ich nehmen, den ich in Deutschland kaufen kann, der diese Genauigkeit erreicht und den PIC möglichst über einen Interrupt aufwachen lässt?
Alex K. schrieb: > Also 2,6s/Tag wären in Ordnung, die Genauigkeit sollte pro Monat auf > jedenfall nicht 2min überschreiten. Das schafft jeder normale Uhrenquarz... > Welchen RTC Baustein kann ich nehmen, den ich in Deutschland kaufen > kann, der diese Genauigkeit erreicht und den PIC möglichst über einen > Interrupt aufwachen lässt? ...und somit auch ein mit Quarz betriebener PIC ganz ohne externer RTC. Aber wenn's denn unbedingt extern sein muss: Bei Dallas/Maxim wirst du fündig, unter DS1307 beispielsweise.
Spricht etwas gegen DCF-77? Wie wird deine Schaltung mit Strom versorgt? Auch das normale 230V Netz ist auf lange Sicht gesehen ein guter Taktgeber.
Das ganze wird nur mit 3 Micro-Batterien betrieben. Nach DCF77 Modulen habe ich schon geschaut, aber wollte ich eigentlich nicht benutzen, weil die das ganze nur teurer machen, komplizierter und von Störquellen abhängig. Ich hatte mal einen PIC mit einem Uhrenquarz von Reichelt betrieben, aber schon nach einer Stunde ging die Schaltung 1s falsch :(
Na und? Miss einmal die tägliche Abweichung und bau diesen Wert dann als tägliche Korrektur ein. Ist weitaus einfacher als den Quarz per Trimmer auf exakt die richtige Frequenz zu ziehen (es sei denn man hat einen exakten Vergleich, aber wer hat sowas schon).
Ja, die Frage ist dabei nur wie man diesen Korrekturwert wählt, damit die Uhr bei einer gewöhnlichen Außentemperatur im Mittel eine möglichst geringe Abweichung hat.
Nimm einem Quarz, in dessen Datasheet etwas über die Quarzparameter drin steht. Damit sollte der ungefähre Temperaturgang ermittelbar sein. Wenn das nicht sowieso schon ausreicht, dann peilst du nebenbei auch noch die Temperatur über den Daumen und korrigierst zusätzlich damit.
Alex K. schrieb: > Ich hatte mal einen PIC mit einem Uhrenquarz von Reichelt betrieben, > aber schon nach einer Stunde ging die Schaltung 1s falsch :( Wird ein Softwarefehler sein. Anfänger denken nämlich gerne, ein Interrupt hat 0 Zyklen Response und laden den Timer im Interrupt mit einem festen Wert. Das geht dann schief. Entweder man addiert die abgelaufene Zeit oder nimmt den Clear-on-Compre Modus des Timers. Peter
Glaub ich eigentlich nicht, dass es ein Softwarefehler war, ich hab den 8-bit Timer einfach immer überlaufen lassen und bei jedem Überlauf die Sekunde um eins hochgezählt. Wahrscheinlich gab es eher ein Problem mit dem Kondensator. Ich hab hierzu im Forum schon zwei verschiedene Formeln zur Berechnung der Lastkapazität gefunden daher hab ich nach Gefühl einfach einen 12p genommen.
Auf diese Anforderung: "möglichst genau" gibt es nur eine Antwort: ATOMUHR von der PTB. Ansonsten erst mal nachdenken,was die Anforderung wirklich ist. Da kommt dann wahrscheinlich bei raus, dass eine Loesung ueber DCF77 perfekt ist. Gast
mal eine ganz dumme Frage, wenn man bei einem ATmega o.ä. einen externen Uhrenquarz anschaltet, sollte man das entsprechende Fuse-Bit nicht vergessen einzuschalten, damit man die internen Kondensatoren aktiviert... Ist das bei einem PIC auch so?
Der DS3231 von MAXIM ist temperaturkompensiert, hat eine RTC, die über I2C abfragbar ist und zusätzlich einen 32.768 kHz Ausgang. Du kannst also die Uhr über I2C abfragen oder in einem µC die 32.768 kHz verarbeiten. Ich habe so ein Ding z.Zt. laufen, in 7 Monaten nur 2 sec Abweichung. Im Datenblatt sind 2 ppm Temperaturabhängigkeit spezifiziert (über 40° und unter 0° 3.5 ppm). Alterung 1 ppm/Jahr, in 10 Jahren 5 ppm. Gibt es nur als SOIC, also nichts für Leute mit Parkinson'scher Krankheit, bei MAXIM als Sample, und bei den üblichen Verdächtigen, z.B. Farnell, ist allerdings deutlich teurer als ein Quarz.
@quarz Bei den PICs muss man die Kondensatoren extern vorsehen. Das hat den Vorteil, dass man den Quarz noch "ziehen" kann. Interne Kondensatoren sind nur 2. Wahl, weil die Werte der Kondensatoren primär vom Quarztyp abhängen und erst sekundär vom Oszillator.
Nachtrag zum DS3231: er hat auch einen Ausgang, den man für 1 Hz programmieren kann. Ist also perfekt, um den µC aus dem SLEEP-Modus aufzuwecken.
@ Alex K. (Gast) >Ich hatte mal einen PIC mit einem Uhrenquarz von Reichelt betrieben, >aber schon nach einer Stunde ging die Schaltung 1s falsch :( Das ist ein 1/3600tel, also 277ppm. Das ist ARG viel für einen Quarz und typisch für falsche Lastkondensatoren. MFG Falk
2 Minuten/Monat dürfte kein Problem sein, kriegt man auch ohne Kompensation hin. Dafür braucht man auch keine RTC, die sind vor allem dazu gedacht eine Uhr mit sehr wenig Energieverbrauch weiterlaufen zu lassen. So kann man den Controller für (schätzungsweise) >99% der Zeit schlafen schicken, der ist ja nur noch zur Ansteuerung der Anzeige da.
Ein ganz normaler Quarz ist ausreichend genau. Rein rechnerisch ergibt die geforderte Präzision von 2min/Monat eine maximale Abweichung von 46ppm. Qaurze mit 10ppm sind durchaus erhältlich und bezahlbar. 10ppm erzeugt im "dümmsten Fall" eine Abweichung von ca. 25 sek/Monat
Ich möchte eine Uhr bauen, die nicht nur möglichst genau ist, sondern auch möglichst klein, möglichst robust und möglichst modisch. Und wasserdicht bis zu einer möglichst großen Tiefe. Dazu möglichst preiswert. Und möglichst alles zusammen. Welche Bauteile bestelle ich da am besten?
@ Zum nachdenken: Alex hat doch inzwischen erwähnt, dass eine Abweichung von kleiner 2min / Monat für ihn in Ordung sind. Ebenso gab er einen Temperaturbereich an. Also sind alle "Paramter", die notwendig sind, mögliche Realisierungsvorschläge bezüglich Genauigkeit zu machen, gegeben. Ich geh mal davon aus, dass diese Information überlesen hast und daher selbst erkennst, dass dein Kommentar hier unangebracht war.
@Schrotty (Gast)
>Qaurze mit 10ppm sind durchaus erhältlich und bezahlbar.
[ ] Du kennst den Interschied zwischen Abgleichfehler und
Temperaturdrift.
MFG
Falk
guckst du hier: http://www.petermann-technik.com/fileadmin/pdf/SMD03025-4.pdf Erhältlich mit -+5 ppm Abgleichfehler und +-5ppm Temperaturdrift bei -20..70 Grad Oder hier: http://www.petermann-technik.com/fileadmin/pdf/HC-49US-SMD.pdf Oder hier: http://www.petermann-technik.com/fileadmin/pdf/UM1-UM5.pdf http://www.auris-gmbh.de/root/img/pool/pdf_files/hc49ussmd.pdf Also es gibt sowas schon und das sind keine Exoten.
Hallo, und vielen Dank für die zahlreichen Antworten. Ich werde einfach nochmal eine Testplatine mit PIC + Uhrenquarz aufbauen und mir dann die Abweichung bei Außentemperaturschwankungen anschauen. Was empfehlt ihr denn für einen Kondensator wenn die Belastungskapazität des Quarzes 10pf beträgt? @stephan_ (Gast) Dieser DS3231 ist ja schon ein geiles Teil ;) Falls ich mit obigem Ergebnis nicht zufrieden bin, werde ich vielleicht darauf zurückgreifen. Der scheint meine Anforderungen bzgl. externe Interrupts, Genauigkeit, und Temperaturstabilität zu erfüllen.
Ich nehme mal an, dass du eine Pierce-Schaltung vorsiehst und würde dann für die beiden Kondensatoren je 15pF oder 18pF nehmen
Schrotty schrieb: > guckst du hier: > > http://www.petermann-technik.com/fileadmin/pdf/SMD03025-4.pdf > > Erhältlich mit -+5 ppm Abgleichfehler und +-5ppm Temperaturdrift bei > -20..70 Grad > Macht also bei 20Grad Temperaturänderung schon mal 100ppm, und 20 Grad Änderung sind sehr wenig für Außenanwendung. Sommer-winter macht eher 40 Grad, also sicher mehr als 100ppm (wenn auch nicht kumulativ)... > ja Falk, ich kenne den Unterschied.. Mag sein das Du ihn kennst, aber Du hast es weder begriffen was es für Konsquenzen hat noch hast Du eine Ahung: sonst würdest Du nicht so einen Käse empfehlen. Fazit: Einfacher Standardquarz für Außenanwendung ohne Temparturkompensation (Schaltungstechnishc oder per Temp-Messung & lookup table, etc.) Macht DEUTLICH MEHR ALS 2 Minuten Zeitabweichung per Monat.
Andrew Taylor schrieb: > Macht also bei 20Grad Temperaturänderung schon mal 100ppm, und 20 Grad > Änderung sind sehr wenig für Außenanwendung. Ich denke nicht, dass die 5ppm pro °C gemeint sind, sondern das dies die Abweichung über den gesamten Temperaturbereich ist. Sonst wären die 50ppm-Typen bei -40..+125°C nur mehr grobe Schätzeisen. Also 5ppm für die Basistoleranz und oben drauf 5ppm für die maximale temperaturbedingte Abweichung gibt in Summe 10ppm.
A. K. schrieb: > Andrew Taylor schrieb: > >> Macht also bei 20Grad Temperaturänderung schon mal 100ppm, und 20 Grad >> Änderung sind sehr wenig für Außenanwendung. > > Ich denke nicht, dass die 5ppm pro °C gemeint sind, sondern das dies die > Abweichung über den gesamten Temperaturbereich ist. Das wäre dann mit den oben genannten Daten (5ppm, -20...70Grad) 5 exp-6 über 90 K Temperaturdifferenz. Also rund 5exp-8 je Grad Temperaturdifferenz. Für Standardquarze kaum so niedrig realisiert. > Sonst wären die > 50ppm-Typen bei -40..+125°C nur mehr grobe Schätzeisen. Normale Typen sind das auch, leider. > > Also 5ppm für die Basistoleranz und oben drauf 5ppm für die maximale > temperaturbedingte Abweichung gibt in Summe 10ppm. s.o. : Wohl kaum.
>Ich denke nicht, dass die 5ppm pro °C gemeint sind, sondern das dies die >Abweichung über den gesamten Temperaturbereich ist. So sehe ich das auch, wobei der 'Standard' eher 30-50ppm hat. Das ist aber egal, da die Genauigkeit ausreichend ist. Unklar ist mir, wie groß die Stromaufnhame sein darf. Wenn sie, wie bei Batteriebetrieb notwendig, sehr klein sein soll, wird ein Uhrenquarz mit 32kHz erforderlich sein. Sofern es nicht auf ein paar mA mehr oder weniger ankommt, ist für einen großen Temperaturbereich ein 'normaler' AT-Quarz besser. Uhrenquarze sind für 20-25°C optimiert, AT-Schnitte decken einen deutlich größeren Bereich ab.
Ich bin grad mal kurz durch das bekannte Quarzkochbuch durch. Die 50ppm insgesamt über -40-+125°C scheinen bei AT-Schnitt ebenso realistisch machbar zu sein wie 5ppm über -20-+70°C.
@ Taylor >Mag sein das Du ihn kennst, aber Du hast es weder begriffen was es für >Konsquenzen hat noch hast Du eine Ahung: sonst würdest Du nicht so einen >Käse empfehlen. Wenn du imstande wärst, Einheiten zu lesen, dann würdest du hier nicht so nen Mist verzapfen. Die Angabe ist einheitslos (in diesem Falle eben ppm) In deinem Falle müsste sie ppm/K heißen. Asserdem ist die Angabe in +-ppm. Laut deiner Behauptung, dass es sich um eine Angabe pro Kelin handlen würde, würde dies bedeuten, dass der Quarz in jedem Temperaturbereich sowohl einen negativen, als auch einen postiven Temperaturkoeffizient hätte. Gerade so, wie er grad Lustig ist. Desweiteren ist ganz unten im DB von Auris sogar beim Bestellcode angegeben, dass die Angabe in +-ppm (Temp-Range) ist. Aber schön, dass du so viel Ahnung hast, dass du es dir leisten kannst, hier gleich so unverschämt aufzutreten. ein Quarz mit 50ppm hätte also deiner Ansicht nach 50ppm/K? Macht also bei einer Temperaturschanwankung von 90K stolze 4500ppm Respekt, da kannst dir gleich ne alte Kirchturmuhr einbauen! Fazit: Wenn man schon keine Ahung hat, sollte man seine "Annahmen" wenigstens ein wenig "vorsichtiger" formulieren und nicht gleich die Anderen als Idioten hinstellen.
So ich habe nun nochmal eine neue Schaltung aufgebaut. Ein 32678hz Quarz mit einer Frequenztoleranz von ±10 ppm. Benutzt habe ich einen PIC18F84A und eine Segmentanzeige, die mir die Einer-Sekunden ausgibt. Da ich keinen 15p Kondensator da habe, habe ich einen 12p Kondensator genommen. Die Uhr geht in einer Stunde knapp 1sec nach. Der Quarz läuft also zu schnell. Am Programm liegt es sicher nicht: int8 counter = 0; #int_TIMER0 void TIMER0_isr(void) { if (++counter > 9) counter = 0; output_b(numbers[counter]); } void main() { setup_timer_0(RTCC_INTERNAL|RTCC_DIV_32); SET_TRIS_B(0); enable_interrupts(INT_TIMER0); enable_interrupts(GLOBAL); while(TRUE); } Sollte ich die Kondensatoren gegen höhere z.B. 22p austauschen?
Der Kondensator beeinflusst die Frequenz. Entweder du probierst diverse Werte durch, beispielsweise als Trimmkondensator, wobei Klagen über "habe grad keine passenden Werte" nicht zielführend sind. Oder du kompensierst den dir bekannten Fehler in Software.
...das Rad wurde schon erfunden...tue doch nicht so unbeholfen. Mindestens zwei Chips wurden hier genannt, die besser sind als das, was du suchst ! Wo kann man denn heute '' TemperaturUnstabile Uhren '' kaufen ? Und...glaube nur dem Peter Dannegger...es war sicher ein Softwarefehler.
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.