Stromversorgung für Roboter

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo alle zusammen,
    ich bin grade am Bau eines Ultraschall gesteuerten Roboters und habe momentan meine probleme mit der Stromversorgung der H-Brücke bzw. der 4 Motoren.

    Der Pi wird aktuell mit einer Powerbank von Anker betrieben und ist an der Unterseite des Gefährts versteckt.
    Die Motoren werden zur Zeit noch mit einer 9V Batterie betrieben, welche allerdings schon nach kurzer Zeit den Geist aufgibt.
    Aufgrund dessen muss eine andere Lösung her, die ebenfalls platzspaarend ist aber länger durchhält.
    Die Frage ist jetzt ob ich das mit einer weiteren Powerbank mache (welche sich an die H-Brücke anschließen lässt) oder mit Akkupacks welche für RC benuzt werden.
    Falls jemend schon erfahrungen mit ähnlichem Problem hat und eine Empfelung hat würde mich das freuen.

    Außerdem möchte ich die Geschwingkeit über PWM regulieren, da der Roboter mir für Testzwecke momentan zu schnell läuft und ich später eventuell Kurven mit großen Radius fahren will (momentan nicht möglich da der Motor an oder aus ist -> Kurven mit kleinen Radius)
    Ich habe auf einer anderen Seite gelesen (finde den Link nichtmehr) das nur ein GPIO-Pin PWM unterstüzt, ist das so richtig oder habe ich die möglichkeit über eine Sowfware auch mehr Pins für meine Zwecke zu benutzen ... die Motoren sind insgesammt mit 4 GPIO-Pins mit dem Pi verbunden (somit bräuchte ich auch 4 Pins die PWM unterstützen, oder sehe ich das Falsch)


    Hier noch die verbauten Komponenten (falls sich jemand dafür interessiert):


    Chassis  [Anzeige]
    Anker Powerbank [Anzeige]
    H-Brücke [Anzeige]
    Ultraschallsensoren [Anzeige]
    W-Lan Stick [Anzeige]

    Hier noch ein Bild meines Provisoriums :D

    PS: Falls sich jemand das gleiche Chassis kaufen will, rate ich persönlich davon ab da die Räder sehr unrund laufen und das Teil anfangs echt nicht gesung richt. Ich wollte allerding loslegen und nicht nochmal 2 Wochen warten bis ich eine Alternative aufgetrieben habe und sowie so erstmal etwas rumprobieren wollte.


    [/img]

    Einmal editiert, zuletzt von Niggl94 (4. September 2015 um 14:20)

  • Sieht aber gut aus. Ich würde Dir 7,2V RC Akkus empfehlen. Später auch für die Elektronik. Sowohl Akkus als auch Ladegeräte sind günstig geworden. Die in der Powerbank verbaute Elektronik behinder letztlich nur. Für das kleine Teil ist Lipo oder LiIon ideal. Wenns größer wird würde ich sogar auf Bleigel gehen. Ist einfach pflegeleichter, aber auch schwerer.

  • Danke für die wie immer schnellen Antworten :)
    Ich habe zu den Motoren keinerlei Technische Daten ... auf gut Deutsch, ich kab keine Ahnung ob diese auch mit 7,2 V betrieben werden können bzw aufgrund das sie nur dann funktionieren wenn der 9V Block voll geladen ist habe ich da so meine Zweifel. Aber da ich so "schlau" war Physik abzuwählen überseh ich hier bestimmt was :D

    Diese Akku-Packs besitzen ja einen bestimmten aufsatz zum anschließen an RC-Cars gibt es da eine Art Aufsatz damit ich die Kabel direkt mit meiner H-Brücke verbinden kann (oder steck ich da einfach meine Kabel rein ? ) ... ich kann das je schlecht einfach abschneiden wenn ich die Akkus später nochmal laden will. ^^

    Einmal editiert, zuletzt von Niggl94 (4. September 2015 um 15:08)

  • Ich rate zu einer getrennten Stromversorgung von RaspberryPI und Antrieb, aus einem einfachen Grund: Die Motoren/Servos usw verbrauchen mehr Strom (insbesondere wenn die Motoren in 'stall' geraten), somit hält die Versorgung nicht so lange wie die für den Pi.
    Versagt die Stromversorgung für die Motoren usw kann das ggf mit etwas Zusatzhardware festgestellt und dem "Bediener" mitgeteilt werden - versagt aber alles auf einmal also der Pi geht ebenfalls mit aus, herrscht erst mal Rätselraten was denn nun "mal wieder" kaputt ist o.ä. :fies:

    Das Problem mit RC Akkus ist das diese meistens aus mehreren Zellen bestehen und sich nicht wirklich trennen lassen. Das laden gestaltet sich dementsprechend umständlicher und bedarf spezielle Ladegeräte (wie zB. das SKYRC iMAX B6, wo von es aber leider auch viele Fakes gibt). Auch gibt es verschiedene RC-Akkus also zum Beispiel LiPo , LiIon oder NiMH. Erstere müssen anders gehandhabt werden als letztere.
    Zum Beispiel LiPo's sind sehr empfindlich und vertragen nicht so gut Kälte/Wärme bzw allgemein Temperaturschwankungen, müssen auch besonders gelagert werden. Außerdem gelten LiPo's als leicht brennbar und dürfen nicht überladen werden usw... Da gibt es also einiges zu beachten.

    Ich verwende bei meinem Car-Roboter einen 6-fach Batteriehalter mit > diesen < NiMh Akkus nur für den Antrieb sowie Sensoren. Der Pi wird bei mir über eine normale 'USB Powerbank' separat versorgt.
    Beachte: In Reihe geschaltet bedeutet das sich Volt addiert, Kapazität bleibt gleich. 6 x 1,2V in Reihe ergeben also 7,2V

    Ein 9V Block hat nicht allzuviel Kapazität, üblicherweise nur um die 700mAh, manche mehr manche weniger. Also haben die auch nicht so viel Stromstärke um die Motoren (die für mich wie von einem Anfänger Kit aussehen und weit verbreitet sind) mit viel Kraft zu versorgen. Von daher würde ich nicht schlussfolgern nur weil Deine Motoren mit dem 9V block träge sind, keine 7,2V vertragen würde..

    Du musst nicht unbedingt Hardware-PWM verwenden (der PI besitzt übrigens eigentlich 2 PWM Ports aber der 2. wird für den Audio-Out verwendet), du kannst das auch in Software-PWM realisieren (wie von dreamshader vorgeschlagen). Software-PWM ist aber CPU-lastiger. Wichtig ist das dein Motor-Driver auch PWM supportet.
    Ich würde dir daher eher dazu raten die Motor-Steuerung über einen AVR zu realisieren, da reicht schon ein sehr kleiner Arduino für den man wahlweise über USB oder UART ansteuern kann. Es würde aber auch ein einzelner AVR Chip reichen wie zB der ATtiny84, der besitzt 4 PWM Ports und könnte über Software-Serial (UART) angesprochen werden (dann spielt es fast keine Rolle welche Pins man für UART nutzt (Hauptsache ein Input-Pin)). Oder den etwas kleineren ATtiny85.. Wenn du's einfach haben willst kannst du aber auch ein Arduino-Nano oder (Pro-)Mini verwenden. Auf den Arduino ist natürlich auch ein AVR verbaut - und die haben übrigens auch Analog-Inputs.
    Dem AVR/Arduino übergibst du dann einfach einen Wert zwischen 0 für Stop/Aus und 255 für Vollgas - Fertig :D

  • Viel dank für diese ausführliche und schnelle Antwort.

    Du schreibst das du zu einer getrennten Stromversorgung rätst, meinst du damit nur das der Pi und die H-Brücke an einer unterschiedlichen Spannungsquelle hängen oder das die beiden Komponenten wirklich komplett von einander getrennt werden bzw eben nur noch durch 4 Jumperwire verbunden sind (Stromversorgung der H-Brücke nicht über den Pi sonder seperat) ?

    Das mit dem Arduino schaue ich mir auch nochmal an ... So wie ich das verstanden habe wäre der Arduino dann nur für die Motorsteuerung zuständig und übermittelt die Daten an den Pi, Sensoren uns ähnliches hängen aber immer noch am Pi selbst. Richtig ?!

  • Du schreibst das du zu einer getrennten Stromversorgung rätst, meinst du damit nur das der Pi und die H-Brücke an einer unterschiedlichen Spannungsquelle hängen oder das die beiden Komponenten wirklich komplett von einander getrennt werden bzw eben nur noch durch 4 Jumperwire verbunden sind (Stromversorgung der H-Brücke nicht über den Pi sonder seperat) ?

    Halt von einander getrennt, separat, einzeln ... :fies: Steuerungsleitungen übermitteln ja kein Versorgungsstrom. Also um die Motor-Steuerung zu steuern müssen hierfür natürlich noch Kabel vorhanden sein. Aber wie gesagt würde ich den PI mit einem eigenen Akku versorgen - und alles was direkt am PI angeschlossen ist wie USB-Geräte oder die RaspiCam... Aber der Strom für Motoren kommt aus einem anderen Akku, einen eigenen - separat :D
    1x Akkupack zum Beispiel 5000mAh --> PI.
    1x Akkupack zum Beispiel 3000mAh --> Rest.


    Das mit dem Arduino schaue ich mir auch nochmal an ... So wie ich das verstanden habe wäre der Arduino dann nur für die Motorsteuerung zuständig und übermittelt die Daten an den Pi, Sensoren uns ähnliches hängen aber immer noch am Pi selbst. Richtig ?!

    Genau.
    Der Arduino könnte auch noch mehr machen - käme aber darauf an um was für einen Arduino es sich handelt, da diese unterschiedlich viel Flash-Speicher für das Programm haben.
    Bei meinem Car-Roboter kommt der größte Arduino zum Einsatz mit 256kB Flash. Aber da ist auch sehr viel angeschlossen - wäre für Dein Fall denk ich übertrieben. Aber vielleicht würde sich bei dir ein UNO gut machen... Wenn du aber nur Motoren darüber steuern willst reicht auch ein Nano oder ähnlich (oder nur ein einzelner AVR Chip)

  • Ok ich glaube jetzt habe sogar ich es verstanden ^^

    1 Akkupack für den Pi (5V)
    1 Akkupack zum betreiben der Sensoren, der H-Brücke etc. (5V)
    1 Akkupack für die Motoren (7,2V)

    Das nimmt dann doch ganz schön viel Platz weg :/

    Du hast ja ebenfalls einnen Roboter gebaut, gibt es irgendwo Bilder dazu ? Würde mich nämlich interessieren wie das ganze bei dir aussieht (Ist ja deutlich mehr an Hardware verbaut wie bei mir)

  • Ein eigener Akku für Sensoren usw. wäre keine schlechte Idee, ist aber ohne Mehraufwand (galvanische Trennung) nicht realisierbar. Den kannst Du Dir also schenken.
    Die H-Brücke kann über eine externe Quelle die Motoren versorgen, während die Ansteuerung über das "Bordnetz" des RPi erfolgen kann ( hier ist zwischen den beiden Komponenten bereits eine galvanische Trennung vorgesehen).

    Also zwei Akkus würden reichen ... wobei ich, wie meigrafd auch schon angedeutet hatte, NiMh verwenden würde, weil die imho am unproblematischsten sind.

    cu,
    -ds-

  • Die Stromversorgung sollte soweit mal abgeschlossen sein. :)

    Jetzt geht es mir noch um den Microcontroler...
    Ich möchte auf jeden Fall 3 Ultraschallsensoren verbauen und einen 3 Achsen Kompass Beschleunigungsmesser hab ich auch noch den ich sicherlich irgendwann mal mit einbinden will (Und falls mir das in einigen Monaten immer noch so viel Spaß macht wächst das bestimmt auch noch weiter). Jetzt die Frage, bringt es mir irgendwelche Vorteile alles über den Micrcontroler laufen zu lassen ? Ich kann ja auch weiterhin sämliche Sensoren über den Pi direkt ansteuern und nur die Motorsteuerung vom Micrcontroller übernehmen lassen.
    Ich habe mal wie vorgeschlagen den Arduino gesucht.

    Arduini Nano
    Arduino Pro Mini [Anzeige]
    Arduino UNO [Anzeige]
    Ey liegen knapp 25€ zwischen Nano und Pro Mini ... für mich als Laien ist es schwer zu erkennen ob es da Gründe gibt die das rechtfertigen oder ob ich abgezogen werde. Der UNO scheint der größte von diesen 3 zu sein und kostet mit seinen 13€ nicht mal die hälfte von dem Nano :-/
    Allgemein gibt es von jedem dieser Microcontroller unglaublich viele verschiedene Varianten, weshalb es nett wäre, falls jemand auf das Thema eingeht direkt einen geeigneten Link posten könnte.

    ATtiny85 [Anzeige]
    @ meigrafd - Du hast geschrieben das es mit dem Arduino einfacher wäre, könntest du oder ein andere kurz darauf eingehen und mir in 1-2 Sätzen beschreiben weshalb dies so ist.

    Ich habe mich noch nicht wirklich mit der Materie befasst (ich leg immer erst richtig los wenn die Teile neben mir liegen -.-), aber ich muss doch den Arduino selbst auch noch programmieren oder habe ich das falsch verstanden, ihr hattet geschrieben das man einen Wert von 0 bis 255 übergeben muss (Ich war mir eben nicht sicher ob das vom Pi direkt gesteuert wird oder man das direkt auf dem Arduino programmieren muss.
    So genug verwirrung gestiftet...

    "Wer nicht fragt bleibt Dumm"

    Gruß Niklas

    Einmal editiert, zuletzt von Niggl94 (5. September 2015 um 14:43)

  • Nein Bilder hab ich von meinem Konstrukt leider keine - da ich kein Gerät (mehr) hab um welche zu erstellen. :daumendreh2:
    Es gibt in meinem Thread aber in Beitrag#5 eine Aufbau Übersicht...

    Pollin ist vergleichsweise teuer. Guck dich mal lieber auf ebay o.ä. um... Den Nano kriegt man bereits für 2,30€ aus China oder 5,09€ aus Berlin bzw 5,60€ aus Karlsruhe (pre-assembled)

    Nun, ein Arduino besteht aus einer fertig bestückten Platine wo nicht nur der AVR verbaut ist. Es ist also einfacher und schneller einen Arduino zu verwenden, als einen einzelnen Chip für den du ggf auch noch einen Kondensator (zwischen VCC und GND) brauchst um die Versorgungsspannung zu stabilisieren, eine Loch-/Streifen-Rasterplatine um ihn dort drauf zu löten (am besten mit Sockel) und dann anhand des Datenblatts auszufigurieren welcher Pin welche Funktionalität bereitstellt... Ach und das Programm (Sketch) muss man auch noch irgendwie flashen :fies:
    Deshalb wärs mit nem Arduino eben einfacher ...
    Zum Beispiel der Nano besitzt eine USB-Schnittstelle, über die er nicht nur mit Strom versorgt wird sondern auch geflasht werden und mit dem PI kommunizieren kann - einmal an den PI angeschlossen und du musst ihn nie wieder abziehen ;)

    Vergleich dazu am besten die Produkte direkt auf http://Arduino.cc
    Micro (mit USB)
    Nano (mit USB)
    Pro Mini (ohne USB)
    Uno (mit USB)
    Mega 2560 (mit USB - der größte)
    ..es gibt zwar auch noch den Due der ebenfalls groß ist, spielt aber in einer anderen Liga.. Und nen Pro-Micro gibt es inoffiziell ebenfalls, aber der hat nur einen größeren AVR..

    Genauere Details entnimmst du am besten der jeweils verlinkten Produkt Seite - wäre übersichtlicher als hier nun einen Vergleich anzustellen.
    Der UNO ist auf jeden Fall ein gutes Einstiegsmodel und bietet schon recht viel Möglichkeiten inkl. Shields aufzustecken was mit den kleineren nicht geht. Der Micro ist aber auch nicht zu verachten, und den Nano könnte man nach diesen beiden einordnen... Den Mini gibt es als 3V3 oder 5V Model ... usw ...

    Ja, den Arduino/AVR müsstest du auch noch programmieren, also ein sog. Sketch schreiben und drauf flashen.

    Ob es Sinn oder weniger Sinn macht auch die Sensoren über den Arduino/AVR laufen zu lassen, kommt darauf an wie das Zusammenspiel aussieht.
    Problem mit dem Microcontrollern ist leider das die nicht wirklich Parallel etwas machen können, also kein Multi-Threading. Es kann immer nur eine Operation zugleich/gleichzeitig ablaufen. Wenn er also gerade damit beschäftigt ist den US zu verwenden, kann er nicht nebenbei auch noch dem Motor sagen "Vorwärts!"...
    Mit dem PI ginge das je nach Programm aber schon - also dort können ja mehrere Scripts simultan/parallel/gleichzeitig laufen, aber auch mit gewissen Einschränkungen: zB kann ein einziges bash Script auch nur eins auf einmal machen, ein sleep zum Beispiel blockiert alles und es kann nicht gleichzeitig noch was anderes tun. Für Python gibts Multi-Thread Module und somit könnte ein einziges Script auch mehreres gleichzeitig tun - oder man lässt halt mehrere Scripts laufen die alle etwas anderes machen ... Diese Vielfalt oder Flexibilität geht nicht auf nem Arduino/AVR.

Jetzt mitmachen!

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