sitemap link mailform link home

AVR-Programmer selbst bauen

Programmiergeräte für ATMEL-Prozessoren kann man sehr leicht selbst bauen. Mit dem entsprechenden Programmierkabel (und dem passenden Micromatch-Stecker) kann damit auch der Soccerbot programmiert werden.

In-System-Programmierung (ISP)

Die In-System-Programmierung (ISP) ermöglicht das Programmieren einer Logischen Schaltung direkt im Einsatzsystem. Dazu wird meist eine einfache serielle Verbindung genutzt, z. B. JTAG oder SPI. Der Vorteil der In-System-Programmierung ist, dass der zu programmierende Schaltkreis nicht mehr aus dem Zielsystem entfernt werden muss. Er wird weniger mechanisch belastet und der gesamte Programmiervorgang ist schneller. Quelle: Wikipedia

Die ATMega128-CPU des Soccerbot Controllers ist fest verlötet, so dass ohnehin nur die In-System-Programmierung möglich ist.

Die einfachste Variante für einen AVR-Parallelport-Programmer könnte so aussehen:

Programmer

Man benötigt natürlich noch ein 25-poliges D-SUB-Kabel und ein passendes Programmierkabel.

Während des Programmiervorgangs über den PC/Parallelport muss die Betriebsspannung des Zielsystems - also des Soccerboards - eingeschaltet sein, da dieser einfache Programmieradapter keine +5V-Spannung liefert!

Weiter führende Informationen gibt es hier:

http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm

http://avr.15.forumer.com/a/super-simple-parallel-port-programmer-ssppp_post960.html

http://elecrom.wordpress.com/2007/10/15/make-your-own-ultra-simple-universal-avr-programmer/

http://rumil.de/hardware/avrisp.htm


Schaltplan eines universellen AVR-Programmers für den Parallelport:

Schaltplan AVR Programmer

Der Schaltplan kann mit Rechtsklick + "Grafik anzeigen" vergrößert dargestellt werden.

Dieser kleine Adapter unterstützt 6- und 10-polige ISP-Schnittstellen für AVR-Prozessoren:

Belegung der ISP-Schnittstelle:

10-polig6-polig
1 MOSI
2 VCC
3 - (*)
4,6,8,10 GND
5 RESET
7 SCK
9 MISO

1 MISO
2 VCC
3 SCK
4 MOSI
5 RESET
6 GND

 

 

 

 

 

 

* Einige Programmiergeräte unterstützen am Pin 3 eine LED (nicht ATMEL-Standard. Im Original von ATMEL ist Pin 3 als N/C (not connected) festgelegt.

 


Platinen-Layout mit EAGLE: links Bestückungsseite, rechts "Kupferseite"

Bestückungsseite     Kupferseite

Die Grafiken können mit Rechtsklick + "Grafik anzeigen" vergrößert dargestellt werden.

Download der Eagle-Dateien.


Das Außenmaß der Platine beträgt 60 x 55 mm. Mit Rechtsklick + "Grafik speichern unter" kann das Platinenlayout auf dem PC abgespeichert werden.

Ich stelle meine Platinen zu Hause selbst her. Dafür bestelle ich bei Conrad fotopositiv beschichtetes Platinenmaterial von Bungard.

Zuerst muss das rechte Bild (der Kupferseite) im PC gespiegelt werden. Dazu empfiehlt sich ein kostenloses Grafikprogramm wie z.B. GIMP. Dort kann man das Bild dann auch im Maßstab 1:1 ausdrucken (z.B. mit dem Tintenstrahldrucker auf spezielle Overhead-Folie). Danach wird die Platine mit der aufgelegten Overhead-Folie belichtet. Dafür benötigt man UV-Licht - ein sogenannter Gesichtsbräuner ist da die ideale Lösung. Diese Teile gibt es für ca. 20 € bei Ebay.
Nach dem Belichten wird entwickelt und geätzt. Schließlich müssen noch die Bohrung gemacht werden. Der Durchmesser der Bohrungen hängen natürlich von den verwendeten Bauelementen ab. Die Pins der Wannenbuchsen haben 0,9 mm und die "Beine" der Widerstände nur 0,6 mm Durchmesser. Der D-SUB-Connector (25-polig) hat Pins mit 0,7 mm Durchmesser.

Die Platinenherstellung werde ich demnächst noch auf einer eigenen Seite dokumentieren.

Die beiden Buchsen CON 1 und CON 2 sind sogenannte Wannenbuchsen. Es muss beim Einbau auf die Richtung geachtet werden. Pin 1 ist auf der Kupferseite gekennzeichnet. Die Pads aller Bauteile sind gegenüber den Standard-Bibliotheken von mir vergrößert worden. Das erleichtert die Handfertigung (Bohren und Löten). Mit dem Eagle-Skript drill-aid.ulp (Aufruf: run drill-aid.ulp) wurden die Bohrungen der Pads auf 0,3 mm verkleinert. Das verbessert die Zentrierung beim Frei-Hand-Bohren (-:


Im Programmers Notepad gibt es eine Möglichkeit, ohne zusätzliche Software die ISP-Programmierung des ATMega128 zu starten. Dazu wird das im WinAVR-Paket (bzw. in der QFix-Software) enthaltene Programm AVRDUDE gestartet. Um diesen Eigenbau-Programmer nutzen zu können muss noch einiges konfiguriert werden.

Zu Beginn ist es daher leichter und sicherer, eine "externe" Software zu nutzen.

Eine geeignete Programmier-Software ist "AVR Burn-O-Mat".

Download-Link

Diese Software ist lediglich eine GUI für das kommandozeilen-orientierte Brennprogramm AVRDUDE:

 

AVR8BurnOMat

Hier muss "BASCOM SAMPLE PROGRAMMING CABLE" ausgewählt werden.

 

ACHTUNG: Bei Windows XP muss erst einmal ein Treiber für den Parallelport installiert werden:

In C:\WinAVR\bin liegt die Batch-Datei install_giveio.bat.

Diese Datei muss ausgeführt unbedingt werden.
Bei Windows 7 oder Vista konnte ich es bisher noch nicht testen...

Weitere Informationen zu AVRDUDE:

http://www.nongnu.org/avrdude/user-manual/avrdude_19.html#Using-the-parallel-port


ACHTUNG:

Die Binärdateien, die in den Flash des Soccerbot geladen werden, haben die Dateiendung *.bin. Es sind RAW-Dateien. Dies muss beim "Brennen" mit AVR Burn-O-Mat unbedingt ausgewählt werden, da die Dateien ansosnten als "0 Byte" identifiziert werden:

AVR Burn-O-Mat


.

 

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »