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
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
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.
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.
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.
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...
Markus Weber schrieb: > 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. Ja, wenn sie zusätzlich noch einen Link zum Bild auf der Seite hinterlassen würde, dann wäre es oke.
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 ...
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.
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.
Stefan S. schrieb: > 1. Reset über einen Button an GND hm wo hast du diese Information denn her? Im Grund wäre das falsch, da es zu einem Dauerreset führen würde. Man braucht ja noch nen GND mit nem hohen Widerstand z.b. 10k
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...
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!
> 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.
Hier kannst du auch schauen: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment Da sind auch einige Sachen geklärt.
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.
Ich hab mal eine Schaltung gezeichnet. Habe einen Taster zum einlesen, der dann eine LED anmachen soll. (Wie in der Anleitung s.o.) Passt das bisher? Würdet ihr etwas hinzufügen/entfernen? // Schaltung versehentlich 2x hochgeladen. Kann man das irgendwie löschen?
ISP habe ich extra nicht eingezeichnet, weil ich den Controller mit einem Arduino Uno R3 (s.o.) beschreiben will :) Allerdings wäre es vielleicht garnicht mal so verkehrt, das doch zutun. Schaden kanns wohl nicht.. :) Passt denn der Rest?
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.
Strom-da-LEDs gehen mir meistens tierisch auf den Sack, die meisten Programmier-Adapter signalisieren das auch, wenn man's wissen will. Beim AVR ISP Mark II leuchtet eine LED deutlich grün, wenn das Target Strom im zulässigen Bereich hat. Bei Stromanschluss über Schraubklemmen schadet eine Verpolschutzdiode nicht.
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... :)
Schieberegler heißen die Eingabegeräte auf Mischpulten, du meinst ein Schieberegister. Die richtigen Teile hast du aber, eventuell noch nötige Hilfestellungen sind samt und sonders im hiesigen Wiki zu finden :)
Jep, wollte nur auf Karls Heins Frage antworten, was ich noch weiter mit vorhaben :) Werde bei Fragen aber hier im Thread schreiben :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.