Wieder mal ist ein Projekt fertig.
Diesmal ein Controllermodul das selbst die versiertesten AVR Profis interessieren könnte.
RN-Mega2560 - 100 Pin AVR Modul mit USB
Mehr programmierbare Ports braucht vermutlich keiner! Die stromsparende Alternative zu den Kleincomputern wie Raspberry Pi und Co.
Ein brandneues Hochleistung AVR Controllermodul ! Dieses Modul wurde für Anwender, Bastler und Entwickler konzipiert die bereits Erfahrungen mit AVR-Controllern haben oder denen die kleineren AVR´s wie Mega8 / Mega32 oder auch Mega128 noch nicht ganz ausreichen bzw. zu wenig Reserven bieten.
Dieses Modul nutzt den neusten Controllerchip ATMega2560. Er dürfte derzeit ohne Frage einer der leistungsfähigsten AVR Controller überhaupt sein. Er bietet zum Beispiel wesentlich mehr Funktionen, Speicher als der recht bekannte Mega128. Dennoch ist dieses Modul genauso einfach zu programmieren wie auch die kleineren Controller die zum Beispiel in RN-Control, RN-Mega128Funk, RN-Mega8 usw. genutzt werden.
Ein Umstieg von einem der genannten Controllerboards oder AVRs ist demnach problemlos. Programme in Hochsprachen wie Basic müssen gar nicht bzw. nur kaum verändert werden.
Das Modul stellt nahezu alle 100 Pin´s dieses leistungsstarken Controllers über zwei Standardbuchsen (zwei mal 2x25 Buchsen=100 Pin) bereit. Der Kontaktabstand beträgt 2,54 mm, so das dieses Modul bequem in eigene Boards oder auf Lochrasterplatinen gesteckt werden kann, sogar Lochrasterplatinen mit 3er Reihen sind passend. Passende Stiftleisten als auch USB Kabel werden gewöhnlich mitgeliefert.
Das Modul beinhaltet bereits einen RS232 Pegelwandler als auch einen USB-Baustein. Es kann somit direkt an die RS232 oder an den USB-Anschluss eines PC´s angeschlossen werden, wahlweise auch beides gleichzeitig. Ein ISP-Programmieranschluss ist bereits als 10 polige Standardbuchse (RN-Definition) auf dem Board.
Eine Signal – Leuchtdiode und Stromsparfunktion wurde ebenfalls integriert. Trotz all dieser Features, ist dieses Modul mit 63x43mm unglaublich klein, leicht und flach. Erreicht wurde dies durch modernste SMD-Bauteile.
Jetzt unter einer freien CC-Lizenz!
Wir denken die Leistungsdaten und Features werden jeden überzeugen:
- Leistungsstarker Controller ATMega2560 (eine rder wohl leistungsfähigsten AVR-Controller überhaupt),100 Pin´s am Gehäuse
- 256.000 Bytes Flash Speicher
- 8000 Byte RAM (extern erweiterbar)
- 4000 Bytes EEPROM
- RAM erweiterbar auf 64K
- zwei 8 Bit Timer
- vier 16 Bit Timer
- vier 8 Bit PWM Kanäle
- zwölf PWM Kanäle (programmierbar 2 bis 16 Bit)
- 16 analoge Eingänge (Spannungsmessung)
- 86 programmierbare I/O Leitungen
- vier TTL UARTS (RX/TX) – 2 frei, einer für USB, einer für RS232)
- RS232 Anschluss (PC-Pegel) PC kann direkt über das übliche dreipolige RS232 Kabel angeschlossen werden.
- RS232 – Treiber auf dem Board schaltet automatisch in Stromsparmodus wenn keine Daten übertragen werden – aktiviert sich auch wieder bei Datenübertragung. Manuell kann RS232 Treiber auch ganz deaktiviert werden.
- USB–Anschluss (Standard USB-Kabel mit MiniUSB-Stecker passt sofort). Treiber für Windows und Linux im Lieferumfang
- ISP-Programmieranschluss – Standard Programmieradapter (wie unser ISP-Dongel) passen sofort.
- I2C-Bus über Stiftleiste herausgeführt (zum Anschluss zahlreicher Erweiterungen, Sensoren etc.)
- SPI-Bus über Stiftleiste herausgeführt
- 16 Mhz Quarz auf dem Board integriert
- Uhrenquarz ebenfalls auf dem Board integriert (für Echtzeituhr)
- eine programmierbare Leuchtdiode
- fast alle Portleitungen werden über die Stiftleisten herausgeführt
- zwei Stiftleisten mit jeweils 2x25 Pin und 2 passende Buchsenleisten im Lieferumfang. Dadurch kann das Board bequem in eigene Schaltungen oder auf Experimentierplatinen/Lochraster gesteckt werden.
- Betriebsspannung stabilisierte 5 V (nur ganz geringe Stromaufnahme von wenigen mA)
- Sehr kompakt durch modernste winzige Bauteile (nur ca. 43 x 63mm und nur 9mm hoch)
- Voll kompatibel zu den RN-Definitionen für Controllerboards
- Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler
- Deutsche Dokumentation mit Basic Programmbeispiel
- Fertig aufgebaut (lediglich Stiftleiste muss eingelötet werden, auf Wunsch wird diese auch vorbestückt)
- Auch hier im Download Bereich.
- Starter- oder Applikationsboard nicht unbedingt notwendig
Einige Fotos:
Bild hier
Lieferumfang
Bild hier
Bild hier
Hier individuell mit Stift- und Buchsenleiste bestückt.
So könnte auch noch etwas auf das Modul aufgesteckt werden.
(z.B. mit RAM-Erweiterung, Flash- oder SD-Karte usw.)
Bild hier
Mit Standard Parallel- oder USB-ISP programmierbar
Bild hier
Hier ist das Modul auf einem Testboard aufgesteckt
80 Leuchtdioden wurden für die diversen Ports benötigt!!!
Auch die
Eagle Dateien zum Testboard findet ihr auf unserer
Projektseite
Damit wird das bestellen einer Leiterplatte zum Kinderspiel! Auch eigene Änderungen am Layout sind möglich!
Bequem als Modul in
Eagle (Cadsoft) als LIB vorhanden
Ein kleines Beispielprogramm das demonstriert wie einfach das Modul programmiert wird.
Code:
'###################################################
'erstebeispiel3.bas Demo zu Modul RN-Mega2560
'für
'RoboterNetz Board RN-Mega2560 ab Version 1.0 und
'
'Aufgabe:
'Laesst LED blinken
'Gibt Zahlen ueber USB aus
'Autor: Frank
'Weitere Beispiele und Beschreibung der Hardware
'unter http://www.mikrocontroller-elektronik.de/mini-controllerboard-mit-atmel-atmega2560-und-usb/
'Eigene Programmbeispiele sind im Roboternetz gerne willkommen!
'##############################################################
'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX )
$prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
$crystal = 16000000 'Quarzfrequenz
Config Pind.5 = Output
Led Alias Portd.5
Config Pine.5 = Input
USB Alias Pine.5 'Ist 1 wenn USB angeschlossen
Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com4:" For Binary As #4 'USB Buchse
Dim I As Integer
Do
Led = 1
Waitms 100
Led = 0
Waitms 100
Print #4 , "Hallo" ; I
I = I + 1
Loop
End
Ich wünsche den interessierten Nutzern viel Spaß mit dem Modul. Übrigens werden noch Bilder von Einsatzgebieten des Moduls gesucht.
Lesezeichen