ATMEGA328-PU

OP #3179853
Lesenswert?

Hallo zusammen,

ich studiere Elektrotechnik an einer Uni im 2. Semester und würde gern 
nebenbei ein wenig mit Bauelementen basteln.

Nun plane ich mit einem Arduino Uno R3 den Controller zu beschreiben und 
anschießend auf einer Platine unabhängig vom Arduino zu betreiben. Um 
das  zu machen, suche ich jetzt eine Grundschaltung, mit der ich 
sozusagen starten kann. Hierzu habe ich folgende Anleitung gefunden: 
http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht

Sind die Pins immer gleich sprich die Reset Taste auf Pin 1 usw. ? oder 
kann ich mit der Anleitung und dem ATMEGA328-PU nichts anfangen? Habt 
ihr vielleicht eine bessere Anleitung als diese? Könnt ihr mir zum Start 
noch weitere Tipps geben?

Schöne Grüße
#3179876
Lesenswert?

Chris Sch schrieb:


> Sind die Pins immer gleich sprich die Reset Taste auf Pin 1 usw. ?

Hol dir das Datenblatt zu deinem spezifischen Prozessor (gits bei Atmel) 
und sieh da drinnen nach. Gleich am Anfang ist eine Zeichnung des µC mit 
allen Pins und daneben steht, welcher Pin welche Bedeutung (Bedeutungen) 
hat.


> ich studiere Elektrotechnik an einer Uni
Dann wirds Zeit, dass du lernst, dass es für dich für einen bestimmten 
IC nur eine einzige Bibel mit uneingeschränkter Autorität gibt: Das 
Datenblatt des Herstellers.
Mal abgesehen von Fehlern da drinnen (kommt vor, wenn auch selten), hat 
alles was da drinnen steht, den Status der 10 Gebote
OP #3180148
Lesenswert?

Hm ok, war etwas missverständlich formuliert. Ich meine das 
Beispielsweise so:

Die absolute Grundschaltung soll die folgende darstellen:
http://www.rn-wissen.de/images/0/09/800px-Avrtutorial_grundschaltung_mega32.gif

Nun frage ich mich, ob der ATMEGA328-PU ebenfalls so geschaltet werden 
muss, oder ob dieser z. B. diese "Verbindungen" nicht benötigt. 
Weiterentwicklung oder was auch immer für einen Grund...

Ich kann im Datenblatt solche Informationen nicht finden. Vielleicht bin 
ich auch einfach blind :) Hab das aktuelle Datenblatt mit um die 660 
Seiten.
Gast #3180174
Lesenswert?

1. Du öffnest das Datenblatt des ATMEGA328
2. Du liest, welche Pins beschaltet werden MÜSSEN (das sind in aller 
Regel alle Versorgungspins, der Reset und falls du den mal programmieren 
willst, MOSI, MISO und SCK).
3. Du kaufst dir einen AVRISP MKII (z.B.)
4. Du installierst AVRStudio (o.ä.)
5. Du schreibst ein Programm (z.B. PORTB = 0xFF; // Schatet PORTB high)
6. Du kompilierst
7. Du lädst das auf den µC
8. Du kontrollierst.
#3180184
Lesenswert?

Hi,
mal davon abgesehen, daß der Link nicht funktioniert:
Es reicht nicht das Datenblatt zu besitzen. Man muß es auch lesen.
Es steht garantiert drin, wie man den ATmega beschalten muß. OK, 
vielleicht steht das nicht direkt darin, aber durch Lesen des 
Datenblatts erschließt sich Dir das schon.
Ansonsten gehe einfach mal davon aus, daß die Prinzipschaltung auch für 
diesen AVR gilt.
Übrigens steht die Anschlußbelegung auf Seite 2.

Gruß
Andreas

PS: Die Bibel dürfte auch min. 600 Seiten haben. Das ist hier nicht viel 
anders. Es gibt übrigens auch ein Inhaltsverzeichnis.
(Firma: guloshop.de) #3180193
Lesenswert?

Electronics'nStuff schrieb:
> Ach ja, dein Link ist  ziemlich nutzlos..

Das liegt aber an roboternetz.de. Anscheinend will jene Webseite nicht, 
dass man direkt auf Bilder verlinkt, die dort gespeichert sind. Wenn 
also als Link-Referrer z.B. die Webseite mikrocontroller.net eingetragen 
ist, zeigt der Server von roboternetz.de einfach ein Ersatzbild.

Ich finde das völlig in Ordnung, denn die Webseiten leben von Werbung 
und haben es natürlich lieber, wenn man sie auf normalem Weg anschaut.

Man kann sich aber damit behelfen, im Browser die Referrer zu 
deaktivieren. Oder man kopiert den Link übers Clipboard und ruft das 
Bild in einem neuen Browserfenster auf.

Zum Bild:
Es wird die Anschlussbelegung für einen Mikrocontroller mit 40 Pins 
gezeigt. Der ATmega328 hat aber 28 Pins. Übereinstimmungen wären da eher 
Zufall...
OP #3180355
Lesenswert?

http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht

Da die erste Schaltung ist die von mir oben erwähnte Schaltung.

Ihr bringt mich nicht weiter... :) Der eine sagt die wäre gleich, der 
andere sagt es kann ja garnicht sein. Und wieder nen anderer sagt, ich 
soll die Augen im Datenblatt aufmachen... Den Quarz hab ich schonmal 
erfolgreich angeschlossen... aber Reset finde ich nicht ...
#3180369
Lesenswert?

Chris Sch schrieb:
> http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht
>
> Da die erste Schaltung ist die von mir oben erwähnte Schaltung.
>
> Ihr bringt mich nicht weiter... :) Der eine sagt die wäre gleich, der
> andere sagt es kann ja garnicht sein.

Die Sache ist die, dass du dir überlegen musst, was denn eigentlich eine 
'Grundschaltung' ausmacht.

Dass du die nicht Pin für Pin von einem Mega32 auf einen Mega328 
übernehmen kannst, ist schon klar. Aber du kannst sie konzeptionell 
übernehmen! Was wird wohl das Minimum dessen sein, was mindestens 
angeschlossen werden muss. Da ist mal mit SIcherheit alles dabei, was 
nach Versorgungsspannung stinkt. Reset ist auch immer gut. Und über den 
ISP Anschluss wirst du den µC ja auch programmieren wollen - also werden 
auch die notwendig sein.

Was brauchst du MINDESTENS für eine Grundschaltung. Und soviel 
nachdenken ist einem Studenten der Elektrotechnik zuzumuten

> erfolgreich angeschlossen... aber Reset finde ich nicht ...

Dann gehst du eben nochmal den M328 Pin für Pin in der Pin-zeichnung 
durch, bis dass du ihn hast.
#3180385
Lesenswert?

Hallo!

Also, hier mal ein paar Anweisungen für ATmega88,168,328

1. Reset über einen Button an GND
2. VCC und GND anschließen mit 100nf Kondensator dazwischen
3. das gleiche für AVCC und GND
4. MISO, MOSI, RESET, SCK für Programmer beschalten; siehe: 
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

Das sollte dir mal fürs erste helfen, aber du wirst nicht darum 
herumkommen, das Datenblatt zu lesen.
Angehängte Dateien:
OP #3180392
Lesenswert?

Karl Heinz Buchegger schrieb:
>> erfolgreich angeschlossen... aber Reset finde ich nicht ...
>
> Dann gehst du eben nochmal den M328 Pin für Pin in der Pin-zeichnung
> durch, bis dass du ihn hast.

Mir ist schon klar wo welcher Pin ist, aber nicht was für Bauteile dran 
müssen. Woher weiß ich, dass man einen 22pF mit dem Quarz verbauen muss? 
Woher weiß ich, dass ich ca. 10 k ohm für den Reset Knopf brauche? 
(Wobei das logisch ist ;)).. Naja ich denke ihr wisst was ich meine...
#3180406
Lesenswert?

