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

Another 2DOF (with USA-based sources)

Discussion in 'DIY Motion Simulator Projects' started by congb17, Apr 9, 2022.

  1. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Hi All, I'm in the US and this project is a DOF seat mover based on the excellent details from @scruck. I originally hoped to built a 6DOF rig with actuators from PT-Actuator, but just don't have the room. Until I do, this will have to suffice. I'll be using it exclusively with VR, and mostly flight sims, though I will eventually try out racing as well.

    I started by measuring my "parking spot" as well as door widths to ensure I could park it and move it about. I put together a design in May-CAD and then went to order the extrusions from Tnutz. Unfortunately, I found that several components had long lead times or weren't available, so I ended up re-designing several times. I finally settled on black anodized 45 series extrusions and placed the order.

    Here are all the parts, which finally arrived after a couple of weeks:

    IMG_7290.jpeg

    While waiting for the extrusions to arrive, I ordered 24V motors and various other parts from AliExpress. So far, I've received everything but the motors. Those should be arriving next week. I managed to pick up a seat at a really good price from Amazon Warehouse. I also got a great deal on a power supply from eBay, and ordered laser cut actuator arms from Xometry.

    First I assembled the base:

    IMG_7294.jpeg

    Next, I assembled the seat platform:

    IMG_7295.jpeg

    ...and here is where I ran in to my first problem. I ordered the extrusions before the seat and just guessed at the seat mount dimensions based on Google searches. In the end, the flange on the seat mount was 1 cm too long, so I had to cut it down in the back.

    I bought the three parts for a u-joint from Amazon. This may be a mistake, but I wanted a bit of extra height and the u-joint has a ridge that prevents it from flush-mounting, so I 3D printed a mount that fits on the extrusions. Of course, I worry about using a 3D printed part for this application. I used nearly solid PETG and the part is extremely strong. I tried beating a spare with a sledge hammer and applying lots of force in a vice and I was unable to break it, so hopefully it will be ok in this application. It sure made mounting to the extrusions easy and clean:

    IMG_7298.jpeg

    Here I ran in to my second problem. Apparently, it is *really* difficult to find metric hardware at big-box retail stores in the US. I placed two orders at Home Depot, and both were cancelled because the parts were out of stock. I finally got some of the nuts and bolts I needed from Lowe's but had to use imperial bolts for the seats because M10 was just not available. I ended up using 3/8" carriage bolts, and they locked perfectly in the 10mm channels.

    Here it is with the seat attached:

    IMG_7302.jpeg

    That's all for now! Today I'm going to need to re-adjust some things to get everything in better alignment, and then work on integrating the electronics while I wait for the motors.

    In the back of my mind, I still hope to use PT-Actuator some day to make this a 6DOF rig. I think that may be possible by building out a "nose" for pedals, mounting the seat to a swivel bearing, and then using one of the motors to move the seat for traction loss. Anyway, that will be years in the future. Thanks to everyone in this great community for all the great info! You have given me the confidence to start this project!
    • Like Like x 3
  2. SaintFrank

    SaintFrank Member

    Joined:
    Aug 14, 2021
    Messages:
    76
    Occupation:
    Proces operator
    Location:
    Nederland
    Balance:
    136Coins
    Ratings:
    +27 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Hi,
    Really nice , looks like a great start.
    Good luck with the rest of the build.
    • Like Like x 1
  3. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Got a bit further today. I installed a perforated steel floor (from Lowe's), heatsink extrusions, and pins to lock the seat in place:

    IMG_7312.jpeg IMG_7314.jpeg IMG_7315.jpeg
    Lastly, I installed a TV mount to the front to mount my joystick for flight sims: IMG_7319.jpeg
    I've started on the wiring, but will save that update for next time! I feel like it's finally starting to come together...
    • Like Like x 3
    • Creative Creative x 1
  4. Milt

    Milt Member

    Joined:
    Mar 17, 2018
    Messages:
    60
    Location:
    USA
    Balance:
    32Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    2DOF
    Looks great! Just a heads up about the universal joint... I built mine the same way (two automotive flange yokes and a universal joint). It works well and is bulletproof, but there is a non-trivial amount of axial play in mine. For my seat mover, this is the most noticeable source of instability in the rig. Not sure if I have a bad bearing or something else wrong with mine, but I don't think automotive driveshaft UJs are designed to have zero play. Just something to keep in mind moving forward... Good luck with the rest of the build!
  5. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Thanks @Milt! I'm not a huge fan of this u-joint myself, but didn't find many other options. Did you end up finding something better? By axial play do you mean the seat can rotate (left-right)? Mine doesn't seem to be doing that, but it's kind of difficult to gauge anything without all the components in place.

    Also, I'm not an expert in any of this by any means, so if anyone sees me doing something wrong, I'd love to get that feedback. Any and all suggestions are more than welcome!
    • Like Like x 1
  6. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Got most of the wiring done this evening. The motors are the only thing missing. If anyone sees anything wrong, please let me know. I managed to find a Sabertooth 2x32 and I really don't want to blow it up! They are VERY difficult to find these days.

    The little black wire retainers are 3D printed to twist into the slot and hold the wires in place. The fit is really snug, so everything should be stable.

    IMG_7324.jpeg
    • Like Like x 1
  7. Milt

    Milt Member

    Joined:
    Mar 17, 2018
    Messages:
    60
    Location:
    USA
    Balance:
    32Coins
    Ratings:
    +28 / 0 / -0
    My Motion Simulator:
    2DOF
    That's correct, I found my U-Joint will rotate a slight bit left and right. It's not a huge problem, just detracts from the fidelity of the movement a little. I couldn't find any easy (or cheap) replacements so I'm sticking with it for now.

    When you get your rig all set up I'd be interested if you notice similar play in the joint...

    Rig is looking great, BTW!
    • Like Like x 1
  8. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    I finished the wiring tonight and tested the motors. Seems like everything will work! Now I just need the pulleys for the hall sensors. Those should be arriving tomorrow. Getting close!
    IMG_7328.jpeg IMG_7330.jpeg IMG_7329.jpeg
    • Like Like x 1
  9. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    This is hopefully my last pre-motion post! Got the motors and linkages installed last night and verified everything worked. Today, I re-aligned some parts and added more corner braces.

    A couple of unique things (perhaps) are the turnbuckle between the motors and the nylon 3D printed end caps (instead of laser cut aluminum). There are also some 3D printed nylon bushings that aren't visible.

    The turnbuckle improved rigidity A LOT since both motors tend to want to tilt down. The nylon end-cap is just to save money since it doesn't need to be as strong as the arms. It is super durable and saved another custom-cut part.

    I'll be working on SimTools this weekend...

    IMG_7336.jpeg
    IMG_7337.jpeg
    • Like Like x 4
  10. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    It's alive! I had quite a struggle getting everything working at first. It was a combination of a bad USB driver for the Arduino and the sensor cables. Being a compound problem made it very difficult to troubleshoot. In the end, I used the Arduino driver from the Arduino SDK. I then replaced the Hall pot sensor cables with shielded cables that I salvaged from some old Apple FireWire cables. That helped a lot. Finally everything was working!

    I read the SimTools manual a few times, and got everything patched and configured. I started with the "Generic 2D Basic" Axis settings in the Game engine, but that was really jerky, so I switched to "Generic 2D Advanced" and enabled smoothing at 25%--that fixed everything and I had clean, smooth motion.

    I know that the sum of DOF percentages should equal 100, so I stared with 50% for each axis. That worked great, but I wanted to see what it could do when pushed to extremes. So I reduced the clipping buffer and set each axis to 80% instead of 50 (see attached screenshots).

    The aggressive settings worked great as well, and gave me a lot of movement, but the motor bodies move more than I'd like. I may try 3D printing a part to make the motors even more rigid, but for now at least it's working. The motor bodies hardly move at all when I configure it less aggressively.

    Now, a bit about the experience in-game. I started with DCS and it was super fun to have the motion element. But I wanted to see how it would perform in a worst-case scenario, so I tried No Limits 2 roller coaster simulator. That was WAY WAY more fun than I expected. I can't wipe the smile off my face when playing it. It feels absolutely real with VR and the motion seat.

    I should probably switch back to the conservative settings and stiffen up the motors, but it's truly amazing what this can do when pushed to its limits. This has really been a fun project!

    Screenshot 2022-04-17 172205.png Screenshot 2022-04-17 172009.png
    • Like Like x 1
  11. scruck

    scruck Member

    Joined:
    Jul 18, 2019
    Messages:
    31
    Location:
    España
    Balance:
    381Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform
    @congb17 Congratulations for your work!!! it looks wonderful
  12. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Thanks @scruck! Without your videos and web site I probably never would have started. Seriously THANK YOU for your excellent documentation work!

    By the way, I found the problem with my motor moving. When re-assembling after installing the new sensor cable I forgot to add a critical washer, so the motor bolt never got tight enough. That's now fixed, and the motor assembly is now rigid again.
  13. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    After almost forgetting to remove the seat retention pins a few times, these seemed appropriate! IMG_7361.jpeg
    • Winner Winner x 1
  14. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Today I got a Logitech 920 wheel installed on the rig. I originally built this for flight simming, so the VESA TV mount arm worked great to hold a stick. The wheel is much heavier and required me to design and print a nylon brace to hold the mount in place.

    I also had to lock the mount's swivel axis to keep the wheel from swiveling when driving. This would never work for Fanatec wheels, but it's now working great for the Logitech.

    That means I can go from this: IMG_7377.jpeg

    To this:

    IMG_7375.jpeg

    ...in less than three minutes. Just requires two screws to fix the mount in place. Here's what it looks like with nothing installed:

    IMG_7376.jpeg

    ...and here's a custom VESA mount I designed and printed for the Logitech wheel:

    IMG_7369.jpeg

    I realize this wouldn't work for most of you, but I love the convenience of being able to change the controls so quickly and easily. I'm pretty happy with how this turned out.

    The vast majority of the weird stuff I 3D print for my rig is pretty specific to my use case, but if anyone ever wants the Fusion 360 files, just let me know.
    • Creative Creative x 1
  15. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Today I'm focusing on electronics. I designed and ordered custom PCBs, one for the seat level and one for the motor level.

    IMG_7414.jpeg

    The goals are to:

    - implement an e-stop button (seat level)
    - add LED lighting (seat level)
    - step down 24V to 12V for lighting (motor level)
    - add a power LED to the Arduino box (motor level)
    - add a baud rate switch so I can stop fiddling with jumpers (motor level)

    To do this, I designed a "double decker" control module box, with the custom PCB in the top and the Arduino on the bottom. Here's a picture of it in action with the power LED on.

    IMG_7415.jpeg

    The next update will have more detail, but I like the direction this is going. Here's the old control housing (right) vs the new (left). The seat connector port and baud selector switch are in the back of the top level.

    IMG_7411.jpeg
    • Creative Creative x 1
  16. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    The electronics upgrade is complete! The seat is connected to the main control unit via a coiled phone cord (6P6C):

    IMG_7454.jpeg

    The emergency stop enclosure acts as an electronics hub for the e-stop button and LED lighting:

    IMG_7453.jpeg

    The LED lighting is mounted in 3D printed channels that fit perfectly in the 4545 center channel. The light strip is tinted black, so when it's off you can't see it at all.

    Originally, I figured there was no way to run an LED controller on the same Arduino as the SMC3 since they both demand very strict timing, but I really didn't want to have two Arduinos, so I found a way.

    I modified the SPS_8.2_softstart code to include the following functions:

    - When the PID loop is idle, the LED controller figures out whether or not there's enough time to refresh the LED lights. If there is, it sends an update, if not, the PID loop is always top priority.

    - When the platform is idle, the LEDs blink an aircraft patten with white strobe and red beacon.

    - When the platform is "hot", the LEDs all turn red.

    - When pin 8 is grounded (115,200 baud) the blue status LED in the back of the control box is solid. When pin 8 is not grounded, the status LED blinks rapidly. The switch on the control module easily switches between these two modes for SimTools or SMC3 Utilities.

    IMG_7449.jpeg

    Getting the LED timing was tricky, but works great now. This LED strip has one control chip for every three LEDs, so in a worst-case timing scenario, I only need to write 12 LED commands. Most of the time, I'm writing far fewer than that, so the LEDs don't consume too much time. The LED control has no effect on the PID loop or motion at all.

    Next up: installing an expandable deck for pedals/feet while still keeping the same "parking space" size!
    • Creative Creative x 1
  17. iLLuac4

    iLLuac4 Active Member

    Joined:
    Jun 19, 2019
    Messages:
    130
    Balance:
    884Coins
    Ratings:
    +53 / 0 / -0
    My Motion Simulator:
    2DOF
    • Like Like x 1
  18. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Thanks @iLLuac4, the springs are a great idea. They probably do help smooth things out--I should try that.
  19. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    To preface this post, my main reason for building a 2DOF seat mover was to fit in a "parking space" that was very limited in size. I'd love a big room with a big rig, but that's not practical yet. That said, I felt like my seat mover could be more than that.... The theme of this update is "sliders".

    Here's the latest view of my rig:

    IMG_7497.jpeg

    Here it is "expanded":

    IMG_7498.jpeg

    This is made possible with 3D printed nylon "extrusions" that allow the bottom deck to slide out from the top deck. It's quite rigid and the nylon extrusions are virtually impossible to break. Here's a close-up:

    IMG_7499.jpeg

    Beyond just using these sliders for the bottom deck, I also use them to mount pedals to the deck. Here is a nylon slider I made for my Logitech 920 pedals:

    IMG_7504.jpeg
    It mounts on the adjustable lower deck head:

    IMG_7501.jpeg

    The end result is a 2DOF platform mover that still fits in my limited parking space:

    IMG_7505.jpeg

    I was a bit worried about the additional weight/leverage, but my motors, resistors, and motor controller are still cool to the touch after 30 minutes of use. I love the extra flexibility and the ability to switch from seat mover to platform mover in less than a minute.
    • Winner Winner x 1
    • Creative Creative x 1
  20. congb17

    congb17 New Member Gold Contributor

    Joined:
    Mar 20, 2022
    Messages:
    28
    Occupation:
    Engineer
    Location:
    California, USA
    Balance:
    162Coins
    Ratings:
    +38 / 0 / -0
    My Motion Simulator:
    2DOF
    Time for a seat belt tensioner! I only had one requirement: no more wires! I have a custom PCB that I use for wirelessly controlling blinds in my home, so I thought I'd try using that to wirelessly control a stepper motor. I designed and printed a chassis and built a prototype, but wasn't really happy with the end result. So, I started again from scratch.

    This time, I still used my Arduino blind controller board, but added wireless UDP control and also @eaorobbie 's servo code. I re-designed a chassis, this time around two 35kg (blue) servos. The chassis has two electronics compartments: one for the Arduino board and one for a 7.2V 6A buck converter. I originally tried 5V, but it just wasn't strong enough.

    The servos are attached to nylon paddles that are mounted at the base of the seat. I wanted to maintain seat recline, so the paddles are short and low, which works perfectly. Here's a close-up of one of the nylon paddles:

    IMG_7519.jpeg

    Note that these 3D prints are intentionally very course. I'm using a big nozzle for added strength, and then sanded the paddles so they wouldn't be abrasive.

    Here's how it looks mounted to the rig:

    IMG_7541.jpeg

    The chassis has one short power cable coming out of the back that connects to 24V. Everything else is self-contained and wireless.

    Fine tuning everything took a bit longer than expected, but I'm quite happy with the result. The difference is very dramatic and somehow feels much more like driving a real car when combined with the other axes. Surge makes it feel like I'm really braking and sway adds an extra dimension to cornering by applying pressure to just one shoulder. Even though it was a bit of extra work, I'm very glad I took the time to implement it! As always, I'm happy to share details, designs and code if anyone is interested.

    IMG_7542.jpeg
    • Winner Winner x 2
    • Like Like x 1
    • Creative Creative x 1