Zum Inhalt, überspringe Kopfzeile Zum Navigation, überspringe Kopfzeile


\Stefan\Blog


Mittwoch, 27. Juli 2011

Mikrocontroller

Seit kurzem hab ich einen kleinen Roboter zum Experimentieren von Franzi hier. Der Roboter selber besteht aus einem Mikrocontroller, zwei Servos für den Antrieb, Liniensensor und einen USB-Anschluß. Einen Mikrokontroller zu programmieren – speziell einen Roboter – hat mich schon immer fasziniert.

Die Hardware und Tools kann man seperat erwerben, komplett oder zum selber bauen. Wer es am Anfang leicht haben will kann auch alles zusammen im “Lernpaket Roboter selbst bauen” von Franzis erwerben.

Der Roboter enthält zum Glück einen USB-Chip, so das er über eine normale USB-Verbindung mit dem PC programmiert werden kann. Nach dem Anschliessen an den PC installiert Windows kurz einen Treiber und schon meldet sich der Roboter als “USB Serial Port”. Mit dem Programm “MProg – Multi-Device EEPROM Programmer” erkennt dann auch anstandslos den Mikrocontroller.

Der Mikrocontroller – ein ATmega88, gehört zur AVR-Controllerfamilie – wird für Lernzwecke mit BASIC programmiert. Dazu liegt dem Paket der Compiler BASCOM-AVR bei. Die Installation ist schnell erledigt.

Und jetzt fangen leider die Probleme an. Ich benutze Windows 7 64Bit. Das Programm BASCOM lässt sich leider nicht starten. Egal ob als Administrator oder normaler Benutzer. Das Programm stürzt immer wieder mit einer Ausnahmeverletzung ab. Das nächste was mich stutzig macht ist, das ich nur eine Demo-Version habe. Die Demo-Version kann nur Programme bis 4 KB kompilieren. Das soll mich aber erst mal nicht stören, der Absturz ist viel ärgerlicher. Wie man es so oft kennt sind mitgelieferte Programme auf CD ja meistens veraltet. Laut Handbuch kann man eine neue Version – falls denn vorhanden – bei MCS Electronics runterladen. Dort hab ich dann auch die aktuelle Demo-Version gefunden. Aber selbst die Installation dieses neuen Version brachte keine Besserung. BASCOM läuft hier nicht auf Windows 7.

Jetzt war ich doch schon etwas verärgert, was will ich mit dem Roboter wenn ich ihn nicht programmieren kann? Kurze Suche im Forum brachte mich nicht groß weiter – einige andere Leute hatten ähnliche Probleme mit Windows 7. Anscheinend gab es aber noch keine Fehlerbehebung. Im Forum bin ich dann aber auf den Hinweis auf das Programm AVR-Studio gestoßen. AVR-Studio ist eine IDE für die AVR-Mikrocontroller. Netter Nebeneffekt dieser Software – sie ist frei verfügbar und kostet somit nichts, also auch keine Begrenzung auf die 4 KB wie bei BASCOM. Bei der Firma Atmel kann man AVR-Studio runterladen. Leider ist eine Registrierung erforderlich. Bei Mikrocontroller.net findet man aber diverse Links für den direkten Download.

Wie man den Informationen von Mikrokontroller.net entnehmen kann ist die Programmierung mit AVR-Studio nur mit Assembler-Code möglich. Assembler? Nein, das ist etwas was ich mir bestimmt nicht mehr antun will. Zum Glück kann man den Controller mit AVR-Studio auch in C programmieren. Man muß davor einfach den GNU GCC Compiler für C und C++ für AVR, kurz WinAVR, installieren. Wie bei GNU Compilern üblich ist unbedingt darauf zu achten das das Programmverzeichnis, in dem die Installation erfolgen soll, keine Leerzeichen enthalten soll. Am einfachsten ist es WinAVR in C:\WINAVR zu installieren. Das Installationsprogramm passt auch automatisch die Umgebungsvariabel PATH an. Somit kann man einfach auf der Kommandozeile die Conmpilertools, z.B. avr-gcc, ohne Umwege direkt nutzen.

Hat man WinAVR installiert, so kann nun AVR Studio installiert werden. Das Programm AVR-Studio ist ziemlich groß, das Installationspaket umfasst alleine schon 602 MB. Damit AVR-Studio läuft muß bestimmte Software auf dem PC vorhanden sein. Während der Installation wird dies geprüft und ggf. werden die nötigen Tools, z.B. Microsoft Visual Studio 2010 Shell (isoliert) oder AVR Jungo USB, vorher installiert.

Nun habe ich also AVR-Studio auf meinem PC installiert. Sieht auf den ersten Blick aus wie Microsoft Visual Studio. Mein Experimentierhandbuch enthält aber viele Beispiele für BASCOM – also in BASIC (eine moderne Form davon) geschrieben – und AVR-Studio nutzt die Programmiersprache C). Das könnte noch lustig werden die Beispiele von BASIC nach C zu übersetzen. Mal ganz davon abgesehen das ich nun herausfinde wieviel von dem Wissen meiner Ausbildung über Elektronik noch vorhanden ist. Die Schaltpläne mit Dioden, Widerständen, Kondensatoren, ... im Experimentierhandbuch sehen nicht ganz einfach aus. Mal schauen was die nächste Zeit so bringt.

Update: Mittlerweile habe ich BASCOM doch noch – wenn auch nur durch einen Zufall – zum Laufen bekommen. Windows habe ich vorhin ja schon mal neu gestartet, was ja den Fehler nicht behoben hat. Auch der Versuch BASCOM mit Admin-Rechte laufen zu lassen schlug fehl. Wenn man sich aber als Administrator bei Windows anmeldet, so werden beim Login-Vorgang mehrere Bibliotheken am System registriert. Dies hat zur Folge das man danach BASCOM – auch als normaler Benutzer – ohne Probleme starten kann. Nun, so habe ich jetzt beide IDEs installiert. Eine – mit Einschränkung der Programmgröße – für BASIC und die andere für die Programmiersprache C. Für die ersten Experimente – da sie ja auch so im Experimentierhandbuch beschrieben sind – werde ich wohl BASIC vorziehen.

Update: Bei der aktuellen Version AVR-Studio 5 muß WinAVR nicht mehr installiert werden. Bei der Installation von AVR-Studio wird der entsprechende C-Compiler (im Installationsprogramm als Toolchain gelistet) mitinstalliert.

Geschrieben von in Mikrocontroller um 21:09 | Kommentare (0) | Trackbacks (0)

Tags für diesen Artikel:
Zuletzt bearbeitet am 27.07.2011 22:40

© Copyright 2011 Stefan Jahn
Texte des Blogs, ohne Kommentare und Trackbacks, stehen unter der Creative Commons Lizenz CC BY-NC-SA.
Webseite: http://stefanjahn.de

Zum Inhalt zurück, überspringe Navigation | Zum Seitenanfang