Reset hat einen internen Pull-up. Siehe Datenblatt! (typical 
characteristics)

Du sollst den Reset ja nicht mit GND kurzschließen, sondern über einen 
Button, sodass er auf GND geht, wenn du draufdrückst.

Glaub mir, ich habe schon einiges mit Atmegas gebaut (und bin 
Informatiker).

22pf Für den Quarz steht auch im Datenbladd unter Punkt 9 "System 
clock".

Aber als Elektrotechniker solltest du schon die Datenblätter lesen!
Gast #3180408
Lesenswert?

> Man braucht ja noch nen GND mit nem hohen Widerstand z.b. 10k
Ne nach VCC. Reset ist Low-aktiv. Nennt sich Pullup.
Ist schon im IC. Ich glaube so 30k. Es ist aber nicht schlecht den noch 
ein bischen niederohmiger zu machen (Störungssicherheit).

> Woher weiß ich, dass man einen 22pF mit dem Quarz verbauen muss?
Hängt vom Quarz ab bzw. der sonstigen Beschaltung und parasitären 
Kapazitäten.

> VCC und GND anschließen mit 100nf Kondensator dazwischen
> das gleiche für AVCC und GND

@vivus
Bitte Zehn mal auf ein Blatt Papier schreiben und über deine Lötstation 
hängen wobei 100nf Kondensator dazwischen mit dickem roten Stift 
geschrieben wird.
Persönliche Seite #3180431
Lesenswert?

Chris Sch schrieb:
> Karl Heinz Buchegger schrieb:
>>> erfolgreich angeschlossen... aber Reset finde ich nicht ...
>>
>> Dann gehst du eben nochmal den M328 Pin für Pin in der Pin-zeichnung
>> durch, bis dass du ihn hast.
>
> Mir ist schon klar wo welcher Pin ist, aber nicht was für Bauteile dran
> müssen. Woher weiß ich, dass man einen 22pF mit dem Quarz verbauen muss?
> Woher weiß ich, dass ich ca. 10 k ohm für den Reset Knopf brauche?
> (Wobei das logisch ist ;)).. Naja ich denke ihr wisst was ich meine...

Quarz: Schau die Lastkapazität im Datenblatt des Quarzes nach (meistens 
10 bis 32 pF oder sowas). Im AVR-Datenblatt steht im Abschnitt über die 
System clock, welche Lastkapazität der AVR darstellt (afair waren das 
meist <10 pF).
Du willst mit der Lastkapazität im mittleren Bereich des spezifizierten 
Bereichs landen, also packt man meistens 15…22 pF an den Quarz. Je nach 
Aufbau (Lochraster, Fädeldraht, was auch immer) kann auch schon die 
parasitäre Kapazität des Aufbaus genügen.

ALLE Versorgungspins von digital-ICs werden mit 100n keramisch (zur Not 
auch Folie, wird beides funktionieren) abgeblockt. Müsstest du 
eigentlich schon wissen ;)

AVRs mit ADC haben noch einen AVCC Pin. Wenn du den ADC wirklich präzise 
benutzen willst, sollte dieser durch ein LC-Tiefpass (10µh/100n passt 
meist, siehe auch Atmel Application Note AVR042) mit VCC verbunden 
werden.
AREF wird mit 100n normal abgeblockt, kann auch offen gelassen werden.

Reset kann man offen lassen oder mit 10K gegen Vcc beschalten. In stark 
EMV-belasteten Umgebungen kann man hier den RESET Pin auch noch mit 100n 
abblocken.

Je nach Versorgung schadet eine 10µH Drossel in der Gesamtzuleitung für 
Vcc auch nicht.

