Anfänger: Standalone ATmega328 - Anschlussfrage

Gast #3604476
Lesenswert?

Hallo,
ich bin noch ein Neuling und versuche mich langsam in das Thema mit dem 
Arduino Uno Board (Mikrocontroller ATmega 328) einzuarbeiten.
Jetzt möchte ich den Mikrocontroller ohne das Board verwenden, doch dazu 
habe ich ein paar Fragen, auf die ich im Internet leider nicht die 
richtigen Antworten gefunden habe:

1. Ich brauche in diesem Fall keinen zusätzlichen Oszillator, mir reicht 
der interne Takt. Soll ich die Eingänge für den Oszillator nun gegen 
Masse oder +5V schalten, oder sollte ich sie frei hängen lassen?

2. Auch den AD-Wandler und die Analogen Pins brauch ich nicht. Sollte 
ich trotzdem eine Stromversorgung an die Pins AVCC / AREF und AGND 
anschließen, sie frei lassen oder woanders anschließen?

Ich hoffe ihr könnt mir helfen, danke im Voraus.
#3604482
Lesenswert?

Micha schrieb:
> 1. Ich brauche in diesem Fall keinen zusätzlichen Oszillator, mir reicht
> der interne Takt. Soll ich die Eingänge für den Oszillator nun gegen
> Masse oder +5V schalten, oder sollte ich sie frei hängen lassen?
Frei lassen, nicht beschalten.


> 2. Auch den AD-Wandler und die Analogen Pins brauch ich nicht. Sollte
> ich trotzdem eine Stromversorgung an die Pins AVCC / AREF und AGND
> anschließen, sie frei lassen oder woanders anschließen?
AVBB und AGND auf jeden Fall anschliessen. Sonst passieren tolle Dinge. 
Auch den 0.1uF Kondensator zwischen AVCC und GND nicht vergessen. Er 
kann nicht schaden, nur helfen. AREF kann offen bleiben.
Gast #3604502
Lesenswert?

Micha schrieb:
> Soll ich die Eingänge für den Oszillator nun gegen Masse oder +5V schalten

Das eine davon ist ein Ausgang - s. Datenblatt.

Bei solchen Anfängerfragen hilft oft ein Blick in bereits 
veröffentlichte Schaltung. Und nicht nur in eine, weil nicht jede 
veröffentlichte Beschaltung richtig ist. Hier im Forum werden in vielen 
Threads die Schaltunge diskutiert, so das sich Fehler schnell 
rauskristallisieren.
#3604529
Lesenswert?

Du solltest mal auf der Atmel Seite unter dem Controller schauen, den du 
verwenden willst. Dort findest du jede Menge PDF's und unter anderem 
auch die Apnote (weiß gerade nicht welche das ist), in der das Hardware 
Design beschrieben ist. Es stehen dort auch sehr deutliche 
Erläuterungen, sodass du dann auch den technischen Hintergrund viel 
besser verstehst.
#3604664
Lesenswert?

Micha schrieb:

> 1. Ich brauche in diesem Fall keinen zusätzlichen Oszillator, mir reicht
> der interne Takt. Soll ich die Eingänge für den Oszillator nun gegen
> Masse oder +5V schalten, oder sollte ich sie frei hängen lassen?

Zweite Grundregel der CMOS-Technik: keine offenen Eingänge!
Unbenutzte Portpins entweder auf Eingang mit internem Pullup oder auf 
Ausgang und Low-Pegel schalten.

Die Pins für den Quarz sind bei Verwendung des internen RC-Oszillators 
auch normale Portpins.

> 2. Auch den AD-Wandler und die Analogen Pins brauch ich nicht. Sollte
> ich trotzdem eine Stromversorgung an die Pins AVCC / AREF und AGND
> anschließen, sie frei lassen oder woanders anschließen?

Siehe oben: AVCC und AGND werden immer gebraucht, zB zur Versorgung der 
Treiber mit analogen Zweitfunktionen.

Und dann noch die erste Grundregel der CMOS-Technik: Zwischen jedes 
VCC-GND-Pärchen gehört ein 100n Abblockkondensator, wobei die Länge der 
Zuleitungen zu minimieren ist. Auch AVCC-AGND gehören dazu.

fchk
#3604786
Lesenswert?

Wichtig ist vor allen, dass du dir das Datenblatt zum jeweiligen 
Controller dazu nimmst. Da werden eigentlich alle deine Fragen 
beantwortet. Dann die  AVR042 und fürs Programmieren solltest du dir 
auch noch mal die AppNote AVR4027 anschauen.
Das kann nicht schaden.
Gast #4855414
Lesenswert?

Hallo Micha,

da es bisher nicht konkret angesprochen wurde:

Um die Taktquelle des 328 zu ändern musst du die fuse-bits umschreiben, 
da der µC sonst außerhalb des Arduino-Boards einen 16MHz-Quarz an den 
dafür vorgesehenen Eingängen erwartet und ohne diesen nicht anläuft.

Die fuse-bits wirst du allerdings nicht mit der Arduino-IDE 
umprogrammieren können, dafür brauchst du ein Programmiergerät für 
Atmel-AVR (z.B. einen originalen AVRISP MKII) und die passende Software 
(z.B. AVRDude - kostenlos).

Ich bin außerdem noch auf einen (allerdings englischen) Thread gestoßen, 
in dem von weiteren Fallstricken berichtet wird:

http://forum.arduino.cc/index.php?topic=24474.msg185950#msg185950

Du wirst auch die boards.txt-Datei der Arduino-Entwicklungsumgebung 
anpassen müssen (und wenn du einen fabrikneuen Uno anschließen willst 
wieder zurückändern müssen), um den neuen Takt des Prozessors anzugeben.
Gast #4855418
Lesenswert?

Hinweis schrieb:
> Du wirst auch die boards.txt-Datei der Arduino-Entwicklungsumgebung
> anpassen müssen (und wenn du einen fabrikneuen Uno anschließen willst
> wieder zurückändern müssen), um den neuen Takt des Prozessors anzugeben.

(Natürlich nur, wenn du den 328 weiterhin im Uno über USB programmieren 
willst. Natürlich kannst du das dann auch mit dem Programmiergerät über 
die ISP-Pins des Uno-Boards.)
Gast #4855431
Lesenswert?

Lothar M. schrieb:
> Arduino F. schrieb:
>> Falsch!
> Dieser Post hätte hilfreich sein können, wenn du gezeigt hättest, wie es
> "Richtig" gemacht werden könnte...
Nunja...
Wenn du möchtest...


Frage:
Wie brenne ich die Fuses in/mit der Arduino IDE?

Antwort:
1. ich wähle das gewünschte Board aus
2. ich suche den Knopf "Bootloader brennen"
3. ich drücke auf den Knopf "Bootloader brennen"

Und dabei ist es völlig egal, ob die Boarddefinition einen Bootloader 
vorsieht. Die Fuses werden geschrieben.

Besser so?

Und wie der Vorposter schon richtig sagte:
Dazu ist ein ISP Adapter von Nöten.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren