1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Folding 2DOF No Weld Build w/ Wheelchair Motors for VR Racing

Discussion in 'DIY Motion Simulator Projects' started by Stephen Berke, Dec 16, 2019.

  1. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    I've been lurking on this forum for a little while now and have decided to take the plunge on building my own motion rig. This whole journey started when I stumbled upon DOFReality's website about a year ago. That was the seed of inspiration for this project.

    I was greatly inspired by Qlittles's thread here:
    https://www.xsimulator.net/communit...g-100-for-traction-loss-200-for-g-seat.10947/

    This led me to Armpit's excellent thread here:
    https://www.xsimulator.net/communit...-mover-on-homebrew-ricmotech-rs1-clone.10377/

    After much reading I feel like quite the expert (ha ha, Dunning-Kruger is in full effect here.) I mostly do sim racing in iRacing and others. I primarily drive in VR (Rift S) so monitors are not a huge consideration for me. I'll probably just mount one mid-size fixed monitor on a stand in front of the rig for interfacing with the OS.

    I don't have regular access to a welder and it's easier for me to prototype in wood, so that's what I'm doing for now. At some point I might consider another material for a frame, but I want to gain some real experience first.

    My Bill of Materials thus far:

    Electronics:
    2x Wheelchair Motors from ebay
    Aruduino Uno
    2x IBT-2 Motor Drivers
    1000w DC Power Supply
    Variety of Pots

    Mechanicals:
    7.5" Heim Joint Linkage
    Universal Joint with 2 flanges
    Lots of Wood
    3/4" Square Steel Stock
    1" Square Steel Stock

    I mocked up a quick prototype in Fusion 360:
    [​IMG]

    [​IMG][​IMG][​IMG]

    I wanted to try a full frame mover for my first design. I'm also interested in being able to shrink the footprint to maximize space for other uses. Therefore, I've designed the foot pedal attachment around a door hinge for some level of foldability. I might try adding double articulating to this at some point in the future so that the pedal board can fold under the wheel stand.

    [​IMG]

    Here are my simcalc results based on my initial design measurements. I'm taking a rough guess at the torque of the motors. And if I'm being honest, I'm not entirely sure how all these numbers actually translate to real world use.
    [​IMG]

    Next post, the build begins!

    EDIT: The sim is working and in its initial tuning stages. Here’s an early video.

    Attached Files:

    • Like Like x 1
    Last edited: Feb 8, 2020
  2. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    So I started the build a few weeks ago and have been working on it in my spare time. I've started with the main box portion of the frame. The seat, wheel stand and the U-joint will all mount to this.

    The box is made out of 1x7 for the top and 1x4s for the sides. I think I went a bit overkill on the screws.
    [​IMG]

    Here's the seat, sitting atop the box for a quick test fit:
    [​IMG]

    The u-joint will be attached on the underside to a piece of ply designed to slide back and forth for balancing the rig.
    [​IMG] h

    And here's the 3/4" steel stock for the seat mounting. I'm just showing them placed on the underside of the box to check the range of motion for the u-joint.
    [​IMG]

    I'm attaching the foot pedals via a door hinge. I cut angled side pieces out of the 1x4 and matched the angle to the 1x7 edges.
    [​IMG]
    [​IMG]

    This shows where the door hinge will attach:
    [​IMG]
    Eventually I plan to carpet all the wood pieces, so I'm gonna leave some space for that when I attach the hinge.

    Finally, here's the foot pedal box attached with the hinge to the main box. You can also see some aluminum u-channel here with some wood slats. This was my first idea for attaching the pedals. This ends up being way too flimsy and flexible.
    [​IMG]
    Also notice the gaps on the front face of the main box. These channels will hold the 3/4" stock where the heim joints and wheel stand will mount.

    Attached Files:

    • Like Like x 1
    Last edited by a moderator: Dec 17, 2019
  3. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    Next step was assembling the under frame. The actual build ended up changing quite a bit from my original plan for a variety of reasons. Mostly, I realized it would be far simpler if I could get the motor arms to the outside of my under frame for clearance reasons.

    I sandwiched two 1x7s to create a stiff platform for mounting the u-joint. The design will allow the motors to tuck underneath the seat.
    [​IMG]

    I'm also trying to figure out where I want to mount the power supply and other electronics here.
    [​IMG]

    And another angle
    [​IMG]

    I've bolted up the u-joint to the cross beam and attached the sliding plate that I cut previously.
    [​IMG]

    And here I've attached the sides with notches cut for the motor shaft. Notice how the shaft now protrudes to the outside of the frame. This allows for enough clearance for the arm travel. The whole bottom portion will be mounted on anti-vibration pads which should allow enough clearance for the arms to bottom out.
    [​IMG]
    The motors will bolt up to those bottom wooden runners.

    And a view from behind showing how the side pieces run through the back board to provide strength and stiffness.
    [​IMG]

    I seem to have some weird obsession with over using screws. Anyway this pretty much covers the base portion.

    Attached Files:

    • Like Like x 2
    • Creative Creative x 1
  4. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    So unfortunately for this next section I forgot to take pictures and kind of just snapped a bunch when I was done.

    First order of business was to find a better way to mount the pedals. As mentioned previously the aluminum channel wasn't up to the task. So I've replaced that with a piece of 2x2 . I've kept the original slats and here you can see the pedals being test fitted.
    [​IMG]
    [​IMG]
    This seems to be stiff enough for now.

    Next was finding a way to mount the wheel. Originally, I wanted to do a telescoping thing for height adjustability using the 1" stock around the 3/4" stock. I couldn't get this stiff enough however, so I ended up bolting them together abutted up to each other.
    [​IMG]

    I also realized that it was a real pain to get in and out of the simulator with wheel support arms on both sides. So my original design for this is pretty much out the window. I'm now pursuing a single sided arm design. But this means that I really need to stiffen the mounting for this arm. I've attached some wings to stiffen the 3/4" cross bars.
    [​IMG]

    Turns out this still didn't stiffen it up enough so I ended up doing two sets of reinforcements for the top and bottom cross bars. I bolted straight through the entire sandwich structure which has stiffened it up considerably.
    [​IMG]
    [​IMG]

    I feel like I really didn't account for how much flex the hollow square stock would have. I figure the crossbars attached vertically would provide plenty of support. I was way wrong. The support wings are sort of a band aid. It seems like it'll work for now, but I really need to design a much stronger attachment method.

    Attached Files:

    • Like Like x 2
    • Creative Creative x 1
  5. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    Yesterday's Progress:

    I've fashioned a prototype CTC arm, it's gonna be CNC'd eventually. For now I'm just gonna use two plates per side.
    [​IMG]

    And here I've attached the heim joint to the cross bars.
    [​IMG]

    At this point, I'm trying to figure out the best place to mount the motor. Do I mount it so that the shaft is under the point where it attaches to the frame? This gives me more travel when the lever is fully up or down. Or is it better to mount the motor so that the end of the lever is directly under the attach point? This would mean that the heim joint linkage is fully vertical when the lever is in the zero position. Simcalc doesn't show much difference to the numbers no matter where I put the motor, so I'm not sure if there's more I'm missing here for leverage. DOF reality does the end of the lever arm under the attachment point (the vertical linkage position). Anyone have any experience here?

    Finally, this last picture shows a prototype 3d printed gear. I'm thinking of creating a small gearbox to link up the pots to the motor shafts. I've thought about doing a more direct linkage from the shaft but this would mean big protrusions out from the motors. The motors I bought don't have the shaft extending through to the inside. So not sure how else I should attach the pots. I'm all ears if anyone has any ideas!
    [​IMG]

    So this fully catches these posts up to where I am today. Would love to hear people's thoughts on where I am so far. And thanks for all the help y'all have unknowingly given me throughout this process so far!

    Attached Files:

    • Like Like x 2
    • Creative Creative x 1
  6. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,460
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    144,596Coins
    Ratings:
    +10,741 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    The lever at rest is best at 90 degrees to the rod, when the top frame is in the desired rest position, as it will maximise usable torque through its range.
    • Like Like x 1
  7. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0

    Awesome! Thanks for the info. That’s really helpful.
  8. MarkusB

    MarkusB Well-Known Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    552
    Location:
    Germany
    Balance:
    4,212Coins
    Ratings:
    +594 / 2 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    I like the way you connect the pot to the motor. It not only has the advantage of avoiding a protrusion, but it also eliminates the risk of damaging the pot in case of a failure: The motor can make a full turn without braking anything. :thumbs
    I am also using wheelchair motors and I only saw the option to add the pot to the edge of the axis:
    PotMount.png
    3D printers really provide completely new possibilities, but I still did not get one.

    Can't wait to see your rig in action. :)
  9. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    Thank Markus. It's cool to see what you did there. I'm designing a new version of the gearing now and hope to get something put together to test it all out soon. The new gearing will have a notch which should disengage the gears if they go too far. I'll post some pictures soon.

    Don't mean to derail my own thread, but really wondering what that center motor is for? Heave?
  10. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    And yes. If you'r a tinkerer I highly recommend putting together or buying a 3d printer at some point. It's sort of amazing all the different things you can do with them. For example, I just printed a drill template for mounting my motors. Wasn't sure how much I'd use it when I first got it, but it's turned out to be a great tool.
  11. MarkusB

    MarkusB Well-Known Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    552
    Location:
    Germany
    Balance:
    4,212Coins
    Ratings:
    +594 / 2 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    This motor was meant for negative surge (i. e. braking) by pulling my upper body forward. You can find some more details here. In the meantime I have started from scratch again.
  12. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    Great thread you’ve get there. Some really great innovation. Love the armor chest piece. That’s commitment.
  13. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    More progress yesterday and today.

    Got the motors all mounted up. And did a bunch more work on my gearbox. At the moment I’m using a 10 turn pot. With the gearing I’m using I’ve got it turning about 8 times.
    [​IMG]

    I want to eventually replace with a hall sensor. But in good time.

    [​IMG]
    Backlash doesn’t seem too bad at the moment. I’ll have to test it to see if it’s an issue.

    I reprinted the big gear that wraps around the motor shaft. There’s now a notch cut out. If the motor runs away it should disengage from the gears.
    [​IMG]
    This gear is designed so that no actual clamping pressure is being applied to the plastic gear from the CTC arm.
    [​IMG]

    Started wiring everything up. I think at this point I’m pretty ready to request my simtools diy license and do some real testing!

    On another note, just bought Dirt Rally 2.0 on sale for Xmas. Hadn’t tried it before. That’s gonna be crazy in motion. :confused:

    Attached Files:

    • Like Like x 1
  14. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    The holidays were pretty busy, so I didn't have a ton of free time. But I did finish up test wiring one of the motors and configuring the pot.

    First step was moving the very heavy rig out of the garage. Got that accomplished and setup in my corner.
    [​IMG]

    Next I wired up the IBT-2 board. The first time I tried this, I desoldered the green screw down connections and tried to solder the 10 AWG wire directly to the board. This was unsuccessful for a number of reasons, the main being the I couldn't feed more than a few strands into the throughhole. I tried splitting the threads and soldering flat to the top and bottom of each of the solder pads. This failed within a few minutes too and took the solder pads with them. So I'm now down one IBT-2. Good thing I ordered extras.

    So new version is attached using the screw down terminals. I'm concerned about this because of the potential amperage these motors could draw, but I'm not sure a better way to do it at this point. I'm very open to suggestions!

    Here's the second IBT-2 all wired up.
    [​IMG]

    And here I've connected it to the arduino:
    [​IMG]

    I did a quick test using the gearing and the 10 turn pot.
    [​IMG]

    I followed the instructions for setting up the SMC3 from the tutorial page. One thing I did not find intuitive was that I either had to move the target on screen or turn the motor hub so that it wasn't centered any more. When I first powered up to test, I had the motor and pot centered. So applying power to the motor did nothing, since it was already where it was supposed to be.

    This took some experimenting but I figured it out.

    I ran a sine wave and a few other patterns, it worked for a while. But the gears are noisier than I was hoping and it all seems a bit more complicated than necessary.

    After talking with a friend, I've decided to order some non-contact hall sensors. I'll put some more detail about that in the next post, but suffice to say I'm moving on from a gear driven design.

    I am trying to figure out when/how PID tuning takes place? I've done a lot of PID tuning for quadcopters and the like. But not sure the best approach/strategy for this particular configuration. The SMC3 tutorial doesn't really discuss it and I haven't found any great threads yet that detail a good strategy. I can certainly muck my way through it, but if anyone has a good resource, please share it!

    Attached Files:

  15. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,460
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    144,596Coins
    Ratings:
    +10,741 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    • Like Like x 1
  16. Qlittles

    Qlittles Active Member

    Joined:
    Sep 27, 2017
    Messages:
    119
    Location:
    Union City, California, USA
    Balance:
    226Coins
    Ratings:
    +65 / 4 / -0
    My Motion Simulator:
    2DOF, Arduino
    wow! it looks compact and beautiful - looking forward to the finished product :)
    • Like Like x 1
  17. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,233
    Location:
    Marseille - FRANCE
    Balance:
    20,875Coins
    Ratings:
    +2,079 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    • Like Like x 1
  18. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    • Like Like x 1
  19. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    Finally, some progress! After experimenting with the gearing and 10 turn pot for feedback, I had decided to bite the bullet and purchase some non-contact hall sensors. The pot style ones I've seen in other builds didn't make sense for this project. The whole idea is to keep the build slim and avoid the gearing linkages.

    Some research led me to the AMS AS5600 chip. Seems perfect for what I need and Seeed already has a module with this chip integrated listed here:

    https://www.seeedstudio.com/Grove-12-bit-Magnetic-Rotary-Position-Sensor-AS5600-p-4192.html

    Perfect. I ordered some and waited and waited. Unfortunately, the order has been lost in shipping. Seeed is now out of stock. And I have no hall sensors.

    So I found some on Amazon designed for use as gimbal motor encoders. Great!
    [​IMG]
    Unfortunately, these come pre-configured to output PWM instead of analog. These chips can be reconfigured over i2c, but can only be permanently 'burned' once. And they have already been burned once at the factory. So I've got two hall sensors that won't work with the SMC3.

    At first I was going to look at using the i2C on the arduino to reconfigure the sensors for analog at power on each time. But there are issues with i2c addressing that prevent this.

    My next thought was to build a simple DAC circuit and filter the PWM to a proper analog voltage. I still might try this. But ultimately, I've settled on trying to get the SMC3 sketch to read the PWM timing directly.

    This took a bit of finagling, and a bunch of help from my friend. But I currently seem to have a version working that allows for 2 PWM sensors to act as the feedback inputs. Using the SMC Utility, the hall sensors appear to act just like the pot. So I have high hopes these will provide accurate feedback.

    I'm still working on commenting up the sketch, so I'll post that and details about the process later.

    In the meantime, I found some 6mm diametric magnets and printed up a holder for mounting. It's a very simple press fit that sits over the central hub of the motor. This seems sufficient for keeping the magnet centered.[​IMG]

    The hall sensors themselves will go an a bracket extending from the base. That's today's project.

    With some luck, I'll actually get to try some PID tuning later!

    Attached Files:

    • Creative Creative x 1
  20. Stephen Berke

    Stephen Berke Member

    Joined:
    Oct 19, 2019
    Messages:
    30
    Balance:
    - 57Coins
    Ratings:
    +20 / 0 / -0
    It Lives!


    So that's a very first test using the SMC Utils motion generator. At the moment I've just got the one side hooked up. But it's really exciting to at least see some movement. I couldn't resist hopping on to the seat at one point. The motor had no issues moving me. PWM Max was at only 110 at that point, so it looks like the motors have plenty of power.

    Had one strange issue where the arduino started reading the hall sensor with the direction reversed. Like a pot wired in reverse. But it only happened once and reset itself back to normal upon rebooting the arduino. Seems like I've got some kind of bug in the PWM code we wrote. I also decided to try playing with building an RC filter to convert the PWM to analog in case that ends up working better.

    At this point I'm divided if it's better to try to fine tune the code to read the PWM signals directly, or if I should really focus on getting a proper analog signal out of he AS5600 chip. I probably should order some unburned chips so I can try out their default analog mode as well.

    Here's a pic of the hall sensor board attached to the bracket. I printed up a little carrier to make mounting the board a bit easier. You can see in the video how the bracket attaches to the base of the chair.
    [​IMG]

    Tomorrow I'm hoping to test both motors together and see if I can progress to starting with simtools.

    Attached Files:

    • Like Like x 1