Reaktionsrad antreiben und über MPU regeln

  • Hallo Foren-Experten :)


    ich möchte für ein Uni-Projekt ein Reaktionsrad bauen, das ein Drehmoment auf eine an einem Seil hängende und frei drehbare Kiste ausübt. Das Reaktionsrad besteht aus einer Schwungmasse in Form einer Scheibe und soll in beide Richtungen beschleunigt werden können. Um diese Schwungmasse anzutreiben, würde ich gerne einen Elektromotor verwenden. Hierfür stelle ich mir ein Raspberry Pi vor, der mittels einer MPU den aktuellen Verdrehwinkel (bzw. Winkelgeschwindigkeit und -beschleunigung) misst, die Daten auswertet und den Motor geregelt ansteuert, um die Kiste z.B. um 90° zu drehen.

    Meine bisherige Recherche hat mich auf das Adafruit Stepper Motor HAT #2348 (https://www.adafruit.com/product/2348) geführt, welche ich für die Motorsteuerung verwenden könnte. Da an der Uni ein Raspberry Pi mit einer MPU 9DOF click (http://microcontrollershop.com…info.php?products_id=7070) existiert, würde ich diese gerne verwenden.


    Nun habe ich diesbezüglich ein paar Fragen, vielleicht könnt ihr mir ja weiterhelfen:


    1. Um den Adafruit Motor HAT verwenden zu können, wird dieser auf die 2x20 Pins des Pi's gelötet. Zudem ist die MPU auf einem Pi2 Click Shield gesteckt, welches allerdings auch auf die 2x20 Pins muss. Kann ich die beiden Shields übereinander stacken? Gibt es hierbei eine Doppelbelegung der Pins, die problematisch werden könnte? Kann ich die I2C-Lines für beide Komponenten nutzen? Eine ausführliche Beschreibung des Motor HAT findet sich hier: https://learn.adafruit.com/ada…for-raspberry-pi/overview


    2. Bezüglich des richtigen Motors bin ich mir noch unschlüssig, welche Art von Motor ich verwenden sollte. Ich weiß, es passt hier nicht 100%ig ins Forum, eventuell hat jmd. trotzdem Erfahrungswerte, die mir hier weiterhelfen könnten. Ich schwanke im Moment zwischen Schrittmotoren und Gleichstrommotoren. Während Schrittmotoren ein höheres Drehmoment aufweisen als DC-Motoren, haben sie jedoch ein ziemlich begrenzte Drehzahl. Gibt es bzgl. der Ansteuerung deutliche Unterschiede, was den Regelungsaufwand betrifft?


    3. Ich freue mich auf weitere Vorschläge und Tips :)


    Vielen Dank!


    P.S.: Ich bin neu hier und habe bisher wenig Erfahrung mit Raspberry Pi's, hoffentlich habe ich meine Problemstellung hier verständlich geschildert :D

  • Willkommen im Forum!

    Du bist gut: Fragst uns bezüglich eines Motors und gibst diesbezüglich keine relevanten Infos.

    Wie viel Kraft brauchst Du?

    Wie schnell muss sich der Motor drehen?

    Gibt es eine Art von Übersetzung in der Konstruktion? Bringt es Dir einen Vorteil, dass der Schrittmotor sehr kleine Schritte kann und die Position "bekannt" ist?

    Bezüglich der beiden Hats würde ich sagen, sieh Dir die Schaltpläne an und sieh was doppelt belegt ist - immerhin sollst Du ja auch was dabei lernen...

    I2C kann mehrere Teilnehmer (slaves) ansprechen. Du musst nur darauf achten, dass unterschiedliche Adressen verwendet werden. Auch bei den Pullup muss man schauen, dass nicht zu viele oder zu wenige dran hängen...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Erstmal vielen Dank für die Antwort! Und sorry, dass die Infos gefehlt haben, war ein bisschen schwierig zu beschreiben ;)

    Quote

    Wie viel Kraft brauchst Du?

    Wie schnell muss sich der Motor drehen?

    Gibt es eine Art von Übersetzung in der Konstruktion?



    Da ich mich noch nicht für einen Motor und die Größe des Schwungrads (mit dementsprechendem Massenträgheitsmoment) entschieden habe, ist es schwierig, genaue Informationen für den Motor zu geben! Deshalb versuche ich eher ein trial-and-error-Ansatz, um herauszufinden, ob die Kraft des Motors ausreicht. Grundsätzlich gilt für den Drehimpuls L = J * ω (Produkt aus Massenträgheitsmoment und Winkelgeschwindigkeit), sodass ich entweder ein schweres Reaktionsrad langsam oder ein leichtes Reaktionsrad schnell antreiben kann, um den selben Drehimpuls zu erhalten. Deshalb stellt sich für mich die Frage, welche Art von Motor ich am Besten verwenden könnte. Der Adafruit Motor HAT kann Motoren bis 12V antreiben mit je 1,2A pro Phase, sodass ich bzgl. des Motordrehmoments nach oben hin beschränkt bin, dieser hier dürfte aber genügend Drehmoment (0,2Nm Haltemoment) bereit stellen: https://www.adafruit.com/product/324Eine Übersetzung innerhalb der Konstruktion gibt es nicht, das Reaktionsrad soll direkt auf der Motorwelle befestigt werden.

    Quote

    Bringt es Dir einen Vorteil, dass der Schrittmotor sehr kleine Schritte kann und die Position "bekannt" ist?

    Nein, ich glaube nicht. Für die Übertragung des Drehmoment ist nur die Winkelbeschleunigung entscheidend, sodass die absolute Position des Reaktionsrades vernachlässigbar ist.


    Quote

    Bezüglich der beiden Hats würde ich sagen, sieh Dir die Schaltpläne an und sieh was doppelt belegt ist - immerhin sollst Du ja auch was dabei lernen...


    Leider liegt hier genau mein Problem, da ich auf diesem Feld leider keine Ahnung habe und ich mich deshalb an euch wenden wollte! Vielleicht bist du ja bereit, mir ein bisschen auf die Sprünge zu helfen :)

    [Blocked Image: http://microcontrollershop.com/Images/mpu9dofclick.jpg]

    Wenn ich es richtig verstanden habe, sind die SDA und SCL-Pins I2C-Anschlüsse, die ich durch unterschiedliche Adressen der beiden slaves doppelt belegt werden können. Ground sowie die 3,3V Stromversorgung sollten bei einer Doppelbelegung ja kein Problem darstellen. Wo ich mir nicht sicher bin, sind die beiden Pins "INT" und "FSY". FSYNC ist anscheinend zuerst deaktiviert ("solder jumpers allow you to enable/disable FSYNC (disabled by default)"), allerdings weiß ich nicht, ob ich dies aktivieren muss? Zu dem INT-Anschluss habe ich leider nichts gefunden..


    Ähnlich sieht es bei dem Adafruit Motor HAT aus, hier weiß ich leider nicht, welche PINs benötigt werden, und welche "frei" bleiben:

    [Blocked Image: https://cdn-learn.adafruit.com…8_top_ORIG.jpg?1422298449]

    Ich vermute, bin mir aber nicht sicher, dass die 3. Reihe von oben die Anschlüsse sind, die noch "frei" sind, aber so ganz habe ich das Shield noch nicht verstanden.. Könnte ich theoretisch die Ein-/Ausgänge der MPU auf Pins der 3. Reihe der Platine löten? Oder halt stacken?



    Hoffentlich habe ich mich diesmal ein bisschen verständlicher ausgedrückt, danke nochmals für die Antwort! Und ich freue mich auf eure Antworten!

  • Dieses Video zeigt relativ schön die Wirkweise von Reaktionsrädern (reaction wheels):

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Hier wird für die Erzeugung eines hohen Drehmoments allerdings noch mit Bremsen gearbeitet, die ich nicht verwenden möchte.

  • Das ist ja geil!

    Soweit ich das sehe brauchst Du nur eine Drehrichtung, oder? Die verwendeten Motoren sehen so aus wie die in HDDs - also eher hohe Drehzahl bei kleinem Moment. 0,2Nm halte ich für ziemlich viel ohne ein Getriebe - das würde ich mir gerne selbst ansehen. Leider funktioniert der Link nicht.

    Auch der Link zu dem Bild auf microcontrollershop.com klappt bei mir nicht.


    Das Adafruit HAT ist sehr gut dokumentiert. https://www.adafruit.com/product/2348. Auf der Unterseite findet man auch allerhand Infos - Schaltplan, Layout und vieles mehr. Toll! Die "3.Reihe" ist teilweise mit den Pins des Pi verbunden - ist also das Gleiche, als wenn Du direkt an die Pins vom Pi lötest. Ist eventuell für Arduino oder einfach ein alternatives Interface zum Basteln...

    Es gehen nur 5 Leitungen zur Schaltung - der Rest kann anderweitig genutzt werden. Das siehst Du am besten auf dem Layout. Sogar das Boardfile für Eagle kann man sich herunterladen...


    Edit: Ich glaube bezüglich des Motors wirst Du mit bürstenlosen Gleichstrommotoren (BLDC) am glücklichsten. Die Endstufe ist dafür aber nicht geeignet...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup: