Forum: Mikrocontroller und Digitale Elektronik Oszillator für Atmega 328p


von Elias W. (elias_w607)


Lesenswert?

Hallo zusammen,

kann ich folgenden Oszillator für einen Atmega328p verwenden:
https://www.reichelt.de/de/de/quarzoszillator-keramik-smd-xo32-16-0-mhz-xo32-16-00000-p101060.html?trstct=pol_0&nbc=1&&r=1


Wenn Ja wie muss ich die 4 Kontakte an den Ports anschließen?

Wenn nicht habt ihr eventuell eine andere Empfehlung, wichtig ist dass 
der Oszillator maximal so groß ist wie der oben angegebene.

Danke schonmal!

von Wolfgang (Gast)


Lesenswert?

Elias W. schrieb:
> Wenn Ja wie muss ich die 4 Kontakte an den Ports anschließen?

Gar nicht. Im Datenblatt steht, dass Pin 3 der Output ist, über den das 
Signal zum Takteingang des ATmega328. "Ground" und "Supply Voltage" 
sollten irgendwie selbsterklärend sein.

von Joachim B. (jar)


Lesenswert?

Elias W. schrieb:
> kann ich folgenden Oszillator für einen Atmega328p verwenden:
> 
https://www.reichelt.de/de/de/quarzoszillator-keramik-smd-xo32-16-0-mhz-xo32-16-00000-p101060.html?trstct=pol_0&nbc=1&&r=1

ja, aber beachte, das ist ein Oszillator und kein Quarz!
Man muss also VCC + GND anlegen und sogar den Atmega328p für die 
Verwendung von Oszillatoren richtig in seinen "Fuses" einstellen. (ISP 
programmieren)

> Wenn Ja wie muss ich die 4 Kontakte an den Ports anschließen?

warum schaust du nicht ins Datenblatt?
https://cdn-reichelt.de/documents/datenblatt/B400/XO32.pdf

: Bearbeitet durch User
von Dyson (Gast)


Lesenswert?

Elias W. schrieb:
> kann ich folgenden Oszillator für einen Atmega328p verwenden:

Nein. Der ist für 3,3V. Damit kann der Atmega zwar auch, aber dann nicht 
mit 16MHz.

von Alter Native (Gast)


Lesenswert?

Elias W. schrieb:
> kann ich folgenden Oszillator für einen Atmega328p verwenden:

Machs doch so wie die meisten Anderen. Verwende einen Quarz
(also keinen Quarzoszillator), oder wenn es nicht so genau
sein braucht, einen Keramik-Schwinger (Resonator).

von EAF (Gast)


Lesenswert?

Dyson schrieb:
> Nein. Der ist für 3,3V. Damit kann der Atmega zwar auch, aber dann nicht
> mit 16MHz.

Ach herrjeh!
> Supply Voltage: 1.8, 2.5, 3.3Volts±5% or 5.0 Volts ±10%

von A. F. (qq_q)


Lesenswert?

Joachim B. schrieb:
> ja, aber beachte, das ist ein Oszillator und kein Quarz!
> Man muss also VCC + GND anlegen und sogar den Atmega328p für die
> Verwendung von Oszillatoren richtig in seinen "Fuses" einstellen. (ISP
> programmieren)

Das muss der TO auch, wenn er einen normalen Quarz nutzen möchte. 
Standarmäßig ist schließlich der interne Oszillator aktiviert und CKDIV8 
gesetzt.

Dyson schrieb:
> Nein. Der ist für 3,3V. Damit kann der Atmega zwar auch, aber dann nicht
> mit 16MHz.

Ja, wenn ich mich richtig erinnere werden laut Datenblatt bei 3,3V 
ca.12Mhz garantiert. Ich betreibe alle meine Atmega328 an 3,3V und 
20MHz. Bis jetzt gab es noch nie Probleme. Glück?

von Wolfgang (Gast)


Lesenswert?

EAF schrieb:
> Ach herrjeh!
>> Supply Voltage: 1.8, 2.5, 3.3Volts±5% or 5.0 Volts ±10%

