AVR Einstieg – Die Grundausrüstung

Mikrocontroller und deren Programmierung sind ein sehr interessantes Thema. Nur sollte gut durchdacht sein, was man bestellt, wenn man den AVR Einstieg plant, sonst bestellt man gerne mehrmals. Dieser Artikel und die daran Anknüpfenden beziehen sich auf den Mikrocontroller ATmega328P-PU aus dem Hause Atmel.

Was man grundsätzlich braucht:

  • Einen Rechner, an dem man Programmieren kann.
  • Einen Programmieradapter, dass der Code auf den Controller übertragen werden kann.
  • Einen Grundaufbau, also Beschaltung des Mikrocontrollers.

Rechner zum Programmieren

Atmelstudio Image
Quelle: atmel.com

Dass ein funktionsfähiger Rechner vorhanden ist, setze ich an dieser Stelle einfach mal voraus. Was nun noch zum Programmieren benötigt wird, ist die Software. Hier kann ich jedem Einsteiger uneingeschränkt das Atmel Studio empfehlen. Es ist kostenlos verwendbar und einfach bei google.de zu finden. Einfach runterladen, installieren und der erste Schritt ist schon erledigt.

Programmieradapter

Diamex-ALL-AVR-ISP-Programmer[1]
Quelle: diamex.de
Damit der erstellte Code auf den Mikrocontroller übertragen werden kann, wird noch ein sogenannter ISP-Programmer benötigt. Hier gibt es eine Fülle auf dem Markt zu kaufen. Ich selbst verwende den Diamex – ALL-AVR ISP-Programmer der sich ohne jegliche Probleme mit dem Atmel-Studio verwenden lässt. Einen Nachteil hat dieser Programmer allerdings; er hat keinerlei Gehäuse und man muss aufpassen, wo man ihn ablegt. Schnell hat man hier aus Versehen einen Kurzschluss erzeugt und die Platine ist hin. Die Firma Diamex hat unter anderem auch noch günstigere Programmer, die ein Gehäuse besitzen und laut Herstellerangaben auch mit dem Atmel-Studio verwendbar sind. Interessant wäre hier z.B. der USB ISP-Programmer für Atmel AVR, Rev.2.

Grundaufbau

Hier hast du jetzt die Qual der Wahl: Lochrasterplatine und Löten oder Steckboard. Ich persönlich bin vom Steckboard wieder abgekommen, da ich zu viele Probleme mit schlechten Kontakten o.ä. hatte. Kann aber auch gut sein, dass ich nur ein Montagsmodell erwischt hatte. Falls du wie ich auf Lochrasterplatine aufbauen willst, benötigst du auf jeden Fall IC-Sockel und am Besten noch eine IC-Pinzette. Das erhöht die Lebensdauer der Controller ungemein.

Spannungsversorgung

Um den Mikrocontroller in Betrieb zu nehmen benötigst du eine Spannungsversorgung. Hier muss aber nichts extra gekauft werden, das kann ganz unproblematisch über die Leitungen des Programmers erledigt werden. Jeder spannungsversorgende Anschluss sollte hierbei mit einem 100nF Abblockkondensator beschaltet werden, um die entstehenden Spikes in der Versorgungsspannung zu reduzieren. Liest man sich die AppNote (AVR042) von Atmel bzgl. Spannungsversorgung von Mikrocontrollern durch, sollte man zusätzlich noch eine Induktivität davor hängen, um einen zusätzlichen Filtereffekt zu erzielen. In vielen Foren wird allerdings geraten, dies nur bei der Versorgung des Analogteils zu machen, also bei AVCC. Willst du jedoch den Mikrocontroller auch extern verwenden, benötigst du eine ISP unabhängige Spannungsvrsorgung. Hierzu kann man am einfachsten einen sog. LM7805 verwenden. Die Grundschaltung siehst du hier im Bild. Am Eingang der Schaltung kann eine Gleichspannung angelegt werden, die bis zu 35V hoch ist und am Ausgang werden die gewünschten 5V ausgegeben.

7805 Spannungsregler
Grundschaltung eines LM7805.

Resetpin

Oft diskutiert ist auch die Beschaltung des Reset-Pins mit einem Pull-Up Widerstand. Laut Datenblatt S. 73 ist der allerdings nicht nötig, da bereits ein Interner verbaut ist. Wirft man hier allerdings wieder einen Blick auf die o.g. AppNote, so schaltet man einen Widerstand mit einer antiparallelen Diode von VCC zu Reset und von dort einen Kondensator gegen Masse. Meine Meinung hierzu: Keine externe Beschaltung oder auch nur ein Pull-Up Widerstand reichen für Hobbyanwendungen völlig aus.

Taktgeber (Quarz)

Wenn du den Mikrocontroller nicht mit dem internem Takt verwenden willst, solltest du dir einen Quarz mit den dazugehörigen 22pf Kondensatoren besorgen. Hier empfehle ich ein sog. Baudratenquarz. Dadurch wird bei späterer Übertragung wie z.B. seriell, die Fehlerrate stark reduziert, da der Takt ein Vielfaches der auswählbaren Baudrate ist.

Programmieranschluss

Das Wichtigste überhaupt ist es, den Programmieranschluss des Atmegas nach Außen zu führen. Hierfür eignet sich am besten eine 6 pol. Wannenstecker-Buchse. Hier werden die SPI-Anschlüsse MISO, MOSI, SCK, RESET, VCC und GND angeschlossen um den Controller in Verbindung mit dem Programmer beschreiben zu können. [weiterführender Link zum Thema SD-Karte und SPI]

LEDs und Widerstände

Um sein erstes Programm und auch die Schaltung testen zu können, sollten auch ein paar Widerstände und LEDs verbunden werden. Außerdem nicht vergessen, einen Reset-Taster. Ich hatte vorerst keinen dran und war später froh als ich ihn ergänzt habe. Wenn es mal hängt oder man den Programmablauf neustarten möchte, einfach draufdrücken.

Schaltplan des Grundaufbaus

Hier der Schaltplan, wie ein solcher Grundaufbau aussehen könnte:Atmega328 Beschaltung

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.