Forum: Mikrocontroller und Digitale Elektronik Was bringt externer Oszillator gegenüber intenem bei AVRs?


von Karl (Gast)


Lesenswert?

Hallo zusammen,

ich habe eben gerade beim Schmöckern in diesem Forum mitbekommen, dass
man zum Betreiben von einigen AVR-Microcontrolern gar keinen externen
Quarz braucht, weil der Takt auch intern generiert werden kann.
Ich nehme an, der interne ist etwas ungenauer als ein externer.
Wie ungenau kann der interne Takt in etwa sein?
Ist er irgendwie Temperatur oder Luftfeuchtigkeitsabhängig?
Was spricht ausser der Genauigkeit noch für externe Taktung?

Danke schon mal und viele Grüsse
Karl

von Thomas (Gast)


Lesenswert?

externe taktung ist variabler...du kannst dir den quarz raussuchen.
Ich denke jeder takt ist in geringem ausmaß von temperatur uws.
abhängig. Das was in dem AVR drin ist ist ja nur ein RC oszillator. Der
ist wirklich ungenau. Ich hab z.B. mal eine Uhr gebaut und sie genau auf
1ne sekunde abgestimmt. 1 Tag später war sie noch relativ genau und 2
tage ging sie mehrere minuten falsch.
Was noch für einen externen spricht ist, das man da höhere taktungen
als 8Mhz erreichen kann (maximun des internen).
Der interne kann auf folgende frequenzen eingestellt werden:
1,2,3,8 Mhz. (lässt sich über die fuses einstellen)

von josef (Gast)


Lesenswert?

Würde auf einem Print auf alle Fälle einen Quarz einplanen.
Solltest du zB. einmal das falsche Fuse (ext.Takt)setzten, steht dein
AVR und lässt sich nicht mehr programmieren. Dann brauchst du den
externen Quarz.
RTCs mittels Software auf einem MC - geht selten genau.

Für zeitunkritische Anwendungen reicht der eingebaute Quarz.

SG Josef

von ...HanneS... (Gast)


Lesenswert?

Der interne RC-Oszillator kann 1, 2, 4 (nicht 3) oder 8 MHz.
Automatisch calibriert wird er nur bei 1MHz. Bei den anderen
Einstellungen muss man das von Hand erledigen.

Externer Quarz ist meist genauer und temperaturstabiler. Dafür kostet
er oft 2 Portleitungen. Solange der MC nicht extrem genau sein muss
(serielle Kommunikation, Uhr) kommt man mit dem internen Takt aus.

Externer Quarzoszillator ist etwas temperaturstabiler, frisst aber
allerhand Strom und erzeugt 'ne Menge Störimpulse.

...

von Karl (Gast)


Lesenswert?

Hallo zusammen,

nach euren Kommentaren zu urteilen, reicht der interne Taktgeber für
meine Zwecke voll aus.

Habe eben irgendwo im Internet noch eine absolut puristische Schaltung
gesehen: Ein Mega8, bei dem nur einige Port-Pins (die irgendwas
umschalten) und die Stromversorgung angeschlossen sind.

Die Minimalschaltung im  Microcontroler-Tutorial ist dagegen
hochkompliziert :-)

Fehlt nur noch die Spannungsreglerschaltung, die die stabilisierte
5V-Spannung aus beliebigen Eingangsspannungen generieren könnte (also
quasi noch nen 7805 + Kondensatoren) und die Solarzelle samt
Pufferbatterie auf dem Chip-Rücken. ;-)

Dank an euch alle.
Meine Frage ist hinreichend genau beantwortet.

Viele Grüsse
Karl

von ...HanneS... (Gast)


Lesenswert?

@Karl...

Du sprichst das Tutorial an.
Kannst du dir vorstellen, dass das für den AT90S4433 geschrieben war?
Der hatte noch keinen internen RC-Oszillator, brauchte daher einen
Quarz oder Quarzoszillator. Warum nun ein Quarzoszillator genommen
wurde, weiß vermutlich nur der Autor.

Nun wurde aber der Mega8 plötzlich so preiswert, dass es keinen Sinn
mehr macht, den 4433 einzusetzen, inzwischen ist der 4433 auch (fast)
nicht mehr erhältlich.

Sicher ist das Tutorial daher nicht mehr ganz zeitgemäß, aber sollten
wir nicht froh sein, dass sich überhaupt jemand die Arbeit macht, ein
Tutorial zu schreiben? Und das noch ohne jegliche Vergütung.

Klar, ein Mega8 braucht zum Rennen nur die beiden Keramik-C's an Vcc
und AVcc und die Peripherie an I/O. Und das ist gut so!

...

von Zotteljedi (Gast)


Lesenswert?

Aber warum ist das Tutorial denn so dogmatisch festgeschrieben, findet
sich tatsächlich niemand der das erweitern bzw. aktualisieren möchte?
Bei dem blühenden Wiki kann ich mir das gar nicht vorstellen.

Für Anfänger könnte man sicher ein paar Stolpersteine entfernen. Hätte
ich z.B. von avrdude für Windows gewusst, was hätte ich mir für einen
Haufen Ärger mit yaap sparen können! Die Elkos für den MAX 232 sind
auch sowas, laut Datenblatt bräuchte ich 1 uF, habe aber immer 22 uF
verbaut, weil man als Anfänger so ein Tutorial natürlich nie in Frage
stellt. Ein paar mehr Aufforderungen zum Selbstdenken hätten nicht
geschadet.

von Thomas Hergenhahn (Gast)


Lesenswert?

Der interne RC-Oszillator ist halt stark Temperaturabhängig. Habe
Platinen mit RS232 in einen Schaltschrank gesetzt. Vorher ausprobiert,
bis zu welcher Ober und Untergrenze des Timers ein PC die Zeichen
versteht, dann den Mittelwert genommen. Bei 40 Grad im Schrank geht's
nicht mehr...
Ein externer Quarz beseitigt dies Problem. Der oszillator ist dann aber
immer noch intern.
Einen externen Takt (also einen vollständig externen Oszillator) zu
benutzen kann sinnvoll sein, um mehrere uCs zu synchronisieren.

von Karl (Gast)


Lesenswert?

Hallo HanneS,

tut mir leid, dass mein Posting als Kritik am Tutorial rüber kam.
So war das nicht gemeint. Für mich war das Tutorial eine der
wichtigsten Quellen bei der Einarbeitung in Microcontroler und speziell
AVR. Vielen Dank an den Autor und weiter so.

Viele Grüsse
Karl

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
Noch kein Account? Hier anmelden.