Forum: Mikrocontroller und Digitale Elektronik Anfänger: Standalone ATmega328 - Anschlussfrage


von Micha (Gast)


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.

von Georg G. (df2au)


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.

: Bearbeitet durch User
von Micha (Gast)


Lesenswert?

Ok, danke für deine Hilfe! :)

von Wolfgang (Gast)


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.

von spess53 (Gast)


Lesenswert?

Hi

>Das eine davon ist ein Ausgang - s. Datenblatt.

Wenn der interne Oszillator aktiv ist, sind die XTAL-Pins ganz normale 
Port-Pins (PB6 und PB7).

MfG Spess

von F. F. (foldi)


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.

von Frank K. (fchk)


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

von F. F. (foldi)


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.

von Micha (Gast)


Lesenswert?

Vielen Dank für eure Antworten, das hat mir geholfen!

von Hinweis (Gast)


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.

von Hinweis (Gast)


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.)

von Einer K. (Gast)


Lesenswert?

Hinweis schrieb:
> Die fuse-bits wirst du allerdings nicht mit der Arduino-IDE
> umprogrammieren können,

Falsch!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Einer K. (Gast)


Angehängte Dateien:

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.

von F. F. (foldi)


Lesenswert?

Micha schrieb:
> Vielen Dank für eure Antworten, das hat mir geholfen!

Also inzwischen kann er es oder er lässt es.
Sein letzter Post ist vom 05.04.2014.

von Einer K. (Gast)


Lesenswert?

F. F. schrieb:
> Also inzwischen kann er es oder er lässt es.

Nicht unbedingt "oder".
Evtl. gehört da ein "und" hin.
.. ich weiß es nicht ..

von F. F. (foldi)


Lesenswert?

Wie auch immer. Man muss nicht mehr nach fast drei Jahren auf solche 
Anfängerfragen antworten, zumal er sich anschließend bedankte, mit den 
Worten, dass ihm das geholfen hätte.

von Hinweis (Gast)


Lesenswert?

Richtig, bin auf den vor mir verfassten (inzwischen gelöschten) Post 
reingefallen ohne aufs Datum zu achten.

von F. F. (foldi)


Lesenswert?

Das passiert mir auch ab und zu, wenn ein Vorposter so einen alten 
Beitrag beschreibt.

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.