Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

K (Welche Controllerboards sind für den Einstieg empfehlenswert?)
 
(14 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 15: Zeile 15:
 
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, dass die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).
 
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, dass die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).
  
Obwohl der Aufbau einer sogenannten "Grundschaltung" wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einstiegsweg doch mehr ab. Vor allem, da oft nicht bedacht wird, dass man ja mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt also mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang) und auch eine Spannungsstabilisierung, um durch ein Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig.  
+
Obwohl der Aufbau einer sogenannten "Grundschaltung" wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einstiegsweg doch eher ab. Oft wird dabei nicht bedacht, dass man mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt eine Spannungsstabilisierung und mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang), um durch deren Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig.  
  
 
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen.  
 
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen.  
Zeile 24: Zeile 24:
 
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.
 
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.
  
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif
+
<externbild>http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif</externbild>
http://www.c-control.de/images/stories/startseitegruppe2.gif
+
<externbild>http://www.c-control.de/images/stories/startseitegruppe2.gif</externbild>
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg
+
<externbild>http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg</externbild>
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg
+
<externbild>http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg</externbild>
 
[[Bild:stk500.jpg|100px]]
 
[[Bild:stk500.jpg|100px]]
  
Zeile 36: Zeile 36:
 
* [[RN-Control]]  
 
* [[RN-Control]]  
 
* STK500 (Entwicklungsboard von Atmel)
 
* STK500 (Entwicklungsboard von Atmel)
 +
