Mit dieser Anleitung wird gezeigt, wie man einfache Programmer für den Einstieg in die Welt der Mikrokcontroller baut.

Aufbau eines günstigen Programmers für die parallele Schnittstelle.


             13
        25  O
     .----O  12
     |  24  O--------.
     +----O  11      |   4x 470 Ohm
     |  23  O-----.  |
     +----O  10   |  |     ___
     |  22  O-----)--)----|___|---O MISO
     +----O  9    |  |     ___
     |  21  O-----)--)----|___|---O RESET
     +----O  8    |  |
     |  20  O     |  |
     +----O  7    |  |     ___
     |  19  O-----(--(----|___|---O MOSI
     +----O  6    |  |     ___
     |  18  O-----(--(----|___|---O SCK
  .--+----O  5    |  |
  |     17  O     |  |
  |       O  4    |  |
  |     16  O     |  |
  |       O  3    |  |
  |     15  O-----'  |
  |       O  2       |
  |     14  O--------'
  |       O  1
  |         O
  |
  '-------------------------------O GND

 

Die Materialkosten liegen bei ca. 1 Euro.

Es werden lediglich 4 Widerstände und ein 25pol. Sub-D Stecker, sowie ein wenig Litze benötigt.

Die Widerstände können etwas variieren. Sie sollten zwischen 100 Ohm und 1 kOhm liegen.

 

Dieser Programmer ist geeignet, kurz und schnell einen µC zu flashen. Mit ihm kann man gelegentlich Programme flashen und kleine Schaltungen realisieren, ohne einen teuren Programmer kaufen, oder einen komplexen Programmer bauen zu müssen.

 
Wenn man noch keinen Programmer hat, ist der Parallelport-Programmer der 1. Schritt.
Mit seiner Hilfe lässt sich mit einem älteren PC ein USB-Programmer bauen, der auch an modernen Computern ohne Parallelport betrieben werden kann.

AtTiny45-µController als USB-Programmer


                  .-----+-----------------------.
                  |     |                       |
                  |    .-.       .--------------)----O Reset
                  |    | |1k5    |              |
                  |    | |       |  .--------.  |
(+) O-------------'    '-'       '--O # \/   O--+----O (+)
                        |    ___    |        |
 D- O-------------+-----)---|___|---O        O-------O SCK
                  |     |    ___    | Tiny45 |
 D+ O-------------)-----+---|___|---O        O-------O MISO
                  |     |    68     |        |
(-) O--------.   _|_   _|_     .----O        O-------O MOSI
             |    A '   A '    |    '--------'
             |   /_\   /_\ ZD  |                  .--O (-)
             |    |     |  3V6 |                  |
            ===  ===   ===    ===                ===

  • 1x Tiny45
  • USB-B Buchse für Printmontage
  • 2x 68 Ohm Widerstand
  • 1x 1.5 kOhm
  • 2x 3.6V Zenerdiode

Steuerprogramm des Mikrocontrollers

Download Intel-HEX Files...
Fuses:   hfuses:    5D hex
 lfuses: E1 hex
(Erst Programm flashen, dann Fuses setzen!)

Der hier gezeigte TinyUSB ist angelehnt an den USBasp-Programmer von Thomas Fischl. (Homepage)

Der Programmer von Thomas Fischl basiert auf der V-USB Lib und arbeitet mit einem AtMega8/88. Der Programmer ist komplexer, als der TinyUSB. Er lässt sich mit dem oben gezeigten Parallelport-Programmer ebenfalls selber flashen. Somit lässt sich dieser Programmer ohne zusätzliche kommerzielle Geräte herstellen.

 

Programmer an den µC anschließen...


                    +5V
                     #
           .------.  |
 Reset <---o* \/  o--'
           o Tiny o---> SCK
           o  13  o---> MISO
       .---o      o---> MOSI
       |   '------'
      ===


           .------.
 Reset <---o* \/  o
           o      o
           o      o
     +5V   o      o
      #    o Mega o
      |    o  8   o
      '----o      o
      .----o      o
      |    o      o
     ===   o      o---> SCK
           o      o---> MISO
           o      o---> MOSI
           o      o
           o      o
           '------'


Um den µC zu programmieren, müssen die entsprechenden Pins des Programmers mit dem Controller verbunden werden. (inkl. GND/Masse)

Der Controller benötigt eine Spannungsversorgung. (Beim USB-Programmer kann die +5V vom USB verwendet werden!)


 
Nachdem man den µC angeschlossen hat, muss man ihn natürlich auch programmieren. Dafür benötigt man natürlich noch Software. Hierfür, würde ich AVR-Dude empfehlen.

Beide Programmer lassen sich mittels avrdude ansteuern.

Parallelport-Programmer:
avrdude -p [CPU] -c stk200 -U flash:w:file.hex:i"

TinyUSB-Programmer:
avrdude -p [CPU] -c t45 -U flash:w:file.hex:i"

Fuses setzen:
avrdude -p [CPU] -c [programmer] -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m"

Wenn man avrdude lieber mit Oberfläche (GUI) bedienen möchte, bietet sich Burn-O-Mat an.

 

Hinweis: Der Nachbau sollte nur von erfahrenen Bastlern gemacht werden!
Ich weise darauf hin, dass ich für Schäden die entstehen können, nicht hafte!
Es zwingt einen keiner die Schaltung nachzubauen!