Start

Experimente

Grundlagen

Produkte
- Modul-Lino
- Sketches  
- Bootloader  
- Bascom   


Neues

Impressum

Der Modul-Lino 

Modul-Bus stellt ein neues Entwicklungssystem vor. Der Modul-Lino ist ein Arduino-kompatibles Entwicklungssystem auf der Basis des ATmega32. Manch einer wird vielleicht sagen: Noch ein Arduino, gibt es da nicht schon genügend unterschiedliche Systeme? Kann schon sein, aber wir haben uns entschlossen, die Vorteile des bewährten ES-M32 nun auch denjenigen zugänglich zu machen, die gern mit der Arduino-Entwicklungsumgebung arbeiten.

Als das ES-M32 entwickelt wurde stand die universelle Verwendbarkeit im Mittelpunkt. Was braucht man in den meisten Fällen, was sollte gleich mit an Bord sein. Das Konzept hat sich bei zahlreichen Entwicklungen bewährt. So wurde z.B. das Elektor-DSP-Radio anfangs auf dem ES-M32 entwickelt. Und zahlreiche kundenspezifische Entwicklungen wurden bei Modul-Bus auf dieser Basis begonnen, um dann später eine kompaktere Platine für die Serie zu entwickeln.

Radio-Enwicklung

Der heutige Quasi-Standard in der Arduino-Welt ist der Arduino Uno, ebenfalls mit 32 KB Flash. Mit diesem System kann man gut arbeiten. Aber man stößt relativ schnell an eine Grenze, bei der man zusätzliche Hardware in Form eines Shields einsetzen muss. Und oft werden die Portanschlüsse knapp. Setzt man z.B. ein LCD ein, bleiben für manche Aufgaben nicht mehr genügen Pins frei.

Mit dem Modul-Lino ist das anders. Das Wichtigste ist schon vorhanden, sodass man in den meisten Fällen ohne zusätzliche Verdrahtung gleich loslegen kann:

-          ATmega32, 16 MHz, 32 IO-Ports, gesockelt
-          On-Board ISP-Programmer
-          Wahlweise RS232 oder USB verwendbar
-          Stromversorgung über USB oder extern
-          Portanschlüsse STK500-kompatibel mit GND und VCC
-          LC-Display on Board
-          Poti, vier Taster, zwei LEDs
-          Lochrasterfeld für Hardware-Erweiterungen
 
Und wenn ein Projekt fertig ist kann man den programmierten Mega32 aus dem Sockel nehmen und auf einer eigenen Platine einsetzen. Ein neuer Mega32 wird dann gleich auf der Platine ohne ein zusätzliches Programmiergerät mit dem Arduino-Bootloader programmiert, und schon kann es weiter gehen. 

Wer das ES-M32 kennt wird nur einen Unterschied entdecken: Die Taktfrequenz wurde im Interesse einer besseren Kompatibilität auf 16 MHz hochgesetzt. Alles andere betrifft die Software. Mit der erweiterten Programmiersoftware ESM32.exe kann nun der Arduino-Bootloader in den Mega32 gebrannt werden. Und damit ist das System fit für die Verwendung mit der Arduino-Entwicklungsumgebung.

Die Arduino-IDE unterstützt eigentlich keinen Mega32. Man kann aber ein eigenes Board definieren und einfügen. Bei der Umsetzung des Projekts haben diese Seiten geholfen:

http://www.zwanzischmark.de/howto/atmega32-mit-arduino-ide
http://wiki.edwindertien.nl/doku.php?id=software:bootloaders#arduino_bootload



Installation  (Update 2.2.15, vereinfachte Installation, neuer Zip-Ordner)

Download: Modulino32.zip

Laden Sie die aktuelle Arduino-Software (derzeit Version 1.05) und entpacken Sie sie in ein eigenes Verzeichnis. Extrahieren Sie die im Zip-Order Modulino32.zip enthaltenen Order und Dateien in Ihren Sketchbook-Ordner. Wo Ihr Sketchbook-Ordner steht können Sie sehen, wenn Sie die Einstellungen in der Arduino-Oberfläche (unter Datei/Einstellungen oder mit der Tastenkombination [Strg] + [,]) einsehen. Sie können den vorgeschlagenen Ordner beibehalten oder einen neuen Ordner (z.B. Modulino32) an einem anderen Ort auswählen. Nach dem Entpacken sollte in Ihrem Sketchbook-Ordner ein Verzeichnis mit dem Namen "hardware" enthalten sein, in dem sich die restlichen Dateien befinden. Starten Sie die Arduino-Entwicklungsumgebung neu. Unter Tools > Boards können Sie nun das Board Mega32 auswählen.

Bei Bedarf können Sie mit dem Programm ESM32.exe den Booatloader in den Controller brennen. In hardware/bootloaders/stk500 steht die Hexdatei des Bootloaders ATmegaBOOT_168_atmega32.hex, die Sie bei Bedarf mit dem Programm ESM32.exe in den Controller brennen können. In den meisten Fällen wird das allerdings nicht nötig sein, weil der Bootloader bereits bei der Auslieferung des ES-Modulino geladen ist.





Arduino-Pins

Eine Besonderheit der Arduino-Software ist, dass alle Pins einfach nur Nummern tragen. Der Mega32 hat deutlich mehr IO-Ports als der Mega328 im Arduino Uno. Daher ergibt sich eine andere Nummerierung der Anschlüsse, die man beim Programmieren berücksichtigen muss:

0…7:      Port D0…D7, wie beim Arduino Uno
8…15:    Port B0…B7, an B2 bis B7 liegt das LCD
16…23:  Port C0…C7, acht zusätzliche IO-Pins
24…31: Port A0…A7, auch Arduino-Analogeingänge A0…A7

Der erste Test

Die Arduino-Software wird mit zahlreichen Beispielprogrammen (Sketches) geliefert, die man teilweise leicht anpassen sollte. Der Beispiel-Sketch Blink funktioniert zwar, schaltet aber den Pin 13 = B5. Will man die LED1 auf dem Modulino blinken lassen muss der Pin 4 = D4 angesprochen werden.


ExamplesMega32.zip
 (bereits in Modulino32.zip enthalten)

Damit das Programm in das System geladen werden kann muss das richtige Board (ATmega32) und die richtige Schnittstelle (z.B. COM2) eingestellt sein: Nach einem Klick auf den Upload-Button erscheint zunächst die Meldung „Sketch kompilieren“ und kurz darauf „Uploaden….“. Nun muss man die Reset-Taste des Modulino drücken, damit der Bootloader startet. Das Programm wird nun geladen und ausgeführt.  Die LED blinkt.