* [http://arduino.cc/ Arduino]
 +
* [http://www.ehajo.de/Bausaetze/aTeVaL aTeVaL-Board]
  
 
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist.  
 
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist.  
Zeile 44: Zeile 46:
 
'''C-Control PRO:'''
 
'''C-Control PRO:'''
  
Seit 2005 wurde die C-Control Familie um die C-Control PRO Varianten erweitert. Diese Units sind wesentlich kompakter als ihre Vorgänger, zudem besitzen sie deutlich mehr Speicher und Rechenpower. Trotz ihrer kleinen Abmessungen werden die Units im gebräuchlichen 2.54mm Raster gefertigt. Die C-Control PRO basiert auf RISC-Mikrocontrollern der AVR-Familie von Atmel, die sich durch niedrigen Stromverbrauch auszeichnen. Diese leistungsfähigen Mikrocontroller haben sich mittlerweile in großen Stückzahlen in zahlreichen Anwendungen bewährt. Der Typ Mega 32 besteht aus einer 8-Bit-RISC-Recheneinheit (Reduced Instruction Set Computer) mit Flash-Speicher, EEPROM, S-RAM, Digitale Ports, Timer/Counter, Comparator, PWM-/DAC-Kanälen und serieller Schnittstelle. Die Typ Mega 128 bietet neben diesen Systembestandteilen mehr Speicherkapazität und eine größere Zahl von Ein-/Ausgabe-Schnittstellen. Durch eine Preissenkung Anfang 2008, wurde die PRO noch attraktiver für die Anwender. Auch hört man von den Entwicklern der C-Control PRO, dass es spannend bleibt und viele Neuerungen in den nächsten Monaten und Jahren zu erwarten sind. Dies geht sogar soweit das  es eine MINI-Station und eine MEGA-Station geben soll. Auch Controller mit 32Bit sind für die Zukunft geplant. Bis Mitte 2008 sind auch ein Projectboard und eine Adapterplatine für bereits vorhandene CC1 Module angekündigt, dadurch soll es möglich sein CC1 Hardwarekomponenten mit den PRO System zu betreiben. Die Programmierung kann in C-Compact oder Basic vorgenommen werden. Die aktuelle Programmierumgebung (IDE) kann kostenlos unter http://www.c-control.de heruntergeladen werden. Beide Programmiersprachen können gemischt werden, so kann ein Teil aus C-Compact bestehen und der andere Teil der Software aus Basic. Gerade bei Roboter Anwendungen wird oft Multithreading benötigt, dieses ist bei der C-Control PRO bereits integriert. Auch ein Hardware Debugger wurde der PRO spendiert der bei anderen Systemen erst teuer hinzugekauft werden muss. Wirklich ein rundes und gut gelungenes System für Einsteiger sowie für Profis die relativ schnell ans Ziel kommen wollen, ohne sich viel mit Datenblättern der einzelnen µControllern herumschlagen wollen.
+
Seit 2005 wurde die C-Control Familie um die C-Control PRO Varianten erweitert. Diese Units sind wesentlich kompakter als ihre Vorgänger, zudem besitzen sie deutlich mehr Speicher und Rechenpower. Trotz ihrer kleinen Abmessungen werden die Units im gebräuchlichen 2.54mm Raster gefertigt. Die C-Control PRO basiert auf RISC-Mikrocontrollern der AVR-Familie von Atmel, die sich durch niedrigen Stromverbrauch auszeichnen. Diese leistungsfähigen Mikrocontroller haben sich mittlerweile in großen Stückzahlen in zahlreichen Anwendungen bewährt. Der Typ Mega 32 wie er auch bei dem [[RN-Control]]_Board eingesetzt wird, besteht aus einer 8-Bit-RISC-Recheneinheit (Reduced Instruction Set Computer) mit Flash-Speicher, EEPROM, S-RAM, Digitale Ports, Timer/Counter, Comparator, PWM-/DAC-Kanälen und serieller Schnittstelle. Die Typ Mega 128 bietet neben diesen Systembestandteilen mehr Speicherkapazität und eine größere Zahl von Ein-/Ausgabe-Schnittstellen. Im Roboternetz finden die C-Control Boards bislang allerdings er weniger Anhänger.
 
+
Weitere Highlights der C-Control PRO Familie wären...
+
 
+
    * Windows Vista fähig
+
    * Programmierbar über USB-/ und RS232
+
    * Multithreading-fähiges Betriebssystem
+
    * Niedriger Stromverbrauch
+
    * Programmierbar in Basic und Compact-C
+
    * Internes Terminalprogramm
+
    * Intellisens
+
    * Code folding
+
    * OneWire Befehle
+
    * Syntax autocorrection
+
    * Basic und C Code kann gemischt werden
+
    * Units mit Metallgehäuse, verhindert Störein-/ Ausstrahlung
+
    * IDE und Anleitung in Deutsch und Englisch
+
    * Viele Funktionsbibliotheken und Beispiele verfügbar
+
    * PIN-Code geschütztes Anwendungsprogramm (Usercode)
+
    * User-Interrupts
+
    * 32Bit Floating Point Arithmetihic nach IEEE
+
    * Realtime Debugger über USB-/ oder RS232
+
    * Immer aktuelle Updates über das Internet
+
    * Stand-Alone Betrieb der Unit
+
    * Günstiges Preis Leistungsverhältnis
+
 
+
Weitere Informationen finden Sie unter [http://www.c-control.de]
+
 
+
Autor UlliS
+
  
  
 
====Günstig für viele Projekte: Atmel Boards====
 
====Günstig für viele Projekte: Atmel Boards====
Günstiger sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich.  
+
Günstiger und beliebter im Roboternetz sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich.  
 
Dagegen ist [[RN-Control]] speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel "RN". Es ist nicht das erste "RN" Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.
 
Dagegen ist [[RN-Control]] speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel "RN". Es ist nicht das erste "RN" Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.
  
Zeile 92: Zeile 66:
 
   
 
   
 
Im Gegensatz zu vielen anderen kleinen Experimentierboards, die oft nur einen [[ATmega8]] einsetzen, hat man also bei RN-Control viel mehr Ports und Speicher für größere Anwendungen. Ein Vorteil, der von Anfängern oft unterschätzt wird, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher, wie der des ATmega8, wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATmega8-Boards recht mager, so dass man oft bei Verwendung eines [[LCD]] und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten mehr besitzt. Daher empfehle ich mit einem [[ATmega32]] zu beginnen. Das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards, weil man doch vieles mehr anschließen kann.
 
Im Gegensatz zu vielen anderen kleinen Experimentierboards, die oft nur einen [[ATmega8]] einsetzen, hat man also bei RN-Control viel mehr Ports und Speicher für größere Anwendungen. Ein Vorteil, der von Anfängern oft unterschätzt wird, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher, wie der des ATmega8, wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATmega8-Boards recht mager, so dass man oft bei Verwendung eines [[LCD]] und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten mehr besitzt. Daher empfehle ich mit einem [[ATmega32]] zu beginnen. Das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards, weil man doch vieles mehr anschließen kann.
 +
 +
Tipp: Der ATmega32 ist nicht mehr ganz taufrisch, es existieren inzwischen zwei Nachfolgegenerationen: ATmega324 und ATmega324A. Für Neuentwicklungen ist es daher sinnvoll, gleich den aktuellen '''ATmega324A''' einzusetzen, da dieser mehr Funktionen bietet, weniger Strom verbraucht, eine höhere Rechenleistung besitzt und in der Regel deutlich weniger kostet.
 +
 +
{{Ausbauwunsch|Vielleicht noch ein klein wenig über Arduino Boards}}
  
 
====Auch an die Zukunft denken====
 
====Auch an die Zukunft denken====
  
Ein weiterer Vorteil von [[RN-Control]] besteht darin, dass alle Stecker und Anschlüsse &ndash; ja sogar die Platinenmaße &ndash; nach den [[RN-Definitionen]] voreinheitlicht sind. Somit lassen sich Ergänzungen und Zusatzboards einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Boards.
+
Ein weiterer Vorteil von [[RN-Control]] besteht darin, dass alle Stecker und Anschlüsse &ndash; ja sogar die Platinenmaße &ndash; nach den [[RN-Definitionen]] vereinheitlicht sind. Somit lassen sich Ergänzungen und Zusatzboards einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Boards.
  
 
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch neue ersetzt werden.  
 
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch neue ersetzt werden.  
Zeile 103: Zeile 81:
 
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==
 
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==
  
RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben, sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheidend ist letztlich auch, wie gut das Board zur Aufgabenstellung passt. Dazu habe ich einige wichtige Kriterien als Fragen zusammengestellt. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optimale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein. Dort findet man zahlreiche Bezugsquellen.
+
[[RN-Control]] ist sicherlich ein empfehlenswertes Board für viele Aufgaben, sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheidend ist letztlich auch, wie gut das Board zur Aufgabenstellung passt. Dazu habe ich einige wichtige Kriterien als Fragen zusammengestellt. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optimale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein. Dort findet man zahlreiche Bezugsquellen.
  
 
{| {{Blauetabelle}}
 
{| {{Blauetabelle}}
Zeile 109: Zeile 87:
 
# Reicht die Rechenleistung dieses Boards?
 
# Reicht die Rechenleistung dieses Boards?
 
# Hat das Board genügend Speicher?
 
# Hat das Board genügend Speicher?
 +
# Ist der Controller auswechselbar, vielleicht später durch einen größeren?
 
# Hat das Board genügend Ports (I/O) Leitungen?
 
# Hat das Board genügend Ports (I/O) Leitungen?
 
# Welche Zusatzbauelemente brauche ich für mein Vorhaben, und was kostet es insgesamt?
 
# Welche Zusatzbauelemente brauche ich für mein Vorhaben, und was kostet es insgesamt?
Zeile 119: Zeile 98:
 
# Sind Schaltpläne und Bestückungspläne erhältlich?
 
# Sind Schaltpläne und Bestückungspläne erhältlich?
 
# Gibt es für mein Projekt Akkus in der richtigen Größe, welche zur Betriebsspannung passen?  
 
# Gibt es für mein Projekt Akkus in der richtigen Größe, welche zur Betriebsspannung passen?  
# Findet man in gängigen Foren genügend Unterstützung?
+
# Findet man in gängigen Foren und im Roboternetz genügend Unterstützung?
 
# Gibt es Literatur, die sich mit Board oder den Entwicklungssystemen befassen?
 
# Gibt es Literatur, die sich mit Board oder den Entwicklungssystemen befassen?
 
# Eignen sich die Maße des Boards für mein Projekt?
 
# Eignen sich die Maße des Boards für mein Projekt?
Zeile 135: Zeile 114:
 
*[[RN-Control]]
 
*[[RN-Control]]
 
*[[AVR-Einstieg leicht gemacht]]
 
*[[AVR-Einstieg leicht gemacht]]
 +
 +
 +
==Weblinks==
 +
* [http://www.youtube.com/watch?v=cGtC7e44abA&feature=plcp&context=C37e7441UDOEgsToPDskJmsEAf0l4u9UVXLqURe7ID Neu - Video zu AVR Experimentierboard RN-AVR Universal]
 +
* [http://roboternetz.de/download/c_tutorial.zip Download umfangreiches C-Tutorial mit Beispielen für RN-Control und andere AVR-Boards im ZIP-Archiv]

Aktuelle Version vom 5. Juli 2015, 11:49 Uhr

Welchen Controller, welches Controllerboard nehme ich?

Welches Controllerboard ist das beste?
Sollte man alles selbst bauen?

Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen.

Was ist ein Controller?

Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma Atmel (auch AVR-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. ISP-Kabel), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden. Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C und teils sogar Pascal. Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer PWM) auszugeben und ähnliche Dinge.

Soll ich es selbst aufbauen?

Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, dass die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der Timer, PWM, Ein- und Ausgänge usw.).

Obwohl der Aufbau einer sogenannten "Grundschaltung" wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einstiegsweg doch eher ab. Oft wird dabei nicht bedacht, dass man mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt eine Spannungsstabilisierung und mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang), um durch deren Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig.

Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem Roboternetz, sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.

Welche Controllerboards sind für den Einstieg empfehlenswert?

Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden. Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.

Externes Foto
Quelle Foto: http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif Externes Foto
Quelle Foto: http://www.c-control.de/images/stories/startseitegruppe2.gif Externes Foto
Quelle Foto: http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg Externes Foto
Quelle Foto: http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg Stk500.jpg

Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:

Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board RN-Control, da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist.

Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer.


C-Control PRO:

Seit 2005 wurde die C-Control Familie um die C-Control PRO Varianten erweitert. Diese Units sind wesentlich kompakter als ihre Vorgänger, zudem besitzen sie deutlich mehr Speicher und Rechenpower. Trotz ihrer kleinen Abmessungen werden die Units im gebräuchlichen 2.54mm Raster gefertigt. Die C-Control PRO basiert auf RISC-Mikrocontrollern der AVR-Familie von Atmel, die sich durch niedrigen Stromverbrauch auszeichnen. Diese leistungsfähigen Mikrocontroller haben sich mittlerweile in großen Stückzahlen in zahlreichen Anwendungen bewährt. Der Typ Mega 32 wie er auch bei dem RN-Control_Board eingesetzt wird, besteht aus einer 8-Bit-RISC-Recheneinheit (Reduced Instruction Set Computer) mit Flash-Speicher, EEPROM, S-RAM, Digitale Ports, Timer/Counter, Comparator, PWM-/DAC-Kanälen und serieller Schnittstelle. Die Typ Mega 128 bietet neben diesen Systembestandteilen mehr Speicherkapazität und eine größere Zahl von Ein-/Ausgabe-Schnittstellen. Im Roboternetz finden die C-Control Boards bislang allerdings er weniger Anhänger.


Günstig für viele Projekte: Atmel Boards

Günstiger und beliebter im Roboternetz sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board RN-Control oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas Erfahrung in diesem Bereich. Dagegen ist RN-Control speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da Kürzel "RN". Es ist nicht das erste "RN" Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das RNBFRA-Board, das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des RNBFRA-Board von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.

Da RN-Control mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf. Die Beliebtheit liegt vornehmlich daran, das RN-Control bereits alle wichtigen Elemente auf direkt dem Board besitzt. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Bei anderen Boards ist das oft erst auf einem Zusatzboard vorhanden.

Dies alles macht das Board zu einem kompakten Controllerboard 
das ohne Zusatzkomponenten (außer Sensoren) einen kleinen 
Roboter steuern kann. Aber ebenso eignet sich das Board auch 
als optimales Experimentierboard. 

ATmega32, ein schöner Einstiegscontroller mit Reserven

Dabei setzt RN-Control einen schon erwähnten Controller ein: den ATmega32 von Atmel. Dieser Mikrocontroller besitzt bereits 32k Programmspeicher, 2k RAM, 1k EEPROM sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m.

Im Gegensatz zu vielen anderen kleinen Experimentierboards, die oft nur einen ATmega8 einsetzen, hat man also bei RN-Control viel mehr Ports und Speicher für größere Anwendungen. Ein Vorteil, der von Anfängern oft unterschätzt wird, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher, wie der des ATmega8, wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATmega8-Boards recht mager, so dass man oft bei Verwendung eines LCD und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten mehr besitzt. Daher empfehle ich mit einem ATmega32 zu beginnen. Das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards, weil man doch vieles mehr anschließen kann.

Tipp: Der ATmega32 ist nicht mehr ganz taufrisch, es existieren inzwischen zwei Nachfolgegenerationen: ATmega324 und ATmega324A. Für Neuentwicklungen ist es daher sinnvoll, gleich den aktuellen ATmega324A einzusetzen, da dieser mehr Funktionen bietet, weniger Strom verbraucht, eine höhere Rechenleistung besitzt und in der Regel deutlich weniger kostet.

Dieser Artikel ist noch lange nicht vollständig. Der Auto/Initiator hofft das sich weitere User am Ausbau des Artikels beteiligen.

Das Ergänzen ist also ausdrücklich gewünscht! Besonders folgende Dinge würden noch fehlen:

Vielleicht noch ein klein wenig über Arduino Boards


Auch an die Zukunft denken

Ein weiterer Vorteil von RN-Control besteht darin, dass alle Stecker und Anschlüsse – ja sogar die Platinenmaße – nach den RN-Definitionen vereinheitlicht sind. Somit lassen sich Ergänzungen und Zusatzboards einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Boards.

Machen Bastler mal einen Fehler und RN-Control wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch neue ersetzt werden. Und da man RN-Control wahlweise in C, Assembler oder Basic (Bascom) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben. Durch die weite Verbreitung von RN-Control findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig ist.

Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen

RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben, sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheidend ist letztlich auch, wie gut das Board zur Aufgabenstellung passt. Dazu habe ich einige wichtige Kriterien als Fragen zusammengestellt. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optimale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein. Dort findet man zahlreiche Bezugsquellen.

  1. Reicht die Rechenleistung dieses Boards?
  2. Hat das Board genügend Speicher?
  3. Ist der Controller auswechselbar, vielleicht später durch einen größeren?
  4. Hat das Board genügend Ports (I/O) Leitungen?
  5. Welche Zusatzbauelemente brauche ich für mein Vorhaben, und was kostet es insgesamt?
  6. Lassen sich einzelne Teile des Boards selbst reparieren (bei Boards mit SMD oder ungesockelten ICs ist das kaum machbar)?
  7. Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?
  8. In welchen Sprachen kann und will ich das Board programmieren?
  9. Sind die Entwicklungsumgebungen / Compiler kostenlos?
  10. Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen?
  11. Sind die Anschlüsse kompatibel zu Erweiterungen?
  12. Sind Schaltpläne und Bestückungspläne erhältlich?
  13. Gibt es für mein Projekt Akkus in der richtigen Größe, welche zur Betriebsspannung passen?
  14. Findet man in gängigen Foren und im Roboternetz genügend Unterstützung?
  15. Gibt es Literatur, die sich mit Board oder den Entwicklungssystemen befassen?
  16. Eignen sich die Maße des Boards für mein Projekt?


Autor Frank

Siehe auch


Weblinks


LiFePO4 Speicher Test