Startseite > Microcontroller > Experimente mit AVR Butterfly

Experimente mit AVR Butterfly


Von Zeit zu Zeit unternehme ich einen Ausflug in die Welt der Microcontroller. Ich bin allerdings, was den Umgang mit Microcontrollern betrifft, sehr unbedarft und in der wenigen Zeit, die ich mir für derlei Experimente genehmige, immer auf den schnellen Erfolg aus. Darunter leidet mein tatsächliches Verständnis des Themas sehr!

Letztens stolperte ich beim Stöbern im Netz über ein Produkt welches es schon seit vielen Jahren gibt, mir aber offensichtlich entgangen ist. Es ist ein AVR Butterfly, welches ich mir, hätte ich es schon eher gekannt, schon viel eher gekauft und damit experimentiert hätte. Denn hier bekommt man nicht nur einen Microcontroller, der extrem wenig Strom verbraucht (Meine ersten Experimente machte ich mit einem C-Control von Conrad und einem JControl, die – wenn ich  mich recht erinnere – beide relativ viel Strom verbrauchten), sondern auch einiges an brauchbarem Zubehör wie ein 6-stelliges LCD-Display, einen Mini-Joystick, einen Piezo-Schallgeber und schon bestückte Eingänge um  Spannung und Temperatur zu messen. Das alles ist schon fertig auf einer Platine gelötet und kann so unmittelbar zum Experimentieren verwendet werden.

Um es zu programmieren, kann man es über ein 3-adriges Kabel mit einer RS232-Schnittstelle eines Computers verbinden. Mein aktueller Computer besitzt allerdings eine solche Schnittstelle nicht und ich hatte auch keine Lust schnell ein Kabel zu löten, bzw. mir erst noch einen passenden Stecker zu besorgen. Da ich aber von meinen letzten Experimenten mit ATTiny12 und ATTiny13 noch einen AVRISP mkII habe, wäre es mir am liebsten gewesen, wenn man das Butterfly damit programmieren könnte. Eine Recherche im Internet ergab allerdings keine verbindliche Aussage (Atmel sagt nein) und darum entschloss ich mich, es selbst einmal auszuprobieren.

Ergebnis: Es ist mit dem AVRISP mkII problemlos möglich das AVR Butterfly zu programmieren, man muss allerdings dazu eine externe Stromversorgung anschließen. Die von der Knopfzelle gelieferten 3 Volt sind nicht mit dem ISP-Anschluß verbunden. Der mkII findet keine Programmierspannung und verweigert darum die Programmierung. Ich habe als externe Stromquelle drei  AA-Akkus in Reihe geschaltet und sie mit den Pins 9 (GND) und 10 (VCC_EXT) verbunden. Daraufhin lies sich der Butterfly auslesen und programmieren. Dabei ist es egal, ob die Knopfzelle gleichfalls eingelegt ist.

Trotzdem gelang es mir kurz danach meinen Butterfly zu ‚bricken‘!

Wie kam es dazu?

Nachdem ich das AVR Butterfly mit dem AVRISP mkII und dem Computer verbunden, sowie die externe Stromversorgung angeschlossen hatte, rief ich zuerst die Read-Funktion auf und erzeugte damit auf der Festplatte meines Computers eine ‚HEX‘-Datei. Das funktionierte wunderbar! Da nahm ich an, dass für einen Programmierversuch genau diese ‚HEX‘-Datei ideal geeignet ist und rief damit die Write-Funktion auf! Tja, das hätte ich einmal besser nicht gemacht – danach war der Butterfly tot.

Ziemlich geschockt suchte ich daraufhin nach einer Möglichkeit den Butterfly wiederzubeleben, fand aber nichts passendes. So kam ich auf die Idee, dass es doch eigentlich für solche Fälle eine Original ‚HEX‘-Datei von Atmel zum Download geben müsste. Wiederum fand ich aber nichts. Doch dafür etwas viel interessanteres: Und zwar ein C-Projekt mit einem, an den von mir sowieso schon eingesetzten ‚avr-gcc‘, angepassten Quellcode!

Mit diesem gelang es mir eine passende ‚HEX‘-Datei zu kompilieren/linken und mit dieser dann das Butterfly neu zu programmieren. Kann zwar sein, dass es nicht exakt der Original Atmel Code ist, aber das Butterfly kann wieder genau die Dinge, die es auch vor meinen Versuchen konnte. Und was noch viel besser ist: Ich habe damit gleichzeitig eine optimale Basis und jede Menge Beispiele für eigene Entwicklungen.

Kategorien:Microcontroller
  1. Es gibt noch keine Kommentare.
  1. No trackbacks yet.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: