Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
/ HomePage / Computerthemen / Hardware / Microcontroller
Auf dieser Seite geht es um Microcontroller, speziell die von Atmel (also ATMega, ATTiny usw.) und das Arduino-Board.
Das Arduino Duemilanove (ital. für 2009) ist ein Microcontollerboard basierend auf dem Atmel Atmega328P. Da es über einen USB-Anschluss verfügt, benötigt man außer einem USB-Kabel und der von http://www.arduino.cc herunterladbaren Entwicklungsumgebung nichts um die ersten Tests zu fahren, denn ein paar LEDs befinden sich auf dem Board. Das aktuelle Board ist der Uno, kann so ziemlich das gleiche wie der 2009, alles hier geschriebene gilt auch für den Uno.
Der Arduino braucht wie jedes USB-Gerät Treiber. Unter Windows 7 werden diese automatisch heruntergeladen und installiert nachdem das Bord zum ersten mal mit dem PC verbunden wird. Das kann allerdings über eine Minute dauern. Man muss deshalb nicht nervös werden auch wenn die gelbe L-Led des Arduinos hektisch blinkt. Dies ist nur das Programm was im Auslieferungszustand geladen ist.
Die Entwicklungsumgebung basiert auf Processing, die Sprache ist ein abgespecktes C++. Wer "richtige" Entwicklungsumgebungen wie Visual Studio oder Eclipse kennt, dem kommt die Arduino-IDE bald wie ein Spielzeug vor. Für die ersten Tests kann man damit aber zufrieden sein, immerhin ist der Einstieg sehr leicht.
Mit der direkten Programmierung eines Atmel Microcontroller hat man mehr Möglichkeiten:
Zudem ist der Einstieg einfacher als man denkt. Was man dafür braucht und wie man's macht steht hier:
Tutorial ATTINY 2313 Programmierung
Hier habe ich noch einige Nützliche Dinge gesammelt:
Die Atmel-Controller haben sog. Fuse-Bits mit denen sich die Eigenschaften des Controllers verändern lassen.
Diese Fuse-Bits lassen sich mit avrdude
setzen.
Die Parameter lässt man sich am besten von dem AVR Fuse Calculator bestimmen, denn fehlerhafte Einstellungen könenn den Chip in einen unbrauchbaren Zustand versetzen.
Hier ein paar Beispiele:
Im Auslieferungszustand wird der interne Takt von 8MHz durch 8 geteilt. Diesen Teiler kann man abschalten, so dass der Chip mit 8 MHz anstatt 1 MHz läuft. Nachteil dürfte ein höherer Stromverbrauch sein.
avrdude -c usbtiny -p attiny2313 -U lfuse:w:0xe4:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
Dies schaltet den internen Teiler wieder ein:
avrdude -c usbtiny -p attiny2313 -U lfuse:w:0x64:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m