PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welcher Microcontroller für mobilen Roboter?



Virtuelx
07.05.2012, 19:48
Hallo,

für einen Mobilen Roboter auf Rädern möchte ich einen Microcontroller kaufen, habe bis jetzt erst mit einigen wenigen zu tun gehabt. Der Roboter soll später über fernsteuerbar sein und auch über WLan/Internet kommunizieren können. Sensoren, wie Abstandssensoren, und ein Kamerasystem sollen ebenfalls eingebaut werden. Daher sollte er über viele IOs verfügen und vermutlich auch einen dementsprechend schnellen Prozessor haben. Ich möcht auch möglichst offen bleiben um das Ganze später noch erweitern zu können.
Welcher Microcontroller eignet sich dafür am besten?

Meine Favoriten sind bis jetzt der Arduino Mega 2560 und das Beagleboneboard. Wobei das Beagleboneboard momentan mein Favorit ist weil:
+ 700MHz eignen sich besser für meine Aufgaben
+ USB-Anschluss könnte man mit USB-Hub erweitern und daran WLan-/Bluetooth-Stick/USB-Kamera oder ähnliches hängen, was es vergleichbar billiger macht wenn ich einberechne dass ich mehrere
+ kleines Linux ist draufspielbar
Muss man ein Linux draufspielen oder kann man auch so wie beim Arduino einfachen C-Programmcode benutzen?
Kann man die IOs am Beagleboneboard auch für I²C verwenden?
Gibts irrgendwelche Nachteile gegenüber dem Arduino?
Was haltet ihr davon, andere Vorschläge?

MfG Virtuelx

robo_tom_24
07.05.2012, 21:45
Hallo

Schönes Projekt haste dir da ausgesucht ;)
Ich bau grad so was ähnliches, ein RP6 Fahrgestell dass per BT steuerbar ist, vl mal mit Kamera

Und da sind wir schon, eine qualitativ brauchbare Bildübertragung fordert extrem viele Resourcen, die normalerweise ein µC nicht hat
Wenn du das Ganze sowieso per WLAN steuern willst, kannst ja den Bot direkt über WLAN ansprechen und einfach eine "0815" WLAN Kamera dran schnallen, kommst wahrscheinlich einfacher davon und es bleibt genug Rechenleistung für Sensoren, Servos etc. noch am µC übrig
Und vom PC aus gesehn ist das sowieso dann eins. Anstatt eines Fensters für die Steurung und Bild, hast halt zwei getrennte, aber mit ein wenig Programmiergeschick ist das sicher auch in ein Fenster zu bringen

mfg thomas

5Volt-Junkie
07.05.2012, 23:17
Hi ;)

also ich verstehe in letzter Zeit echt nicht, wieso alle so scharf darauf sind, einen quasi PC in ihren Roboter zu stecken, um damit Handvoll Funktionen zu verwalten. Nur weil das schneller ist, heißt es nicht, dass es besser ist ;)

Was bedeutet für dich "Favorit"? Du sagst BeagleBone ist dein Favorit aber es scheint so, als hättest Du keine Ahnung davon. Ich auch nicht, deswegen halb so schlimm :) Nimm Dir für den Anfang den Arduino. Damit kannst Du Dein System auch beliebig erweitern (I2C, SPI, UART). Wenns zu eng wird, machst du noch einen µC dazu als Slave.

Bei dem BB sehe ich zwar den Vorteil dass es schnell ist und viel Speicher bietet, aber da Steckt ziemlich viel Aufwand dahinter, das Ding zum laufen zu bringen.
Dann lieber doch alles mir Arduino machen (oder auch Bascom oder was auch immer) und den Rest der Zeit in eine schöne GUI in VB oder Visual Studio reinstecken. Dann hast Du alles in einem Fenster. ;)

Das BB ist meiner Meinung nach für den Umfang solcher Projekte, ziemlich oversized. ;)