Vieles an der Standardbeschaltung ist meistens nicht notwendig bzw. 
funktioniert es auch ohne. Ob es 100 % verlässlich und stabil läuft ist 
dann eine andere Frage. Hier vielleicht auch der Einwurf, dass die 
Herstellerempfehlungen sich genau darauf beziehen: 100 % stabile 
Operation egal was der AVR macht.

Besonders häufige Wechsel in und aus den Sleep-Modi sind btw. eine der 
etwas anspruchsvolleren Sachen für die Versorgung. Da geht's dann 
meistens nicht mehr ohne Abblockkondensatoren.


Und nochmal den Hinweis auf AVR042, das ist praktisch allgemeingültig.
Das Datenblatt sind deine 10 Gebote und die Appnotes die ersten paar 
Bücher Mose. Oder so.
#3181260
Lesenswert?

Chris Sch schrieb:

> Passt denn der Rest?

Was du noch nicht weißt:
Die 100n Kondensatoren müssen jeweils dicht an die Versorgungspins des 
µC ran. Genau deshalb ist zb der Pin 'Vcc' (Pinnummer 7) direkt neben 
einem GND Pin (Pinnummer 8) ... damit man da einen 100nF Kondensator 
direkt an den Pins hinpappen kann. Und aus genau dem gleichen Grund ist 
auf der anderen Seite vom µC der AVcc Pin direkt neben einem weiteren 
GND Pin ... ebenfalls damit man einen Kondenstor hinmachen kann. Deine 
Zusammenführung der beiden GND Pins da unten im Schaltplan ist zwar 
elektrisch ok, und wenn du das Layout machst und berücksichtigst, dass 
die 100nF dicht an den IC ran müssen, dann gibt es daran auch nichts 
auszusetzen. Aber wissen musst du es.

Was solls denn eigentlich werden? Eine eigene Platine oder ein Aufbau 
auf einem Steckbrett?

Die Sache ist die: So ein µC lebt und stirbt damit, dass man externe 
Hardware anschliesst. D.h. nach der Grundschaltung ist eines der 
wichtigsten Dinge, dass du an die Port-Anschlüsse rankommst, bzw. da ein 
bischen Experimentierhardware anschliessen kannst. Mit einer einzelnen 
LED und einem popeligen Taster alleine ist die Anzahl der Experimente 
.... überaschaubar :-)

An ARef würde ich noch einen 100nF nach GND anschliessen um die 
Referenzspannung des AD-Wandlers zu stabilisieren.

Was ich noch machen würde: Wenn das eine Platine wird: Eine Strom-da 
Anzeige in Form einer Led (+220 Ohm) von Vcc nach GND. Das gibt immer 
ein beruhigendes Gefühl, wenn auf der Platine erst mal eine LED 
leuchtet, die anzeigt, dass das Netzteil eingeschaltet ist.

Und ja. ISP würde ich auf jeden Fall vorsehen.
> weil ich den Controller mit einem Arduino Uno R3 (s.o.)
> beschreiben will :)
Aha. Und wie macht der Uno das? Telephatisch?
Oder meintest du, dass du den µC dauernd umsteckst?
Denn das wird dir ganz schnell ganz gehörig auf den Nerv gehen. 
Abegesehen davon, dass die IC-Beinchen da ihre ganz besondere Freude 
damit haben, wenn man sie mit dem Schraubendreher dauernd aus einem 
Sockel raus holt und in einen anderen reinpfriemelt. Und das viele 100 
mal. Denn eines kannst du dir abschminken: Das deine Programme auf 
Anhieb funktionieren.
OP #3182954
Lesenswert?

Vielen Dank für deine ausführliche Hilfestellung  Karl Heinz! Ich werde 
deine Tipps auf jeden Fall berücksichtigen.

Zum Thema was es werden soll:

Ich will mit Hilfe eines Schiebereglers (74HC 595) am Pin des Atmegas 
ein Darlington Array (ULN 2003A) nutzen, um 8 Relais mit 5V zu schalten. 
Und dann mal weiterschaun... :)

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