Mit Textverständnis hast du es nicht so, oder?
Reichelt bietet unter der Artikelnr. "XO32 16,00000" den Typ "16.000MHZ 
XO32050UITA" an. Sowohl die Angabe "Speisespannung: 3,3V" in der 
Artikelbeschreibung als auch das "A" in der Typenbezeichnung sollten dir 
verraten, dass das bei diesem Typ mit 1.8, 2.5 oder 5.0 Volt als nichts 
wird.
Einfach mal lesen.

von EAF (Gast)


Lesenswert?

Wolfgang schrieb:
> auch das "A"
Auch wenn es mir nicht schmeckt.
Du hast wahr.

von Jobst M. (jobstens-de)


Lesenswert?

A. F. schrieb:
> Ich betreibe alle meine Atmega328 an 3,3V und
> 20MHz. Bis jetzt gab es noch nie Probleme. Glück?

Beschreibst Du EEPROM oder Flash in diesem Zustand? Dann ja!

@TO

Wenn Du gerade keine andere Möglichkeit hast, kannst Du den Oszillator 
nehmen, mit 3,3V betreiben und den AVR mit 5V. Der kommt mit 3,3V Takt 
klar.
Man könnte auch noch einen Pegelwandler dazwischen setzen.

Gruß
Jobst

Beitrag #7019725 wurde von einem Moderator gelöscht.
von Dyson (Gast)


Lesenswert?

A. F. schrieb:
> Ich betreibe alle meine Atmega328 an 3,3V und
> 20MHz. Bis jetzt gab es noch nie Probleme. Glück?

Das Glück ist mit die Doofen. Ein vermeintlich funktionierender Betrieb 
ausserhalb der Spezifikationen ist immer Glück und Zufall. Auch wenn du 
meinst, hier jetzt triumphieren zu können, bist und bleibst du ein 
miserabler Bastler, der das ohnehin nicht beurteilen kann.

Jobst M. schrieb:
> Beschreibst Du EEPROM oder Flash in diesem Zustand? Dann ja!

von c-hater (Gast)


Lesenswert?

A. F. schrieb:

> Ja, wenn ich mich richtig erinnere werden laut Datenblatt bei 3,3V
> ca.12Mhz garantiert. Ich betreibe alle meine Atmega328 an 3,3V und
> 20MHz. Bis jetzt gab es noch nie Probleme. Glück?

Immer, wenn man von den Garantien abweicht, die das Datenblatt gibt, ist 
es Glück, wenn es funktioniert. Das sollte selbsterklärend logisch sein.

Im Übrigen bezweifele ich deine Angabe. Es wird sich wohl eher um 
ATMega328_P_ gehandelt haben. Für die würde ich es sogar glauben.

von Elias W. (elias_w607)


Lesenswert?


von Jobst M. (jobstens-de)


Lesenswert?

Elias W. schrieb:
> Wäre dieser dann besser geeignet?:

Das ist ein Quarz und kein Oszillator.
Den kannst Du benutzen. Aber was willst Du!?


Gruß
Jobst

von Georg M. (g_m)


Lesenswert?

ATmega48A/PA/88A/PA/168A/PA/328/P  Data Sheet
9.4 Full Swing Crystal Oscillator
Table 9-5. Full Swing Crystal Oscillator operating modes
Recommended Range for Capacitors C1 and C2:
12-22 pF

von Elias W. (elias_w607)


Lesenswert?

Jobst M. schrieb:
 > Aber was willst Du!?

Grundsätzlich geht es darum, dass ich eine Steuerung für Modellautos auf 
einem Arduino programmiert habe, da dieser (auch der kleinste) leider 
für meine Anwendung immer noch zu groß sind, habe ich mich dazu 
entschieden eine eigene Platine für den Atmega inklusive benötigten 
Widerständen zu entwerfen. Diese ist nur noch 1,5cm x 1cm und damit 
klein genug für mich, jetzt fehlt nur noch ein Taktgeber, die 
Genauigkeit ist eigentlich egal, da es nur um beispielsweise Blinker 
oder Blaulichter geht, wo auch kleine Abweichungen im Zeitintervall 
nicht so schlimm sind. Wichtig ist eigentlich nur die Größe, diese 
sollte so klein wie möglich sein.
Leider bin ich mit Atmega standalone wie man vielleicht merkt noch 
relativ unerfahren, daher vielleicht auch ein paar dumme Fragen.

