Ferngesteuertes Auto (Diplomarbeit/Maturaprojekt))

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,
    ich bin neu in der Welt von Raspberry Pi.

    Mein Maturaprojekt wird ein ferngesteuertes Auto in Zusammenarbeit mit zwei Kollegen.
    Ich übernehme den elektronischen Teil des Projekts.

    Wie könnte ich folgende Punkte lösen?

    • Auto hat 4 Motoren, diese ansteuern?
    • Kamera?
    • Lenk-Servo ansteuern?
    • Perfekt wäre Steuerung per Smartphone und Videoübertragung auf Smartphone über WLAN?
      für den Anfang könnte ich mir vorstellen über Notebook zu steuern


    Wie soll ich vorgehen?
    Welche Hardware?

    MfG Lukas

    Einmal editiert, zuletzt von lukas97 (21. Februar 2016 um 19:08)

  • Ferngesteuertes Auto (Diplomarbeit/Maturaprojekt))? Schau mal ob du hier fündig wirst!

  • Die Frage die mir als erstes ins Auge sticht: Was für ein Ferngesteuertes Auto?
    Vom Chassie hängt quasi alles ab, wie viel Platz darauf ist, ob bereits Motoren vorhanden sind; wenn ja was für welche, wie soll gelenkt werden, wo können Akkus angebracht werden, muss es unbedingt ein Pi sein; wenn ja (wegen Cam) wär wichtig das dieser eine stabile Stromversorgung hat; wie lange soll gefahren werden können was wiederum entscheidend für die Wahl des Akkus ist, Ausbaufähigkeit usw

    Bevor man sich an die Software macht muss man also erst mal die Hardware klären und dabei einer gewissen Hierarchie folgen.

  • Es muss nicht unbedingt ein Raspberry Pi sein.

    Es soll ein BMW M5 1:10 werden.
    Ich dachte mir ich nehme Brushless-Motoren, die mit einem Planetengetriebe direkt in den Reifen verbaut sind.
    Es soll über einen Servo gelenkt werden.
    Was den Platz betrifft, wir wollen noch ein Luftfahrwerk verbauen, wobei jeder Zylinder einzeln ansteuerbar sein soll.
    Eventuell soll es die Funktion geben, dass zB ein Sensor verbaut wird, der dafür sorgt (falls aktiviert), dass das Auto nicht gegen eine Wand prallt.

    Software seitig frage ich mich, wie soll ich das Differential lösen, wenn kein mechanisches vorhanden ist?

    Einmal editiert, zuletzt von lukas97 (11. Februar 2016 um 18:56)

  • Ähm - das ist dann aber kein klassisches Ferngesteuertes Auto mehr ... Das wär eine Erwähnung direkt im ersten Beitrag wenn nicht sogar in der Überschrift wert gewesen.

    Ein BMW M5 1:10 Modellbau Auto, was auf Elektro-Motoren-Antrieb mit Planetengetriebe als auch Luftfahrwerk umgerüstet werden soll .... und dafür möchtest du Tipps zu dem Wir hier aber weder Abmessungen noch Tauglichkeit wissen können da das viel zu speziell ist. Ich kann mir nicht mal ansatzweise vorstellen wie viel Platz geboten ist, wie die Aufhängung aussieht, wo die Motoren angebracht werden können usw usw usw Hellsehen/Gedankenlesen ist ein Mythos.

    Das vermutlich beste wird sein ein bereits fertiges RC-Car zu nehmen und dafür müsst Ihr dann die passenden Motoren finden usw und Uns dann noch mal mit genaueren Details gezieltere Fragen stellen - aber auf dieser Basis kann man da ME nichts weiter zu sagen.

    Einfach nur irgendwelche GPIO's verwenden um irgend etwas anzusteuern ist pillepalle.

  • Ich bin höflich... Finde es nur utopisch was du von uns erwartest, zu glauben das man auf solch einer Informationsbasis sinnvolle Tipps geben könnte.

    In deinem ersten Beitrag stehen keine verwertbaren Details, nur das du ein Auto via WLAN und Smartphone steuern möchtest... Nachfolgend kommen auch nicht wirklich mehr Details deinerseits rüber - du nimmst eher eine klassische "gebt mir" Erwartungshaltung/Position ein - das stört mich.

    Was denkst du sollte man/wir/ich dir hier jetzt schreiben? Du kannst den und den Motor-Treiber verwenden? Kann dir aber keiner sagen da weder bekannt ist was für Anforderungen die Motoren haben noch was für ein Akku eingesetzt wird. Das gleiche gilt auch für den Rest

    Also ich helfe gerne aber dann bitte mehr Details ;)

  • Womit man das Auto steuern könnte, da du geschrieben hast, ob es unbedingt ein Pi sein muss?
    Rein theoretisch müsste es doch egal sein ob ich einen Motor mit 10A oder mit 30A nehme, denn dies ist ja nur vom ESC abhängig, daher verstehe ich dich nicht ganz.
    Ich würde gerne wissen, womit ich diese Anforderungen am "einfachsten" umsetzen kann.

  • Wenn der Motor 30A frisst brauchst du auch einen entsprechenden Treiber, dessen Treiberstufe dann auch entsprechend Gekühlt werden muss, und auch einen entsprechenden Akku. Wenn du zum Beispiel einen klassischen RC LiPo Akku mit 7.2 Volt nimmst brauchst du aber auch noch einen Step-Down Converter für den Pi da der nur 5V verträgt bzw die GPIO's sogar nur 3V3 verkraften. Aber damit wirds IMHO schwer 30A zusammen zu kriegen.

    Du könntest zB auch einen Arduino UNO verwenden, allerdings wird es schwierig mehrere Aktionen gleichzeitig durchzuführen, auch mit mehreren
    Das einfachste wär in der Tat ein Pi, aber auch da könnte ggf ein Zero bereits reichen da ein USB Port dir vermutlich reichen könnte/würde. Ein Zero wäre kleiner und brauch auch weniger Strom (nur halb so viel wie ein B+ oder 2B).

    So wie ich das auch gemacht habe wäre eine Kombination von Arduino und Pi, um die 26 Digitalen GPIO's des Pi's um sowohl PWM als auch Analoge Ein- und Ausgänge sowie externe Interrupt Pins zu erweitern - denn das wirst du vermutlich auch brauchen -> PWM. Das geht zwar auch via Software aber davon rate ich eher ab. Analoge Eingänge sind zum Messen auch recht nützlich.

  • was sind Interrupt Pins?

    Mit Interrupts gibt es eine effektive Method um direkt auf eine Signalveränderungen zu reagieren. Man kann das zwar auch Softwareseitig regeln aber das ist i.d.R. langsamer. Siehe dazu zB http://raspi.tv/2013/how-to-us…pi-and-rpi-gpio
    Beispielsweise für Odometrie-Sensoren, also Encoder in/an den Motoren verwendet man i.d.R. Interrupts um schlicht die gemachten Umdrehungen zu ermitteln was man letztlich für einiges umrechnen kann...

    der Zero hat keinen Kameraanschluss, oder?

    Der Zero hat keinen CSI Port, richtig.
    Aber du könntest einen kleinen passiven 2-4Port USB Hub für eine USB-Kamera und WLAN-Stick verwenden, musst nur drauf achten das diese möglichst wenig Strom benötigen (insg. nicht mehr als 600mA).
    Oder du verwendest einen ESP8266 fürs WLAN und nimmst den einen USB Port für ne USB-Cam....

    Also über GPIO's kann man nicht direkt ein PWM ausgeben

    Doch. Du kannst via Software jeden GPIO PWM fähig machen. Das ist aber langsamer und ungenauer - Meiner Meinung nach also nicht zu bevorzugen.
    Es gibt Port Expander via SPI oder I2C die ebenfalls PWM und Analoge Ausgänge bereitstellen können, bedarf dann aber Kontrolle seitens des Pis.
    Ein AVR (ob Mega, UNO oder Nano ist egal) könnte sowas aber ME besser übernehmen - der Pi gibt ihm einfach einen Befehl "PWM für 20sek" und kümmert sich derweil um was anderes.

    welche Funktion würde der Arduino übernehmen?

    Die Möglichkeiten sind fast grenzenlos. Je nach Größe des verfügbaren Flashes vom AVR kannst du ihm alles mögliche an Aufgaben auferlegen.
    Anfangs kümmerte sich mein Mega eigenständig um die ganzen Abfragen der Sensoren und Motor-Ansteuerung etc und sendete die Daten kontinuierlich zum Pi A+ der wiederum dann Entscheidungen traf. Mittlerweile nutze ich den Arduino Mega nur noch als Port Expander und der Pi2 kümmert sich um alles; konfigurieren und abfragen des aktuell benötigten Pins etc - weil der nun mehr Leistung zur Verfügung hat und dank Multiprocessing auch einiges mehr gleichzeitig abarbeiten kann.

  • also, wenn ich das jetzt richtig verstanden habe:

    Den Arduinozur Erweiterung des Pi Zero, wobei der Arduino nur Daten empfängt/weiterleitet und der Pi rechnet und empfängt vom Netzwerk seine Befehle?

    Kann der Arduino direkt ESC's ansteuern oder braucht man dafür wieder extra Hardware?

    Schaft der Zero überhaupt die Rechenleistung zur Übertragung eines Videosignals?

    Einmal editiert, zuletzt von lukas97 (11. Februar 2016 um 22:30)

  • Hi lukas,
    ich komme aus dem Multicopter Bereich und würde dir empfehlen eher in die Modellbau Richtung und deren Foren zu gehen. Dort werden auch Arduino Boards erfolgreich eingesetzt um damit Servos, ESCs anzusteuern und auch finden dort Signalübertragungen im 2,4GHz Bereich statt.
    Gruß und viel Erfolg


  • Hi lukas,
    ich komme aus dem Multicopter Bereich und würde dir empfehlen eher in die Modellbau Richtung und deren Foren zu gehen. Dort werden auch Arduino Boards erfolgreich eingesetzt um damit Servos, ESCs anzusteuern und auch finden dort Signalübertragungen im 2,4GHz Bereich statt.
    Gruß und viel Erfolg

    Danke, werde ich auch machen

  • " Signalübertragungen im 2,4GHz Bereich " bringt fürs Smartphone nur nicht viel und Arduino erwähnte ich auch bereits, aus gutem Grund :fies: Ersteres wird nur gelingen wenn es eine "Mittelstation" gibt, die aber eigentlich auch überflüssig wäre da man ja WLAN nutzen kann sofern man einen Pi oder Arduino "mit Adapter" direkt verbaut...

    Wenn schon hinterfragt wird ob ein Zero genug Rechenleistung zur Übertragung eines Videosignals hat, was ist dann aber mit einem Arduino-only?
    Die Möglichkeiten mit nur einem microController sind im Gegensatz zu einem vollwertigen Linux schon sehr beschränkt.


  • " Signalübertragungen im 2,4GHz Bereich " bringt fürs Smartphone nur nicht viel und Arduino erwähnte ich auch bereits, aus gutem Grund :fies: Ersteres wird nur gelingen wenn es eine "Mittelstation" gibt, die aber eigentlich auch überflüssig wäre da man ja WLAN nutzen kann sofern man einen Pi oder Arduino "mit Adapter" direkt verbaut...

    Wenn schon hinterfragt wird ob ein Zero genug Rechenleistung zur Übertragung eines Videosignals hat, was ist dann aber mit einem Arduino-only?
    Die Möglichkeiten mit nur einem microController sind im Gegensatz zu einem vollwertigen Linux schon sehr beschränkt.

    jetzt hast mich verwirrt :s

  • Und was verwirrt dich? :-/

    " Signalübertragungen im 2,4GHz Bereich "
    Ua. Funkfernsteuerungen aus dem Modellbau Bereich arbeiten mit 2,4GHz. Das bringt dir aber alleine nichts da dein Smartphone nicht in diesem Bereich senden kann, man brauch dann nämlich auch noch das passende Quarz. Bedeutet also, du bräuchtest eine Mittelstation welche die Befehle via WLAN vom Smartphone umwandelt/übersetzt und via Funkfernsteuer-Signal ans Gefährt weiterleitet. Da du aber auch direkt im Gefährt WLAN haben könntest bräuchtest du keinen "Übersetzer". Das wär gehüpft wie gesprungen.

    Und wenn du schon hinterfragst ob ein Zero genug Rechenleistung für ein Videosignal hat - wie sieht es dann erst mit einem AVR aus, also einem Arduino Mikrocontroller?
    Der hätte nämlich weit aus weniger Rechenleistung und zudem kein Multi-processing/threading. Ein Mikrocontroller kann also nicht wirklich mehreres gleichzeitig sondern nur eins nach dem anderen, was zwangsläufig bedeutet dass wenn er ein Videosignal übermitteln soll kann er nicht gleichzeitig Befehle abarbeiten oder PWM ansteuern etc. Das ginge nur nacheinander. Klar gibt es da auch Wege sowas "schnell" nacheinander abarbeiten zu lassen aber ist trotzdem keine Parallelisierung.

    Ein Zero hat den selben SoC wie ein B+, also 700MHz und 512MB RAM. Zwar nur einen Kern aber dank der 700MHz sind die Wechsel zwischen den "nacheinander abarbeiten" derart schnell das man schon einiges dafür tun müsste um davon etwas zu merken.

    Ich hab mich damit selber für mein Projekt sehr viel auseinander gesetzt und mein Projekt hat eine weitaus höhere Anforderung als Dein Projekt.

    Es gibt unzählige Möglichkeiten. Es gibt tausend verschiedene Einplatinencomputer oder Mikrocontroller, alle mit ihren Vor- und Nachteilen. Manche sind spezieller und weniger stark dokumentiert, andere (wie der Pi) erfreuen sich einer großen Community und somit auch sehr vielen Dokumentationen unzähliger Projekte...

    Du musst dir halt im klaren werden was Deine Anforderungen sind, was muss dein Gefährt mindestens können und was wäre nice-to-have. Zum Beispiel würde ich mir erst mal darüber im klaren werden Wie Lange das Gefährt mind. über Akku laufen können soll und wie viel Platz du für einen Akku überhaupt maximal zur Verfügung hättest.. Wenn du nämlich nur die Anforderung hast dass das Gefährt nur 5 Minuten fahren soll dann fällt der Akku kleiner aus. Wenn du aber 30A Motoren verbaust (was ich ziemlich utopisch finde) brauchst du auch einen stärkeren Akku der wiederum mehr Platz benötigt und du somit weniger Platz für einen Computer/Mikrocontroller hast. So ein Arduino-Board ist nämlich auch nicht unbedingt klein, klar gibts da auch "Mini" Versionen aber die sind natürlich auch nicht gleichwertig wie zB ein Mega2560...

    Deshalb meinte ich ja, es fehlen schlicht zu viele Informationen um dir effektiv helfen zu können - jeder kann dir irgend etwas vorschlagen aber ob das überhaupt tatsächlich auch zur Anwendung kommen kann? :s

    Wie gesagt: Überleg dir ein realistisches Konzept, leg die Rahmenbedingungen fest, ermittel wie viel Platz du überhaupt in dem Modellbau Auto hast und wie dein Budget aussieht und dann wäre es sinnvoll wenn du das bei deinen Hilfegesuchen auch mit angibst.

  • Hallo, da ich kein neues Thema erstellen wollte, schreibe ich hier weiter.

    Mein aktueller Bestand:


    Mein Ziel ist es den Arduino über mein Smartphone (Android App) zu steuern.

    Meine Recherche aus den letzten Tagen ergab folgendes:

    • Smartphone -> RPi:
      auf dem RPi läuft ein node.js Server, welcher über eine fixe IP und websockets mit einem Browser/App kommuniziert,
      der RPi verbindet sich automatisch mit dem vom Smartphone gehostetem Hotspot
    • RPi -> Arduino:
      Ich habe drei Möglichkeiten gefunden:

    USB würde wegfallen da der USB-Port vom Arduino belegt wäre und man somit wenn alles zusammengebaut ist, den Arduino abstecken müsste, um ein Codeupdate durchzuführen.
    Die beste/beliebteste Lösung ist I²C, da man auch mehrere Pi's und Arduinos und Sensoren verbinden kann.
    Allerdings habe ich noch keine Lösung gefunden, wie man mehere Signale übermitteln kann, wie z.b. den aktuellen Wert der Lenkung und der Geschwindigkeit und wie der Arduino zb den aktuellen Akkustand übermittelt.

    Grundsätzlich möchte ich eine App schreiben, welche zwei Schieber für Lenkung und Gas beinhaltet.
    Wenn das funktioniert wäre es schön, wenn man im Hintergrund den Livestream der OnBoard-Kamera sieht.
    Der Arduino berechnet die Werte für die ESC's der Motoren und vom Lenkservo.

    Nun frage ich mich wie bekomme ich die Werte der Schieber auf den RPi und von dem auf den Arduino. :helpnew:

    Ich bin für jeden Tipp/Ratschlag offen.

    MfG Lukas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!