Programmieren (flashen) eines Atmega386 mit einem Arduino Uno

Mit einigen wenigen Bauteilen um wenig Geld (3-5 Euro) kann man auf einer Steckplatine oder Lochrasterplatine mit einem Atmega328 Prozessor einen "Uno" aufbauen. Zum flashen des Atmega braucht man aber, wie auch beim Attiny, einen Uno als Arduino-ISP (In System Programmer), mit dem man den Bootloader (der Bootlader macht den Atmega328 kompatibel zum Uno) und Sketches auf den Atmega brennen kann.


Schaltungsaufbau:

Nachfolgend der Verdrahtungsplan, wobei Reset-Taster und LED zum flashen nicht erforderlich, aber für das erste Testprogramm ganz nützlich sind.


Verbindung Arduino Uno -> Atmega328:

Arduino-Pin               Atmega-Pin

        10           ->          1 (Reset)

        11           ->          17

        12           ->          18

        13           ->          19


Für den Testaufbau verwende ich folgende Komponenten:

  • 1 Prozessor Atmega328
  • 1 Quarz 16 MHz
  • 2 Kondensatoren 22 pF
  • 1 Programmierstecker
  • 1 Arduino Uno

optional:

  • 1 Resettaster
  • 1 LED
  • 1 Widerstand 220 Ohm


Flashen:

Auf den Uno ist das Programm "ArduinoISP", welches unter "Datei - Beispiele" zu finden ist, hochzuladen. Weiters ist nun in der Arduino-IDE unter "Werkzeuge - Programmer"  bzw. unter "Tools - Programmer" die Vorwahl "Arduino als ISP" einzustellen.

Nun ist bei erstmaliger Verwendung eines neuen Atmega328-Chips der Bootloader auf den Atmega zu übertragen. Das geschieht in der Arduino-IDE über "Werkzeuge - Bootloader brennen" bzw. über "Tools - Bootloader installieren".

Ist die Installation des Bootloaders erfolgreich, erscheint in der Statusanzeige der Arduino-IDE die Meldung: "Bootloader wurde installiert".

Nun kann über den Uno ein in der Arduino-IDE erstellter Sketch auf den Atmega328 hochgeladen werden. Dazu noch einmal die Einstellungen in der Arduino-IDE unter "Werkzeuge"  bzw. unter "Tools":

  • Platine: Uno
  • Port: COMx des Unos
  • Programmer: Arduino als ISP


ACHTUNG: Beim Betätigen der Taste "Hochladen" muss die SHIFT-Taste gedrückt werden!! Im Feld daneben erscheint dabei die Meldung "Hochladen mit Programmer"!


Ist der Atmega mit dem richtigen Programm geflashed, kann der Uno abgesteckt werden. Aber solange der Uno angesteckt ist, muss auch der Uno z.B. über das USB-Kabel spannungsversorgt bleiben, auch wenn der Atmega bereits über eine eigene Spannungsversorgung verfügt. Ansonsten läuft das Programm auf dem Atmega nicht (Reset-Zustand).


Eine Anleitung zum Flashen findet ihr z.B. auch hier: www.frag-duino.de/index.php/maker-faq/35-programmieren-eines-atmel-atmega-328p-mit-dem-arduino-uno-bootloader