Start
Experimente
Grundlagen
Produkte
- Modul-Lino
Neues
Impressum
|
Der Modul-Lino 1284
www.ak-modul-bus.de/stat/entwicklungssystem_modul_lino.html
Modul-Bus stellt ein neues und nochnmal erweitertes Entwicklungssystem vor. Der Modul-Lino 1284
ist ein Arduino-kompatibles Entwicklungssystem auf der Basis des ATmega1284. 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:
- ATmega1284, 16 MHz, 32 IO-Ports, gesockelt
- 128 kB
Flash, 16 kB RAM, 4 kB EEPROM
- On-Board ISP-Programmer
- Wahlweise RS232 oder USB verwendbar
- Stromversorgung über USB oder extern
- Portanschlüsse10-polig 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
Mega1284 aus dem Sockel nehmen und auf einer eigenen Platine einsetzen. Ein neuer
Mega1284 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 ESM1284.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 Mega1284. Man kann aber ein eigenes
Board definieren und einfügen. Die Umsetzung der Implementierung basiert auf
einem Projekt mit dem Namen Sanguino. Dabei haben folgende Quellen geholfen:
https://github.com/Lauszus/Sanguino
http://blog.stevemarple.co.uk/2013/01/how-to-use-atmel-atmega1284-non-p.html
https://github.com/arduino/Arduino/wiki/Arduino-Hardware-Cores-migration-guide-from-1.0-to-1.6
|
Installation des Modulino1284 Boards
Diese
Anleitung und diese Dateien beziehen sich auf eine Arduino Version ab
1.6. Zum Ausführen der Installation sind einige wenige Schritte nötig.
- Laden Sie diesen Zip-Ordner herunter. Download: hardware.zip
- Kopieren
Sie den Ordner „hardware“ inklusive aller darin enthaltenden Ordner und
Dateien in Ihren Sketchordner - Wenn Sie sich nicht sicher
sind, wo sich Ihr Sketchorder befindet sollten Sie in den Einstellungen
nachsehen (unter Datei/Einstellungen oder mit der
Tastenkombination [Strg] + [,])
- Sollte sich in Ihrem
Sketchordner bereits ein Ordner mit dem Namen „hardware“
befinden, integrieren Sie die Dateien des geladenen hardware-Ordners in
den bestehenden
- Schließen Sie die Arduino-Oberfläche
- Starten Sie die Arduino Oberfläche
- Wählen Sie unter Werkzeuge-> Platine den Punkt Modulino1284 aus
- Testen Sie die Funktionalität mit dem Blink-Beispiel unter Datei->Beispiele->01. Basics->Blink
Bei
Bedarf können Sie mit dem Programm ESM1284.exe (Download: ESM1284.zip)
den Booatloader in den Controller brennen. In
\hardware\Modulino\avr\bootloaders\optiboot\ steht die Hexdatei. des
Bootloaders optiboot_atmega1284p.hex. Im Normalfall 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 Mega1284 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: // ATMEL ATMEGA644/ATMEGA1284 / SANGUINO // // +---\/---+ // (D 0) PB0 1| |40 PA0 (AI 0 / D31) // (D 1) PB1 2| |39 PA1 (AI 1 / D30) // INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) // PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) // SS PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) // MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) // MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) // SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) // RST 9| |32 AREF // VCC 10| |31 GND // GND 11| |30 AVCC // XTAL2 12| |29 PC7 (D 23) // XTAL1 13| |28 PC6 (D 22) // RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI // TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO // INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS // INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK // PWM (D 12) PD4 18| |23 PC1 (D 17) SDA // PWM (D 13) PD5 19| |22 PC0 (D 16) SCL // PWM (D 14) PD6 20| |21 PD7 (D 15) PWM // +--------+ //
(Auszug aus der pins_arduino.h-Datei) Dementsprechend liegt
LED1 an D12 (PWM fähig) LED2 an D13 (PWM fähig) S1 an D10 (Hardware Interrupt0) S2 an D11 (Hardware Interrupt1) S3 an D14 S4 an D15 Display:
LCD RS an D2 LCD Enable an D3 LCD D4 pin an D4 LCD D5 pin an D5 LCD D6 pin an D6 LCD D7 pin an D7
|
Der erste Test
Die Arduino-Software wird mit zahlreichen
Beispielprogrammen (Sketches) geliefert, die man teilweise leicht
anpassen muss. Der Beispiel-Sketch Blink allerdings funktioniert auf
Anhieb, da der Pin D13 an LED2 angeschlossen ist. Eine Auswahl weiterer
Beispiele (inklusive ein Beispiel zur Ansteuerung des Displays) finden
Sie in dem folgenden Zip-Ordner, welchen Sie einfach in Ihrem
Sketchorder kopieren können. Download: ESM1284.zip
|
Damit
das Programm in das System geladen werden kann muss das richtige Board
(Modulino1284) 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….“.
|
|