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

Showroom Budget Compact 6DOF Universal VR Flight / Racing rig - MSFS, SMC3, FlyPT, Transducers, Controls

Discussion in 'DIY Motion Simulator Projects' started by Ronan Design, Oct 11, 2024.

  1. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    After enjoying my 2DOF motion simulator for 3 years, I have started building a 6DOF motion simulator. I'm also reworking the encoder/button/switch boxes. If it works out, it will be the next level of immersion, at least for me. The build will be an ultra-low budget, just like my 2DOF. I'm very happy how the wooden frame held on, so I will build the 6DOF frame from wood as well. Top platform will be cut from a very thick plywood I have lying around.

    EDIT: The build is complete! Here’s the first test flight video:


    If you are interested in detailed Design and Build Plans, including schematics and part lists - please contact me.

    --- original post below ---

    I think I have all the parts now. The motors just came today and I tested them on a 12V PSU, they seem to work OK.

    This is the project sketch in FlightSim yoke configuration. I'll be using my DIY pendular yoke. The frame will be painted black, but I'm showing a natural wood colour for illustration purposes, so the wooden parts could be easily seen.
    [​IMG]

    FlightSim Joystick/HOTAS Configuration
    [​IMG]

    Racing/trucking configuration.
    [​IMG]

    Note that this is a second priority for me, so it's not designed to be a low-sitting-position F1 racing rig with a limited range but fast movement. As I'm a Flight Simulation fan, I'm aiming for a smooth and precise motion with a reasonably large range to the limit of what a compact design with inexpensive motors can pull off. Racing can be fan, as is Euro Truck Simulator (and ATS), but those are not as important, so as long as the speed of motion is reasonable, I'll be OK.


    I just received 6 Yalu wheelchair motors today that will be driving my rig. It's going to be a challenge, but during my research I found at least 2 6DOF rigs that work very well on these motors, so I'm cautiously optimistic. I'm planning to add 2 x 120lb (578N) gas struts to support the weight of the rig so the motors won't have to work that hard. Considering DOF Reality sells 3 x 440N gas struts as an upgrade for their 6DOF, to smooth it out and prevent shaking, I hope those should do the job. I'm considering two, because my rig is expected to be a bit front-heavy, so most of the weight will be there.

    Here re the motors: Model MY1016Z, 250W / 24V / 75RPM / 31.2 N.M / 13.4A
    [​IMG]
    • Like Like x 11
    Last edited: Feb 26, 2025
  2. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Modding 2 x HP DPS-750RB server power supplies. Disconnecting ground from the outer case prevents shorting when connecting two of those PSUs in series with the unmodified unit to work together as a single 24V 750W PSU. That way I can use 4 of those PSUs that I got for free and have a total of 1500W of power, which is what's needed for 6 x 250W motors.
    [​IMG]
    • Like Like x 2
    Last edited: Oct 14, 2024
  3. Aerosmith

    Aerosmith Active Member

    Joined:
    May 30, 2024
    Messages:
    380
    Occupation:
    self employed
    Location:
    Germany
    Balance:
    2,223Coins
    Ratings:
    +225 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor
    Looks like a good plan! With the gas springs the motors should be definitely have enough power. Although the machanical output is 250W the electrical input is 322W per motor. A 1500W supply is still plenty because if all motors move up simultanously they share the load and don't need full torque.

    However, be careful and make sure that the drivers are protected against over-voltage. The motors have high efficiency spur gears. So if they all move down quickly the energy is returned to the drives and the supply. If the drivers have OV protection they don't blow up but simply cut out the current so the motors coarst to stop. You can simply try out if this happens. If it does you have to add either a energy dump cirquit or a lead battery as buffer.

    I saw, the actuator arms have multiple bolt holes to trade stroke for torque. That's good. How long are the arms?
  4. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Thanks for the very valuable advice! Good points. Can I run a couple of questions by you?

    - I'm using 6 x Cytron MD13S drivers, rated 13A (30A peak). They list current limiting at 30A but don't list overvoltage protection. I was going to use 2 x KBPC5010 Bridge diodes right after the PSUs, to block the reverse current, but considering what you said, maybe I should connect 6 of them between each driver and its motor instead? I have enough to do that.

    - Can you elaborate about "the electrical input is 322W per motor"? It's the first time I hear about that and I should know. Just in case, I will add heatsinks to motor drivers and rectifiers.

    - The arms I'm planning to fabricate would have holes at 40,60,80,100,120 mm. I'm not sure about 12, that would be really pushing it probably, but it would be a shame if it turns out 10 is easy for the motors and I could have a larger motion range but it's too late. My hunch is that probably it would work at 60, or 80 if I'm lucky.. What do you think?
  5. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Progress so far:
    - Cutting all the lumber to size:
    [​IMG]

    - Cutting the top platform from a ~17mm thick plywood I had lying around. The surface is a bit rough, but it's free. In the spirit of an ultra-cheap build, nothing beats free :)
    [​IMG]

    - Painting the lumber, platform and shelves. Naturally, I used the leftover paint from old renovations. I wish the lumber I bought was smoother. I did sand it but the surface still has many imperfections. Well, it's cheap at least. It's the "SPF Premium" and "SPF Select" grade lumber. Buying more expensive and better-finished lumber would not improve anything functionally. Based on my 2DOF rig experience I suspect the lumber with its small inherent flex actually helps to feel movements in a more natural way, without losing much precision. I haven't experienced any "cogging" or jarring movements, despite sometimes being very strong it always felt smooth and not clunky. We'll see how it fairs in a 6DOF rig.
    [​IMG]

    [​IMG]
    • Like Like x 2
    Last edited: Oct 14, 2024
  6. Aerosmith

    Aerosmith Active Member

    Joined:
    May 30, 2024
    Messages:
    380
    Occupation:
    self employed
    Location:
    Germany
    Balance:
    2,223Coins
    Ratings:
    +225 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor
    I guess that the cytron drivers don't have overvoltage protection. AFAIKS they are meant to be used with batteries, not SMPSs. But they are so cheap you could simply try it out. 6 seperate rectifiers help isolating the problem so if one blows up the others and the power supply can survive. But you can also connect just one of the drives with one rectifier and run the motor up/down at max speed with a dummy load (sandbag) on the rig.
    75RPM = 1.25RPS times 31.2 Nm * 2pi = 250W, thats the mechanical output power of the motor
    13.4A * 24V = 322W, that's the electrical input power.
    Output divided by input is 78%, thats the efficiency of the motor and the gear. The rest (22%) is lost as heat and friction.
    100mm arm length at 75RPM would give a speed of 450mm/s for a quarter turn (-45..45°) and a linear force of 312N in the neutral position. That would be a bit marginal to support the whole weight of the rig but with the gas springs it should definitely work. And note that this is just the continous power the motor is rated for. For short acceleration peaks you have the full 30A which means more than two times the nominal torque.
    • Useful Useful x 1
  7. Aerosmith

    Aerosmith Active Member

    Joined:
    May 30, 2024
    Messages:
    380
    Occupation:
    self employed
    Location:
    Germany
    Balance:
    2,223Coins
    Ratings:
    +225 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor
    Maybe you should have a look at the Sabertooth drivers. They are much more expensive but I think they have overvoltage protection.
    Or you could by only one of the Cytrons, test it, and if it blows up you may consider either adding a battery as buffer or buy the Sabertooth...
    Disclaimer: I haven't tested neither one nor the other. I'm just looking at the specs.
  8. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    That was my intention. I have 8 of the diodes and if something is seriously wrong, having one blow up is not a problem, they cost pennies. If it's going to be a problem, I could add a battery, or I guess, 2 12V car batteries - I have a couple of old ones in the garage. They don't hold charge, but I guess that's irrelevant...

    That's so obvious, now that you laid down the math! I should have though of that. Makes perfect sense. Thanks for the explanation.

    Good to know. Can you explain how you calculated this, if you don't mind? It would be useful to know.

    I already bought 6 of the Cytrons. My reasoning wat that DOFReality use them for H2, H3 and H6, with added heatsinks. So they should be good enough for the purpose. Their motors are at least as powerful, and the gas struts are an optional upgrade for the H6, so they must be handling it all right. Well, let's hope they work...
  9. Aerosmith

    Aerosmith Active Member

    Joined:
    May 30, 2024
    Messages:
    380
    Occupation:
    self employed
    Location:
    Germany
    Balance:
    2,223Coins
    Ratings:
    +225 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor
    That's in fact not that obvious. For a rotary actuator force and speed are not linear but depend on the arm angle. You have minimum force and maximum speed at the middle (neutral) position and maximum force and minumum speed near the end of the stroke.
    I assumed that the actuator arms are between +45° and -45° most of the time. That's quite arbitrary. You can theoretically use more of the angle range up to the full +/-90° but the motor then has to spin faster for the same (linear) output speed. 45° is easy to calculate because the arm is in the diagonal position of a square and it's length is square root (2) = 1.41 times the distance the push rod moves. That's not exact as the angle of the push rod also changes. But if it's much longer than the actuator arm we can neglect this.

    So for the total range of -45° to +45° and an arm length of 100mm the push rod moves 141mm. At 75RPM = 1.25RPS a 90° turn takes 1/1.25/4 = 0.2s. Speed is distance per time = 0.141m/0.2 = 705mm/s. Ha, I miscalculated that. I think I've multiplied with 1.25 instead of dividing.:oops:Never mind, that means the result is even better. You have some reserves and can trade speed for more force if required by using a shorter arm length and higher angle range.
  10. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Thanks for the details. I'll to have to decide what max arm angle to go with. The most effective and safe is 90 degrees as you mentioned, but extending it a bit would give me a larger range. On the other hand, I will be using the same DIY hall sensor system I designed for my 2DOF, where a hall sensor is mounted on a 3D-printed bracket and a magnet is mounted on the shaft of the motor. The advantage is that unlike the universally accepted method of using a hall sensor potentiometer, there are no moving parts and no friction with my system. There is no challenge of perfectly aligning the motor shaft and pot shaft and no potential points of failure. The quirk is that it gives me a 180-degree range, and then when rotated further the resistance goes back to zero. It's good for precision because the Arduino is sampling the full voltage range, but I can't allow the arm to ever approach close to 0 or 180 degree mark or the runaway will occur with catastrophic consequences: whatever would happen with the top platform in a single arm runaway, the arm during the full circle will demolish the hall sensor holder. Anyway, I have to make sure there's enough room to clip, brake and emergency cutoff before the 0/180 position. I guess the same requirement is valid for those who use 180 hall potentiometer for precision. Essentially that is what I'm recreating, only skipping the rotating pot shaft and making the motor shaft act its part. Also saving a lot of money: the sensors are just $2 for a pack of 10, while hall sensor potentiometers are ~$25 each or more.
  11. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    It just occurred to be that I can't put rectifiers in between the motors and the drivers, because they only allow current to flow one direction, that's their purpose. The drivers switch polarity all the time , so that won't work. I can only put rectifiers in between the PSUs and the drivers. I think it's the same with batteries, you could only connect one before the driver, not between the driver and the motor.

    From what I read, the problem people encounter is PSUs shutting down because of the reverse current, not the drivers burning up.
  12. Aerosmith

    Aerosmith Active Member

    Joined:
    May 30, 2024
    Messages:
    380
    Occupation:
    self employed
    Location:
    Germany
    Balance:
    2,223Coins
    Ratings:
    +225 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor
    Exactly, don't put anything between the driver and the motor. No rectifier, no fuses, switches, batteries or whatever. The driver controls the motor current and it has to go in both directions. The driver also limits the current if necessary so a fuse makes no sense, here.

    The idea of the rectifier between the power suppy and the driver is to protect the electrolytic caps in the supply from overvoltage generated by back EMF from the motor. This is especially useful if the driver is rated for 24..30V and the motor and supply are only 12V. The overvoltage protection of the driver trips only above 30V but the 12V supply blows up at around 16V.

    If motor, driver and power supply are all 24V the recitifier is not really required if the driver has overvoltage protection. This limits the voltage to ~30V which the caps in the 24V power supply also can withstand. Not putting a rectifier between drivers and supply actually helps distibuting the energy because all caps of all drivers and the supply can be charged in parallel.

    I would only recommend to put a rectifier there for the first smoke test. Otherwise if the drivers don't have overvoltage protection it will get expensive.:eek:
  13. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Progress report: the bottom frame is complete. 2x4 lumber, 3" screws. Pieces fit well, angles are precisely 60 degrees.
    Parts laid out upside down for assembly:
    [​IMG]
    Frame complete:
    [​IMG]

    There's gonna bee a lot of wires, so to avoid confusion I have created a detailed wiring diagram.
    There is an inherent problem with SMC3 running 3Arduino boards in a 6DOF system: if one board detects a runaway, when the hall sensor voltage goes into the "forbidden zone" it stops the motors, but two other boards are unaware of that and keep working. All motors are connected to the single top platform, so the rig will try to tear itself apart with potentially catastrophic failure - not good.

    I will be adding some code to SMC3 so that by default it will send HIGH signal (+5V) on pin #12 to the relay module. Each of the 3 Arduino boards will be connected to its own relay. As soon as the Arduino gets power and initializes SMC3 the relays will close, allowing the Power switch to close the circuit that triggers the relays powering on all power supplies. But as soon as any of the board's SMC3 firmware detects a runaway - it will set the pin to LOW state and the corresponding relay will open, triggering the shutdown of all power to all motors. The same will happen if the SMC3 fails to initialize, or the Arduino loses power or fails, or disconnects. That means the entire rig will power down immediately in the event of a single failure. The Emergency Stop button sits on the same circuit for a manual shutdown.

    [​IMG]
    • Like Like x 2
  14. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Hmm... That is interesting. In my configuration everything is 24V, though the two pairs of power supplies in series have each at 12V. So not sure what's safer, if what you say is true maybe I should omit the rectifiers. I will shoot a question to Cytron just in case, asking about overvoltage protection.
  15. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I'm scratching my head over this problem. Each PSU will supply power to 3 drivers / 3 motors. I looked at the specs again and the MD13S has "regenerative breaking" in its features, so I guess it can handle the reverse current, but the question is what happens next? The rectifier upstream won't let it through to the PSU, so will the driver burn up, or will the extra energy just go to heating up the rectifier (which can take a lot of heat)?

    The power is supplied from the PSU to 3 drivers, so if one of them lets through the reverse current, but the other two are connected to the same wires, what will happen? Should I put 3 rectifiers so the reverse current can't flow to the other 2 drivers?

    See schematics of my 6DOF above. I'm trying to figure out what should I do in order to protect both the PSUs and drivers.
  16. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    For more safety and better heat dissipation capacity I think I'll use 6 of the KBPC5010 Rectifiers, having one before each driver, so the back current from the motor on one driver won't be able to get to other drivers. Hoefully if any occurs it will be converted to heat by the rectifier. Here's an updated schematics:
    [​IMG]
    • Like Like x 2
  17. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Cutting steel corners with a grinder from an old bedframe I had lying around. Nice thick steel, and free
    [​IMG]
    [​IMG]
    I'm having a problem drilling the holes in them, though. 4.5mm is easy enough, but my carbon HSS drill bits do nothing in larger sizes. I'll have to figure it out...
    • Like Like x 2
    • Creative Creative x 1
  18. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    In DOFReality H6 review the internals of the control box are shown. There are 2 identical boxes. each has 3 24V PSUs, Arduino with a dev shield and 3 of the same MD13S drivers I'm using (that's where I got the idea from), with added heatsinks. Note that beside the relay for the emergency stop button there is nothing else there. The top 3 things are the backs of the AC plugs. So they use no capacitors, no rectifiers, no battery and it's a commercially sold and popular motion system. They do have different motors than I'll be using, so there's that. But they are not less powerful, most likely more.
    upload_2024-10-17_17-56-8.png
    • Like Like x 1
  19. Josh_Possa

    Josh_Possa Active Member

    Joined:
    Jan 25, 2021
    Messages:
    125
    Location:
    Catalunya
    Balance:
    555Coins
    Ratings:
    +35 / 0 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Motion platform
    I saw your 2DOF project and you inspire me for build my own 2DOF project. After that I built an "evolution" to 3DOF with heave and I'm very happy with it. Right now I'm exited to see your 6DOF project done. Cheers!
  20. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    257
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,652Coins
    Ratings:
    +130 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Thanks for your kind words! I'm excited about this build. Making slow but steady progress.

    I cut some old bed frame into metal corners of the required size with a grinder and found that the metal it's made of is very stubborn and hard to drill. Not a soft metalI was expecting. I got myself a drill press on a great deal, and some good drill bits and 3D printed a drill press vise that really sped up the process. Go everything drilled now and starting to fix the motors to the frame.

    upload_2024-11-2_12-56-48.png

    A friend would hopefully provide me with free access to a jet-cutting machine to cut the motor arms next week. I designed the arms for the Yalu motors, which do not require welding. There are 2 metal pieces - one is an actual arm that goes around the shaft with the square notch, and the round one is bolted to it with 2 or 4 M8 bolts to allow attaching it to the motor shaft with another M8 bolt in the center. The holes for the rod attachment are placed at 40mm, 60mm, 80mm, 100mm and 120mm from the shaft center. I'm hoping for the 100mm with a fallback to 80mm if there's not enough power. If I find that I have an abundance of power I may go to 120mm.

    upload_2024-11-2_13-6-16.png
    As a backup plan, I can fabricate the arms from the same metal corners but that would be a lot of precision work with crude tools, doable but difficult, so jet-cutting would be much better.
    • Like Like x 1