Hallo, ich habe da eine zeimlich doofe Frage. Ich habe schon die Foren-Suche bemüht, aber nicht das passende gefunden. Ich bin am überlegen, mir eine Kleinigkeit zu bauen. Dafür benötige ich einen µC. Deshalb war mein Gedanke: Ich kaufe mir eine Arduino Uno R3 Board und benutze dieses quasi als Programmer. Schreiben würde ich das Programm auch mit der Arduino-Umgebung. Jetzt das Problem: Die Boards laufen ja alle mit einem 16MHz Quarz und ich habe jetzt mehrfach gelesen, dass dann im Kontroller die Fuses dementsprechend eingestellt sind und nicht mehr geändert werden können. In meiner Schaltung würde ich aber lieber einen 4,096 MHz Quarz benutzen. Geht das? D.h. sind die µC nur auf externer Quarz eingestellt und es ist im schnuppe, welche Frequenz da hinter hängt. Entschuldig die dumme Frage. Hatte bisher nur mit einem PIC und dessen internen Oszillatoren zu tun. Vielen Dank!
@M. W. (rallini94) >einen µC. Deshalb war mein Gedanke: Ich kaufe mir eine Arduino Uno R3 >Board und benutze dieses quasi als Programmer. Wieso Programmer? > Schreiben würde ich das > Programm auch mit der Arduino-Umgebung. >Jetzt das Problem: Die Boards laufen ja alle mit einem 16MHz Quarz und >ich habe jetzt mehrfach gelesen, dass dann im Kontroller die Fuses >dementsprechend eingestellt sind und nicht mehr geändert werden können. Mehr oder weniger. Man müsste auch den Bootloader anpassen, wegen der Baudrate. >In meiner Schaltung würde ich aber lieber einen 4,096 MHz Quarz >benutzen. Warum? >Geht das? D.h. sind die µC nur auf externer Quarz eingestellt und es ist >im schnuppe, welche Frequenz da hinter hängt. Im Prinzip ja, aber dann kann man den uC nur noch mittels eines ISP-Programmieradapters programmieren oder man muss den Bootloader ändern.
Falk B. schrieb: > oder man muss den Bootloader > ändern. Und in der boards.txt die richtige Frequenz eintragen. Sonst tun es millis() und delay() nicht genau. Auch wird die Baudrate falsch berechnet.
Falk B. schrieb: > @M. W. (rallini94) > >>einen µC. Deshalb war mein Gedanke: Ich kaufe mir eine Arduino Uno R3 >>Board und benutze dieses quasi als Programmer. > > Wieso Programmer? Ok, vielleicht muss ich meine Idee nochmal verdeutlichen: Ich möchte mir eine Unor R3 kaufen auf dem ein Atmega328 in DIP gehäuse drauf ist. Dann kann man in Ruhe basteln/texten/etc., wenn man möchte. Später will ich aber eine eigene Platine machen. D.h. Programm in der Arduino Umgebung schreiben (aber eigentlich in reinem C, ich bediene mich also der ganzen Arduino-Funktionen nicht), per Arduino Uno R3 Board auf den Atmega328 spielen, diesen aus dem Board nehmen und dann in meine eigene Schaltung setzen (welche eine 4,096 MHz Quarz bekommen soll) >> Schreiben würde ich das >> Programm auch mit der Arduino-Umgebung. > >>Jetzt das Problem: Die Boards laufen ja alle mit einem 16MHz Quarz und >>ich habe jetzt mehrfach gelesen, dass dann im Kontroller die Fuses >>dementsprechend eingestellt sind und nicht mehr geändert werden können. > > Mehr oder weniger. Man müsste auch den Bootloader anpassen, wegen der > Baudrate. Von Bootloadern hab ich noch keine Ahnung. >>In meiner Schaltung würde ich aber lieber einen 4,096 MHz Quarz >>benutzen. > > Warum? > Ich möchte eine Uhr damit realisieren. Sie muss nicht hundertprozentig genau sein, aber wenn ich mich nicht verrechne, ist der Fehler mit einer kleineren Quarzfrequenz besser (z.B. 30ppm bei 4 MHz sind absolut gesehen weniger als bei 16 MHz). Somit muss man nicht so häufig nachstellen. Und nein, ich möchte mich noch nicht an DCF77 wagen. >>Geht das? D.h. sind die µC nur auf externer Quarz eingestellt und es ist >>im schnuppe, welche Frequenz da hinter hängt. > > Im Prinzip ja, aber dann kann man den uC nur noch mittels eines > ISP-Programmieradapters programmieren oder man muss den Bootloader > ändern. Dann finde ich die Idee des Boards etwas komisch. Ich meine, das Board eignet sich doch eigentlich super als Test- und Programmierumgebung. Wenn man damit fertig ist, nimmt man den Atmega raus und packt ihn auf seine Platine. Wäre doch schade, wenn man dann an einen 16 MHz Quarz gebunden wäre. Aber wenn das nicht zu ändern ist, muss ich halt einen 16 MHz Quarz nehmen
M. W. schrieb: > z.B. 30ppm bei 4 MHz sind absolut > gesehen weniger als bei 16 MHz Rechen mal für beiden den Größtfehler aus wenn das Signal auf 1Hz runtergeteilt wurde und vergleich sie.
M. W. schrieb: > (z.B. 30ppm bei 4 MHz sind absolut gesehen weniger als bei 16 MHz). 30ppm sind 30ppm - egal bei welcher Frequenz.
M. W. schrieb: > Ich möchte eine Uhr damit realisieren. Dann vergiss den Uno... Kauf dir einen USBasp, ca 3€ Und stecke an den ATMega einen Standard Uhrenquarz. Auch damit ist eine interner Takt von 8MHz möglich.
@ M. W. (rallini94) >Ich möchte mir eine Unor R3 kaufen auf dem ein Atmega328 in DIP gehäuse >drauf ist. OK. > Dann kann man in Ruhe basteln/texten/etc., wenn man möchte. >Später will ich aber eine eigene Platine machen. D.h. Programm in der >Arduino Umgebung schreiben (aber eigentlich in reinem C, ich bediene >mich also der ganzen Arduino-Funktionen nicht), Warum nicht? Ist das zu einfach? > per Arduino Uno R3 Board >auf den Atmega328 spielen, diesen aus dem Board nehmen und dann in meine >eigene Schaltung setzen (welche eine 4,096 MHz Quarz bekommen soll) Bringt nix. >Ich möchte eine Uhr damit realisieren. Sie muss nicht hundertprozentig >genau sein, AVR - Die genaue Sekunde / RTC > aber wenn ich mich nicht verrechne, ist der Fehler mit einer >kleineren Quarzfrequenz besser (z.B. 30ppm bei 4 MHz sind absolut >gesehen weniger als bei 16 MHz). Somit muss man nicht so häufig >nachstellen. Falsch gedacht. 30ppm sind immer 30ppm, der relative Fehler ist gleich. Und nach Teilung auf 1s und weniger ist der relative Fehler auch gleich groß. Siehe den Artikel oben. >Dann finde ich die Idee des Boards etwas komisch. Ich meine, das Board >eignet sich doch eigentlich super als Test- und Programmierumgebung. >Wenn man damit fertig ist, nimmt man den Atmega raus und packt ihn auf >seine Platine. Wäre doch schade, wenn man dann an einen 16 MHz Quarz >gebunden wäre. Kann man ändern, ist aber etwas für Fortgeschrittene. >Aber wenn das nicht zu ändern ist, muss ich halt einen 16 MHz Quarz >nehmen Nimm ihn, er schadet dir nicht. Ausserdem hat der AVR einen einstellbaren Prescaler, da kann man die CPU auch langsamer laufen lassen. Wenn man Strom sparen muss, nimmt man so oder so einen 32.768 kHz Uhrenquarz und den Sleep Mode.
Ulrich F. schrieb: > Und stecke an den ATMega einen Standard Uhrenquarz. Der Standard Uhrenquarz nützt nur etwas, wenn der genau abgeglichen ist. Sonst kann man genauso gut irgendeinen 8 oder 16 MHz Quarz nutzen und den per Software abgleichen. Beitrag "Die genaue Sekunde / RTC"
Falk B. schrieb: > Falsch gedacht. 30ppm sind immer 30ppm, der relative Fehler ist gleich. > Und nach Teilung auf 1s und weniger ist der relative Fehler auch gleich > groß. Siehe den Artikel oben. Ja, stimmt wohl. Hab ich gestern abend auch noch festgestellt ;) Ich werde mir dann wohl doch einen 16 MHz Quarz besorgen und das ganze so realisieren. Wie gesagt, muss nicht haargenau sein, wäre aber schon doof, wenn die Uhr dann pro Tag mehrere Minuten falsch ginge. Vielen Dank auf jeden Fall für die Bestätigung meiner Annahme bzw. die Aufklärung!
M. W. schrieb: > Ich werde mir dann wohl doch einen 16 MHz Quarz besorgen und das ganze > so realisieren. Wie gesagt, muss nicht haargenau sein, wäre aber schon > doof, wenn die Uhr dann pro Tag mehrere Minuten falsch ginge. Dann rechne doch einfach mal nach: Ein Tag hat 24 x 60 x 60 = 86.400 Sekunden. 30ppm sind dann 2,592 Sekunden.
Dietrich L. schrieb: > M. W. schrieb: >> Ich werde mir dann wohl doch einen 16 MHz Quarz besorgen und das ganze >> so realisieren. Wie gesagt, muss nicht haargenau sein, wäre aber schon >> doof, wenn die Uhr dann pro Tag mehrere Minuten falsch ginge. > > Dann rechne doch einfach mal nach: > > Ein Tag hat 24 x 60 x 60 = 86.400 Sekunden. 30ppm sind dann 2,592 > Sekunden. Ja, soweit bin ich mittlerweile auch ;) Hatte halt am anfang den Denkfehler, dass die Frequenz eine Einfluss hätte, aber klar 30ppm sgat es ja schon: Pro Million somit ist es was realtives und somit Frequenzwertunabhängig. Vielen Dank nochmal, auch für den Link zum Artikel, damit kann man die Genauigkeit wirklich schön nochmal steigern.
M. W. schrieb: > Ich werde mir dann wohl doch einen 16 MHz Quarz besorgen und das ganze > so realisieren. Solange Du den ATmega auf dem Arduino Board betreibst, kannst Du auch den Quarz des ATmega16U2 mit verwenden. http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp7 Im 2. Abschnitt unter 'automatischer Abgleich' findest Du eine Beschreibung nebst Bild, wie es geht.
Man könnte führ die Uhrenfunktion auch sowas benutzen: http://www.ebay.de/itm/DS1307-I2C-Real-Time-Clock-AT24C32-I2C-EEPROM-Board-Batterie-CR2032-/201278006037?hash=item2edd1aa315 Ist jetzt nur ein Beispiel - die Dinger gibt es für rund 5 Euro in den verschiedensten Ausführungen mit und ohne Pufferbatterie.
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.