Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Balkonkraftwerk Speicher und Wechselrichter Tests und Tutorials

Welchen Controller, Controllerboard nehme ich?

Welches Controllerboard ist das beste?

Sollte man alles selbst bauen?

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

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 Adpaterkabel (z.B. ISP-Kabel) das an die RS232 oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel die am USB-Bus betrieben 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 ist Ein- und Ausgänge direkt am IC, auf High oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pin´s 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 oft diese Controller IC´s einzeln und basteln 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 dieser Serie ist, das die meisten Atmel Controllertypen fast identisch programmiert werden, sie unterscheiden sich lediglich in Bauform, Anzahl der I/O Pin´s 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 Einsteigsweg doch mehr ab. Vor allem deshalb da oft nicht bedacht wird das man ja mit der Grundschaltung alleine noch garnix 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 überhaupt die Befehle wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen um Programmierkabel oder/und 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 kommen doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich für den Einsteiger drastisch die Fehlerquellen. Funktioniert etwas nicht weiß der Einsteiger oft noch nicht mal ob er in der Programmierung ein 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 Programmieradapter 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 Community´s wie unserer Roboternetz.de sehr schnell Hilfe holen. Je weiter ein Board verbreitet, desto besser klappt es gewöhnlich mit Hilfe als auch Anregungen was man alles basteln könnte.

Welche Controllerboards sind für den Einstieg empfehlenswert?

Es gibt eine Unzahl von verschiedenen Controllerboard´s, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu das in der Branche Anbieter oft schon 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.

http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg

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

  • C-Control / C-Control Pro-System (www.conrad.de)
  • C-Control II (www.conrad.de)
  • RN-Control
  • STK500 (Entwicklungsboard von Atmel)

Zu den oberen drei Board´s 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.

Funktionen des Boards

Die abgebildete C-Control ist jedoch bereits einige Jahre alt und wurde lange Zeit sehr oft in Robotern eingesetzt. Heute wird sie für neue Roboter offenbar nur noch wenig eingesetzt, wohl 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 das 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. Das gleiche gilt auch für neuere Nachfolgeserien wie dem C-Control Pro-System. Eigentlich hat die C-Control Pro mit der ursprünglichen C-Control nichts mehr zu tun, zumal hier jetzt auch ein ganz anderer Controller, nämlich ein Atmel Mega Controller eingesetzt wird. Da die Module gegenüber den reinen original Atmel Controllern deutlich teurer sind, können sie dem Bastler der alle Resourcen frei nutzen möchte und nicht durch eine eingebaute Firmware eingeschränkt werden möchte eigentlich weniger empfohlen werden.

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 das im Roboternetz entstanden ist. 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.

Dabei setzt RN-Control einen schon erwähnten Atmel Controller ein, den Mega32 von Atmel. Ein schneller Atmel Mega 32 Mikrocontroller,32K Speicher, 2K Ram und 1K EEPROM), 32 programmierbare I/O Pins,8 AD Ports u.v.m. Im Gegensatz zu vielen anderen kleinen Experimentierboard die oft nur einen Mega8 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 werden, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Spreicher wie der des Mega8 wäre da schnelle ram Ende als man denkt.

Ein weiterer Vorteil von RN-Control besteht darin das alle Stecker und Anschlüsse ja sogar die Platinenmaße einheitlich nach den RN-Definitionen vorhanden sind. Somit lassen sich Ergänzungen und Zusatzboards, wenn man es will, relativ einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Board´s. Machen Bastler mal einen Fehler und RN-Control wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch ein neues 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 sein sollte.

http://www.robotikhardware.de/bilder/rncontro4.jpg

Schaltplan und Doku hier

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

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

Siehe auch


LiFePO4 Speicher Test