joar50
08.05.2012, 09:03
Hallo,
zuerst mal ganz allgemein. Du fragst nach einem Mikrocontroller aber schlägst im gleichen Moment zwei Dev-Boards vor.
Das soll hier keine Klugsch....ei sein, aber zwischen MC und Board besteht ein himmelweiter Unterschied.
Ansonsten stimme ich mit 5Volt-Junkie voll überein. Das BB ist auch meiner Meinung nach völlig übertrieben.
Nimm zu Anfang das Arduino-Board. Ist meine Meinung.
Nur du allein kannst wissen mit welchem Board du am besten klar kommen wirst. (Schnittstellen, Programmierung usw.)

Virtuelx
08.05.2012, 18:17
@robo_tom_24: Die WLan-Kamera ist eine gute Idee, allerdings sind die vergleichsweise doch relativ teuer (+60€). Eigentlich hatte ich vor die Kamera von einem alten Handy zu nehmen.

@5Volt-Junkie: Leider stimmt das, dass ich von Beaglebone kaum Ahnung hab, deswegen frage ich ja auch hier nach. Ich beziehe mich auf das was ich davon gelesen habe, deswegen mein Favorit. Dass das Beagleboneboard für dieses Projekt oversized ist kann ich nicht ganz zustimmen. Ich vermute dass der Arduino zu schwach für eine Videoübertragung + Peripherie ist. Außerdem lege ich Wert darauf dass das ganze später noch erweiterbar ist. Ich möchte eigentlich nicht wieder neue Motoren/µC/Akkus/etc. kaufen sobald ich gröbere Änderungen vornehmen, deswegen greife ich auch lieber zur nächst größeren Variante.

@joar50: Sorry, µC und Entwicklungsboards sind für mich Synonyme, du hast aber Recht dass da ein Unterschied ist! Was meinst du genau mit "am besten klar kommen" ? So wie ich das gesehen habe kann ich auf beiden Boards C-Code verwenden, der Unterschied beim Beaglebone ist dass ich über Linux programmieren muss(?).

robo_tom_24
08.05.2012, 18:30
was willst du?
willst du ein 2x2cm Fenster mit undefinierbaren Punkten oder willst du auch was erkennen?

Ich will jz keine Werbung machen aber schau mal da: Wireless Webcam (http://www.amazon.de/Technaxx-TXX-151-WebCam-151-Wireless/dp/B0031RIQF0/ref=sr_1_32?s=ce-de&ie=UTF8&qid=1336498113&sr=1-32)

mfg thomas

Virtuelx
08.05.2012, 18:50
Danke, das wäre für mich eine Lösung.
Mir geht es mehr um die Realisierung, es ist irrgendwie interessant wenn man alte Teile wiederverwerten kann, die Bildqualität ist für mich zweitranging. Der Weg ist das Ziel :)

robo_tom_24
08.05.2012, 20:26
Nichts jetzt gegen dich und deine Realisierung, nur wenn wir alle so denken würden, säßen wir heute mit Windows 7 auf nem Intel 8086 da ;)
Also, mal was neues schadet nicht, und weniger Arbeit ist es teilweise auch noch...

mfg thomas

5Volt-Junkie
08.05.2012, 21:27
Ja gut, es ist zwar ein Argument, dass man einfach mal was realisieren möchte und nicht das Ziel sondern der Weg ist wichtig. Nur es ist eben wie ein Auto mit 400PS, kann aber nur 80km/h Höchstgeschwindigkeit erreichen.

Wie fit bist Du eigentlich mit Linux und C? Ich weiß, ist ne blöde Frage, aber nenn ein paar Beispiele, was Du schon alles mit C und Linux gemacht hast.

Wieso willst Du bei Deinem Projekt Motoren/Akkus tauschen? Musst nur das Board austauschen und den alten nicht unbedingt wegwerfen. Ich werde mir für meinen Hexapod auch erst mal evtl. SD21-Controller kaufen und später eigene Hardware entwickeln. ;)

Ich weiß nicht genau, wie das mit BB-Board ist aber bei Raspberry-Pi haben sie bis jetzt auch nicht viel zum laufen gebracht.

Kanns aber z.B. hier (http://www.surveyor.com/SRV_info.html) ein Paar Anregungen holen. Ich weiß nicht ob Du so ein Projekt von 0 an aufbauen willst, oder doch dazu bereit wärst einige Ideen zu übernehmen.

joar50
09.05.2012, 09:48
Hallo,

Was meinst du genau mit "am besten klar kommen"
Ich meine eigentlich das, was 5Volt-Junkie dir sehr ausführlich geschrieben hat. Speziell wie gut sind deine C- und LINUX-Kenntnisse? Kannst du hardwaremäßig deine Vorstellungen mit den Boards umsetzen? Wenn ja mit welchem besser?
Ich persönlich würde nach wie vor noch zum Arduino raten.

Virtuelx
10.05.2012, 17:54
@robo_tom_24: Ich verstehe deinen Punkt.

@5Volt-Junkie: C sollte für mich kein Problem sein, habe schon auf ein paar µCs in C Programme geschrieben und habe auch so ein paar Kenntnisse über Netzwerkprogrammierung und ähnliches. Mit Linux(ohne grafischer Oberfläche) habe ich auch schon ein wenig zu tun gehabt (Grundumgang und Shellprogrammierung).
Vielleicht habe ich mich etwas falsch ausgedrückt, was ich meinte war: Ich möchte den Roboter möglichst modular aufbauen, so dass ich im späteren Verlauf die Möglichkeit habe diesen immer mehr zu erweitern.
Danke für den Link, ich werde mal reinschnuppern!

@joar50: Die einzige offene Frage ob es hardwaremäßig möglich ist das umzusetzen ist, ob der Prozessor vom Arduino für aktuelle und zukünftige Dinge reicht. Was mir noch eingefallen ist, dass ich gerne einen kleinen Handydisplay/LCD-Anzeige anbinden möchte und ich möchte über ein Gamepad den Roboter steuern können. Da wäre natürlich ein USB-Anschluss mit USB-Hub sehr angenehm.

Saturas077
05.05.2013, 19:25
Guten Nabend,
Ich hoffe Ihr steinigtmich nicht, das ich einen alten Thread wieder benutzte.
Auf der Suche nach einen Board bin ich ein wenig ratlos. In dieser COmmunity wird meist von dem RN-Control oder "dem" Arduino geschrieben. Wenn es Mobile Roboter betrifft meist ehr von dem RN-Control. Preislich wäre ich geneigt zu dem Arduino zu greifen um mich einzuarbeiten und dieses dann weiter zu ergänzen. In wieweit da das Verhältniss dann zu einem RN-Control steht konnte ich bisher nicht klären.
Zu meiner Person. Ich studiere Elektrotechnik und werde nächstes Jahr meinen B. Sc. machen. Vorlesungen hatte ich zum Thema Mikrocontroller und Robotik. Im Modul Mikrocontroller ging es um die Programmierung eines PICXXX von der Firma microchip und dessen Aufbau wie auch Funktionalität. Im Thema Robotik von den Grundlagen der Quantionen über Radgetriebene Roboter bis zu Greifarmen. Wir hatten als Dozenten einen Informatiker aus dem Arnold Projekt, weshalb mehr Vorlesungen in Richtung Therie der Bewegung der Greifarme gegangen ist.

Aufgrund dieser Basis denke ich, das ich schnell die Einarbeitungphase hinter mich bringen würde.
Meine Ziele sind etwas abweichend von dennen des Thread erstellers. Ich möchte als ehmaliger RC-Pilot keine Ferngesteuerten Fahrzeuge mehr bauen. Es geht mir viel mehr um die Autonomie. In welche Richtung oder was er tun soll ist erstmal vollkommen egal. Es soll sich bewegen. Als Student sind die Finanziellenmittel nicht sehr hoch, wobei ich keine Grenze festlegen möchte.

Grüße Saturas077

robo_tom_24
05.05.2013, 21:52
wenn du dir passende Antworten erhoffst, dann mach bitte einen eigenen Thread auf...

Virtuelx
06.05.2013, 16:03
Guten Nabend,
Ich hoffe Ihr steinigtmich nicht, das ich einen alten Thread wieder benutzte.
Auf der Suche nach einen Board bin ich ein wenig ratlos. In dieser COmmunity wird meist von dem RN-Control oder "dem" Arduino geschrieben. Wenn es Mobile Roboter betrifft meist ehr von dem RN-Control. Preislich wäre ich geneigt zu dem Arduino zu greifen um mich einzuarbeiten und dieses dann weiter zu ergänzen. In wieweit da das Verhältniss dann zu einem RN-Control steht konnte ich bisher nicht klären.
Zu meiner Person. Ich studiere Elektrotechnik und werde nächstes Jahr meinen B. Sc. machen. Vorlesungen hatte ich zum Thema Mikrocontroller und Robotik. Im Modul Mikrocontroller ging es um die Programmierung eines PICXXX von der Firma microchip und dessen Aufbau wie auch Funktionalität. Im Thema Robotik von den Grundlagen der Quantionen über Radgetriebene Roboter bis zu Greifarmen. Wir hatten als Dozenten einen Informatiker aus dem Arnold Projekt, weshalb mehr Vorlesungen in Richtung Therie der Bewegung der Greifarme gegangen ist.

Aufgrund dieser Basis denke ich, das ich schnell die Einarbeitungphase hinter mich bringen würde.
Meine Ziele sind etwas abweichend von dennen des Thread erstellers. Ich möchte als ehmaliger RC-Pilot keine Ferngesteuerten Fahrzeuge mehr bauen. Es geht mir viel mehr um die Autonomie. In welche Richtung oder was er tun soll ist erstmal vollkommen egal. Es soll sich bewegen. Als Student sind die Finanziellenmittel nicht sehr hoch, wobei ich keine Grenze festlegen möchte.

Grüße Saturas077

Hallo,

ich habe mit RN-Control noch nicht gearbeitet, daher kann ich nur schildern was ich vom Arduino halte.
Mit der Arduino IDE kann man sehr einfach programmieren, da schon sehr viele Funktionen/Bibliotheken standardmäßig dabei sind. Wenn dir das jedoch nicht gefällt oder zu einfach ist, kannst du auch "normal" programmieren. Du solltest vielleicht deine Ziele etwas genauer definieren, dann wird es für dich auch klarer werden welcher der beiden Boards sich besser für dein Projekt eignet. Allerdings finde ich ist man mit dem Arduino ATMEGA 2560 generell sehr gut dran, da er ein Allrounder ist. Er ist für einen Hobbybastler leistbar, wirklich vielseitig einsetzbar und hat viele digitale und analoge IOs, sowie diverse Schnittstellen (z.B. I²C). Nur für Dinge mit sehr hoher Rechenleistung(Bildverarbeitung, Kamerastreaming, ...) ist er schätzungweise nicht geeignet.
Habe kurz einen Blick auf den RN-Control geworfen und der hauptunterschied, welcher mir aufgefallen ist, ist dass dort bereits Taster, Motortreiber, LEDs und ähnliche Spielereien bereits auf dem Board vorhanden sind. Das wäre für dich als Elektrotechniker wahrscheinlich kein Problem eine eigene Schaltung zu machen. Außerdem sind die Stecker von den Pins andere, was ich mir umständlich vorstelle wenn beliebige Sensoren verwenden möchte.

Saturas077
06.05.2013, 18:04
Danke, Ich habe mir für den Arduino UNO entschieden, da ich diesen über die Hochschule für 18 Euro beziehen kann.