Reaction Wheel Inverted Pendulum -- Arduino PID Control System

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2023
  • I designed this reaction wheel inverted pendulum in Solidworks and 3D printed the components.
    Reaction wheels can apply torques to a system by accelerating or decelerating and are commonly used on satellites to control their orientation. One challenge of reaction wheels is saturation. Saturation of a reaction wheel occurs when the wheel reaches its maximum angular velocity. At this point the wheel can no longer accelerate, and loses the ability to control the system. There are many techniques available to avoid saturation, but the method I chose is target setpoint adjustment based on a state observer.
    The motor used is a DC motor from an inkjet printer.
    I soldered the custom slip ring together from scrap copper tubing, copper sheet, and the brushes from an old DC motor. The slip ring allows infinite rotation of the pendulum arm while delivering power to the motor.
    The counterweight washers have the effect of decreasing the controller effort required to control the system. Since the simple DC motor I used does not have a very high power density, this proved necessary.
    I used a 5:1 belt reduction to allow the motor to operate closer to its optimal RPM range. This allows for a greater available controller effort. Since frictional losses from a timing belt are roughly proportional to the belt width, I sliced a 6mm GT2 belt in half to create a 3mm wide GT2 belt.
    Music by: www.bensound.com/free-music-f...
    License code: TL01Q0LP0VQB0API
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 32

  • @makermandan
    @makermandan ปีที่แล้ว +4

    Nice custom slip ring - that's dedication right there.

  • @thegenrl
    @thegenrl ปีที่แล้ว +2

    very cool, plus dig the 12 magnetic encoder application.

    • @ivprojects8143
      @ivprojects8143  ปีที่แล้ว +1

      Thank you! I really like these encoders.

  • @davidjoewillis
    @davidjoewillis ปีที่แล้ว +1

    I love how this *seems* simple, but provides a lot of room for multiple design solutions, challenge, learning, and iteration. I’d of course love to see the code :). Great job!!!

    • @ivprojects8143
      @ivprojects8143  ปีที่แล้ว +1

      Thank you Professor!! I'll send you the code.

    • @jochemk6312
      @jochemk6312 9 หลายเดือนก่อน

      @@ivprojects8143 I am working on making a similar system with an analog control circuit. Would you be able to send me the code as well so I can see how you implemented the PID target offset with regards to the wheel speed saturation?

  • @MASI_forging
    @MASI_forging 10 หลายเดือนก่อน +1

    Fantastic project 👍👍

  • @Jemacaza
    @Jemacaza หลายเดือนก่อน +1

    Amazing project, thanks for sharing👍🏻

  • @user-mk3ir2pk5o
    @user-mk3ir2pk5o 9 หลายเดือนก่อน

    i am your #1 fan!!!!

  • @Blorkus
    @Blorkus ปีที่แล้ว +2

    This is excellent! I'm working on a rotary inverted pendulum right now, and I wasn't sure how to get a spinning encoder line back to the base... your custom slip rings just gave me an idea though. Nice work!

    • @ivprojects8143
      @ivprojects8143  ปีที่แล้ว +3

      Thank you! The encoder on mine is stationary, so only the motor power leads have to go over the slip ring. I haven't tested it, but I would be concerned that sending sensor data over a homemade slip ring would cause lots of noise. Depending on which communication protocol you use it might work though.

    • @Blorkus
      @Blorkus ปีที่แล้ว

      i2c worked on my slip ring for short periods at a time, to my surprise. It often failed though, so I switched to using the encoder's analog voltage output and used the last ring for an led 😅

    • @kalinkochnev5669
      @kalinkochnev5669 ปีที่แล้ว

      Yeah I came here and have been trying to figure out the same issue lol

  • @petter9403
    @petter9403 25 วันที่ผ่านมา +1

    Me encantó, soy nuevo seguidor!!! Saludos

  • @iansoboleosky1598
    @iansoboleosky1598 8 หลายเดือนก่อน +1

    awesome project, i would love to see it in your git page so i could print it and test it

  • @user-mk3ir2pk5o
    @user-mk3ir2pk5o 9 หลายเดือนก่อน

    woooahhh 🔥🔥🔥🔥

  • @kalinkochnev5669
    @kalinkochnev5669 ปีที่แล้ว +2

    Great video! Do you have any kind of feedback on the position of the flywheel?

    • @ivprojects8143
      @ivprojects8143  ปีที่แล้ว

      Thank you! The flywheel motor does not have an encoder to directly measure the angular velocity of the wheel, but it's possible to estimate the state of the motor based on the PWM applied. This makes it possible to keep the wheel from saturating by adjusting the target setpoint of the system.
      The angular position of the wheel does not matter to the control of the system; only the angular velocity and angular acceleration.

  • @marouaniAymen
    @marouaniAymen ปีที่แล้ว +1

    I liked the project, very good job, is it open source ?

  • @ControlEngineeringChannel
    @ControlEngineeringChannel 6 หลายเดือนก่อน +2

    👍

  • @dh00mketu
    @dh00mketu หลายเดือนก่อน

    Why didn't you directly attacht he ring to the motor?

  • @user-mk3ir2pk5o
    @user-mk3ir2pk5o 9 หลายเดือนก่อน

    meet and greet video???

  • @qremosin
    @qremosin 9 หลายเดือนก่อน +1

    You should create courses, I would pay for them. greetings.

  • @alvarezvillegasdanilo6590
    @alvarezvillegasdanilo6590 26 วันที่ผ่านมา

    what about youdy would spend your design 3d please

  • @kroniisbidet546
    @kroniisbidet546 ปีที่แล้ว

    you used cardboard for the background to give a presentable video, ive used this trick before

  • @eddyeisenberg5740
    @eddyeisenberg5740 ปีที่แล้ว +1

    AWESOME AS ALWAYS!!!!!! Hopefully well get together soon. Ive been meaning to hyu. Ill message you on discord soon homie :D

    • @ivprojects8143
      @ivprojects8143  ปีที่แล้ว

      Thanks Eddy! We definitely should!