ISP Programmierung
Installation und Anpassung des ISP-Brenners
Ein kostengünstiger und weit verbreiteter Brenner ist der ISP-Brenner "mySmartUSB light", der für ca. 16,-€ beschaffbar ist. Die aktuellen Bedienprogramme zum USB-Brenner können vom Hersteller oder Verkäufer über das Internet herunter geladen werden: http://shop.myavr.de/index.php?sp=pages/programmer.htm
Wie am Bild erkennbar, wird noch ein Adapter benötigt, der den genormten zweireihigen Stecker auf einen einreihigen Stecker umsetzt. Dieser Adapter basiert auf einem Vorschlag von Roland Walther, mit dem Vorteil, daß in der Schaltung weniger Platz benötigt wird. Außerdem kann die nach dem Brennvorgang frei werdende Buchse auf dem Board gut für Testzwecke genutzt werden. Diese Anschlußbelegung ist für verschiedene Controllertypen der Firma Atmel verwendbar.
Laden sie den USB-Treiber CP2102, das myAVRProgtool und die grafische Oberfläche SupportBox_MSUL aus dem Internet herunter. Installieren Sie den Treiber CP2102 auf ihrem Computer. Nach Fertigstellung stecken Sie den Brenner in eine USB-Buchse. Zum Prüfen der Verbindung starten Sie die Supportbox.
Wenn alles OK, schließen Sie das Programm.
Programmierung des Mikrocontrollers
Verbinden Sie ihre Steuerplatine mit dem Brenner. Der Wannenstecker des Brenner-Kabels muß auf dem Adapter mit seiner Nase nach außen zeigen. Der Adapter ist in die Steuerplatine so einzustecken, daß dessen Reset Anschluß rechts oben, in der Nähe der Diode zu liegen kommt.
Starten Sie das Programm myAVR_ProgTool.
Klicken Sie auf das "?". Das Programm sucht jetzt ihren ATtiny45 auf der Steuerplatine. Falls kein Controller gefunden wird, überprüfen Sie nochmals alle Anschlüsse. Achten Sie darauf, daß das Poti P1 auf unserer Steuerplatine in Mittelstellung stehen muß. Bei Erfolg stellen Sie bitte den zu programmierenden Controllertyp links unten ein:
Wechseln Sie nun zum Reiter "Brennen".
Bevor wir den Flash mit unserem HexFile (BUE_T45-8.HEX) brennen, müssen möglicherweise noch die Fuse-Bits gebrannt werden. Dort steht, ob ein interner RC-Oszillator verwendet wird und ob dessen Frequenz NICHT! durch 8 geteilt werden soll.
Gehen Sie auf "Bearbeiten" und lassen Sie sich die aktuellen Fuse-Bits auslesen mit "Hardware Auslesen".
Wir brauchen eine Einstellung, die der gelb hervorgehobenen entspricht. Ist das nicht der Fall, dann diese einstellen und "Jetzt Schreiben", ansonsten "Verlassen".
Falls Sie schreiben mußten, ist jetzt der Controller unbedingt von der Betriebsspannung zu trennen, damit die Fuse-Bits wirksam werden! Dazu einfach den Programmierstecker abziehen und ein paar Sekunden warten, bis sich die Kondensatoren auf der Leiterplatte entladen haben. Da der Controller "gnadenlos" vom ProgTool abgehängt wurde, müssen wir dieses Programm schließen und den Programmierstecker wieder anstecken. Nach erneutem Start muß der Controller immer noch erkannt werden!
Experimentieren Sie nicht mit den Fuse-Bits, da Sie sonst den Controller nicht mehr erreichen werden!
Die Übertragung des Hexcodes ist recht simpel und kann mehrere 1000 mal durchgeführt werden, ohne daß der Controller Schaden nimmt.
Laden Sie jetzt den HexCode in das Programm mit "Suchen". Achten Sie darauf, daß nur "Flash brennen" einen Haken hat. Starten Sie nun den Brennvorgang mit "Brennen (F5)".
Bei Erfolg ist unsere Steuerplatine sofort arbeitsfähig und legt los ...
Trennen Sie den Programmieradapter von der Steuerplatine. Sie können jetzt den Servo und eine geeignete Spannungsquelle anschließen. Nach jedem Flash muß der Servo erneut kalibriert werden, da die gespeicherten Eckwerte im EEPROM verloren gehen.
Betreiben Sie den USB-ISP-Brenner niemals unter Last!