Wichtig wäre vielleicht noch:
Der Akku des Fahrzeugs ist ein LiPo mit 3,7V, was so auch zur Versorgung 
der Platine genutzt wird.

: Bearbeitet durch User
von OMG (Gast)


Lesenswert?

Elias W. schrieb:
> Der Akku des Fahrzeugs ist ein LiPo mit 3,7V, was so auch zur Versorgung
> der Platine genutzt wird.

Dann plane schon mal eine saubere Stabilisierung der Versorgung
mit ein, inklusive diverser Abblock-Kondensatoren. Denn eines
kann man schon mal vorhersagen: ein blanker Akku am Mikrocontroller
wird nicht von (Betriebs-)Erfolg gekrönt sein. Akkus und
Batterien sind zu hochohmig als dass sie eine gute Pufferung
bezüglich Störungen von Motoren bieten.

Elias W. schrieb:
> für den Atmega inklusive benötigten Widerständen

Jaja, du meinst die Widerstände sind das Wichtigste .... aber
vielleicht musst du erst deine eigenen Erfahrungen machen
bevor du hier etwas glaubst was man dir erzählt.

von Jobst M. (jobstens-de)


Lesenswert?

Elias W. schrieb:
> jetzt fehlt nur noch ein Taktgeber, die Genauigkeit ist eigentlich egal

Dann kannst Du auch den integrierten RC-Oszillator benutzen, sofern Dir 
8MHz ausreichen. Der ist etwas ungenauer als ein Quarz.

Gruß
Jobst

von A. F. (qq_q)


Lesenswert?

Dyson schrieb:
> Das Glück ist mit die Doofen. Ein vermeintlich funktionierender Betrieb
> ausserhalb der Spezifikationen ist immer Glück und Zufall. Auch wenn du
> meinst, hier jetzt triumphieren zu können, bist und bleibst du ein
> miserabler Bastler, der das ohnehin nicht beurteilen kann.

Obwohl ich bereits mehr als 10 Jahre im Forum unterwegs bin, kann ich 
mich einfach nicht an die herablassende, mmn. beleidigende 
Ausdrucksweise einiger Leute hier gewöhnen, die glauben, unter dem 
Schutz der "Anonymität" alles tun zu können.

Aber du hast recht, ich bin fachfremd. Du aber offensichtlich nicht. 
Also schreibe doch mal, was ich nicht beurteilen kann. Bitte gehe 
möglichst ins tief ins Detail und nutzte ruhig möglichst viele 
Fachtermini. Ich freue mich auf deinen Aufsatz.

von A. F. (qq_q)


Lesenswert?

c-hater schrieb:
> A. F. schrieb:
>
>> Ja, wenn ich mich richtig erinnere werden laut Datenblatt bei 3,3V
>> ca.12Mhz garantiert. Ich betreibe alle meine Atmega328 an 3,3V und
>> 20MHz. Bis jetzt gab es noch nie Probleme. Glück?
>
> Immer, wenn man von den Garantien abweicht, die das Datenblatt gibt, ist
> es Glück, wenn es funktioniert. Das sollte selbsterklärend logisch sein.
>
> Im Übrigen bezweifele ich deine Angabe. Es wird sich wohl eher um
> ATMega328_P_ gehandelt haben. Für die würde ich es sogar glauben.

Es handelt sich tatsächlich um P was anderes habe ich garnichtmehr hier.

Jobst M. schrieb:
> Beschreibst Du EEPROM oder Flash in diesem Zustand? Dann ja!

EEPROM nutzte ich nur ganz selten quasi ungestestet, Flash nur im Rahmen 
von ISP (AVRISPMK2 original, AS7). Bis jetzt war die obligatorische 
Verifikation jedoch noch nie fehlerhaft. Da bei mir die AVRs nur noch 
für IO Aufgaben, in einem proof of concept oder wenn es schnell gehen 
soll zum Einsatz kommen. Alles andere übernehmen mw. STM32.

von Gerald B. (gerald_b)


Lesenswert?

Jobst M. schrieb:
> Elias W. schrieb:
>> jetzt fehlt nur noch ein Taktgeber, die Genauigkeit ist eigentlich egal
>
> Dann kannst Du auch den integrierten RC-Oszillator benutzen, sofern Dir
> 8MHz ausreichen. Der ist etwas ungenauer als ein Quarz.
>
> Gruß
> Jobst

Full ACK. Für zeitunktitische Sachen, wie ein bisschen Geblinke, nimm 
den internen Oszillator. Der braucht keinen zusätzlichen Platz.

von Joachim B. (jar)


Lesenswert?

Elias W. schrieb:
> Grundsätzlich geht es darum, dass ich eine Steuerung für Modellautos auf
> einem Arduino programmiert habe, da dieser (auch der kleinste) leider
> für meine Anwendung immer noch zu groß sind
> ......

https://de.aliexpress.com/item/1005001941017935.html

Regler onboard
https://de.banggood.com/5Pcs-Digispark-Kickstarter-Micro-USB-Development-Board-For-ATTINY85-Arduino-p-1047665.html

klein genug?

> Wichtig wäre vielleicht noch:
> Der Akku des Fahrzeugs ist ein LiPo mit 3,7V, was so auch zur Versorgung
> der Platine genutzt wird.

jeder 8-bit AVR kann von 2,7V (Lipo leer) bis <=5,5V (Lipo voll) mit 
8MHz laufen Spannungsregler unnötig, müsste aber ISP programmiert 
werden.

alles Ideen die noch geprüft werden müssten.

von Hartmut S. (hsemken)


Lesenswert?

Elias W. schrieb:
>jetzt fehlt nur noch ein Taktgeber, die
> Genauigkeit ist eigentlich egal, da es nur um beispielsweise Blinker
> oder Blaulichter geht, wo auch kleine Abweichungen im Zeitintervall
> nicht so schlimm sind.

Die AVRs haben einen internen Oszillator (im Datenblatt als 
RC-Oszillator beschríeben). Der braucht gar kein externen Bauteile: 
kleiner geht nicht.
Der ist allerdings auf 8MHz festgelegt, das Programm muss dem also 
angepasst sein.

Falls Du irgendeine Uart-Kommunikation in Deinem System hast: dann kommt 
es auf die Genauigkeit des Taktes an. Immer. Muss sehr genau sein.

hase

von s.c.n.r. (Gast)


Lesenswert?

Hartmut S. schrieb:
> Muss sehr genau sein.

Das nenne ich mal eine genaue Angabe.

Kannst du das bitte mal quantifizieren. Für manche Leute ist 10^-4 schon 
sehr genau, für andere reicht 10^-10 nicht näherungsweise aus.

von kai (Gast)


Lesenswert?

Elias W. schrieb:
> Diese ist nur noch 1,5cm x 1cm und damit
> klein genug für mich, jetzt fehlt nur noch ein Taktgeber, die
> Genauigkeit ist eigentlich egal, da es nur um beispielsweise Blinker
> oder Blaulichter geht, wo auch kleine Abweichungen im Zeitintervall
> nicht so schlimm sind. Wichtig ist eigentlich nur die Größe, diese
> sollte so klein wie möglich sein.

Dann benutz doch den internen RC-Oszillator des Atmegas. Der hat 8MHz. 
Den musst du unter den Fuses einstellen.
Außerdem musst du dort den Haken bei DIV8 oder DIVCLK8 rausnehmen, sonst 
läuft der Atmega nur mit 1MHz.

von Oliver S. (oliverso)


Lesenswert?

Hartmut S. schrieb:
> Der ist allerdings auf 8MHz festgelegt, das Programm muss dem also
> angepasst sein.

Das gilt aber für jede Taktquelle.

Der interne RC-Oszillator ist zwar auf 8MHz festgelegt, der CPU-Takt 
wird aber über einen 4-Bit-Vorteiler erzeugt, und kann in 
2er-Potenzschritten eingestellt werden.

Oliver

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.