Main /

Microcontroller

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Microcontroller

/ HomePage / Computerthemen / Hardware / Microcontroller

Microcontroller

Auf dieser Seite geht es um Microcontroller, speziell die von Atmel (also ATMega, ATTiny usw.) und das Arduino-Board.

Arduino Duemilanove

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.

Anschließen

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.

Entwicklungsumgebung

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.

Projekte

8x8 LED-Matrix ansteuern

HY-MiniSTM32V Board

Direkte Programmierung (nackter Controller ohne Arduino-Board)

Mit der direkten Programmierung eines Atmel Microcontroller hat man mehr Möglichkeiten:

  • direkte C- und Assembler-Programmierung
  • Bootloader nicht zwingend nötig, dadurch mehr Platz im Flash-Speicher
  • eine vernünftige, kostenlosen IDE für Windows steht mit AVRStudio direkt von Atmel zur Verfügung, die Entwicklung unter Linux ist mit OpenSource-Tools wie Eclipse, Code::Blocks usw. möglich.
  • Dadurch dass der Controller "nackt" ist, ist man in der Beschaltung freier als z.B. beim Arduino

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:

ATtiny2313 Fuse Bits

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:

8-Fache Beschleunigung des internen Taktes von 1 MHz auf 8 MHz

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

Zurücksetzen auf 1 MHz

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

Siehe auch

Nützliche Links

Frische Änderungen (All) | Edit SideBar Zuletzt geändert am 22.12.2016 20:50 Uhr Seite Bearbeiten | Seitenhistorie
Powered by PmWiki