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

My 3 DOF with heave

Discussion in 'DIY Motion Simulator Projects' started by Sebastian2, Jan 18, 2024.

  1. sci666

    sci666 Active Member Gold Contributor

    Joined:
    Mar 18, 2021
    Messages:
    186
    Location:
    Germany
    Balance:
    1,146Coins
    Ratings:
    +70 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Hey Attyla, cool thanks for the link, seems that the F18 is more like a racing car :D hehe
  2. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    I agree, thats valuable information. Time for some adjustments on my rig :grin
    • Funny Funny x 2
  3. Attyla.pl

    Attyla.pl Active Member

    Joined:
    Oct 1, 2023
    Messages:
    206
    Location:
    Polska
    Balance:
    878Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I have a request, could you make a short movie on which you can see the range of vertical movement of the platform and record the sound of the engines ? I can't hide that I like your project very much and you inspired me strongly to change my 2DOF to 3DOF :)
  4. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Thank you for your kind words and sorry for taking so long to give you an answer. You can find a video of my rig here:

    https://drive.google.com/file/d/1d9e15BJU26Q9-pmIRJTju0yzt-BrHyLA/view?usp=drivesdk

    The video shows that my rig can do a little more than +/-20 degree roll, +/-20 degree pitch and +/-7 cm heave. Of course, if you try to mix those DOFs, the amount of motor axis travel for each DOF will be reduced, depending on your motion profile. So I showed maximum values that can hardly be achieved in real world scenarios.

    To achieve those relativley high angles, i needed to use quite long motor levers with a CTC if 100 mm. Thus, the motors have to be quite powerful. I've got 500 W motors that run on PWMmax 170, so about 330 W effective power.
    One time MSFS glitched and the seat pitched violently downwards. I was almost catapulted out of the chair, and was barely hanging on the edge of the seat. So I guess the motors are powerful enough. (BTW, since then, I always use the seatbelts...)

    Most 2DOFs have motors that are weaker than what I use. Or they run on chinese H-Bridges that require a lower-than-spec voltage, which also reduces motor power. So keep in mind that you might have to upgrade your motors and drivers if you want to go 3DOF. PSUs also might need an upgrade Also, I had considerable trouble finding a way in dealing with regenerative currents. Lots of 2DOF builds on here seem to get by without spending too much effort on this, so I guess this is also due to the reduced motor power compared to a 3DOF.

    Also, think about what games you want to play with your rig. While car sims and general aviation flight sims seem to make good use of heave, my motion profiles for combat flight sims don't use the vertical translation at all. There, I use the heave input from the game to pitch the seat, so that gravity presses my body against the back of the chair. This makes it possible to (kind of) simulate sustained g-forces during the tight turns that fighters do all the time.
    What I'm trying to say is: as upgrading a 2DOF to a 3DOF with heave is a considerable effort, you should be sure that its worth it for what you want to use the rig for.
    I play combat flight sims most of the time and i have to admit that I didn't think this though. I hardly use the physical heave on my chair so a 2DOF would have been enough for me (and way cheaper).
    The little time i spend in GA planes is dope though, wouldnt want to miss out on those turbulences, making the heave axis go brrrrŕrt.

    ---

    I also want to tell y'all about the new feature I recently added. I call it "(emergency) soft off". I already had an emergency shutoff switch (that goes by "hard off" from now on). If I punch the hard of button, the power to the drivers (and thus the motors) is cut. This is the button to press if smoke comes out of the electronics box.
    The downside of this button is that, well, the seat goes down when its pressed. My weight is able to back drive those 60:1 worm drive gearboxes. The motors stop in a position thats way out of the max limit range set in SMC3utils. So SMC3 thinks there is an error and the motors stay shut down. I'll have to switch the jumpers on the drivers so I can use their buttons to bring the motors back to a working positon... thats quite some effort and takes about 15 minutes. If something goes sideways in a game, I usually don't want to press the hard off button, because the recovery takes so long.

    So I added the soft off. For that, I basically repurposed the pot scaling function of SMC3. If I punch this button, the arduinos ignore anything coming from the PC and try to recenter the seat. This is the button I press if a game glitches on me (looking at you, MSFS!). When the game issue is fixed, I can just reset the soft off button and the fun can go on.

    I attached a wiring diagram for the soft off function. Keep in mind you need a emergency shut off switch that has both, a normally open as well as a normally closed switch inside. You also need a resistor - I tested 1 kOhm and 47 kOhm, both worked fine. And last but not least: activate pot scaling the SMC3 arduino code.
    Oh, and both arduinos need to have the same GND level for this wiring diagram to work. Mine are powered from the same USB-hub, so this was not an issue.

    Attached Files:

    • Like Like x 2
  5. Attyla.pl

    Attyla.pl Active Member

    Joined:
    Oct 1, 2023
    Messages:
    206
    Location:
    Polska
    Balance:
    878Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Thank you for such a comprehensive answer, i was a little worried that in military simulators (or do you mean DCS? ) you "can't feel" the heave axis this raises the question if this is due to :
    1. the weight of the aircraft (heavy fighter) meaning less sensitive to air turbulence ?
    2. or is the DCS plugin for SimtoolsV3 not transmitting the right data to the simulator, I am not familiar with SimtoolsV3 and do not know how much data is received from DCS
    FlyPtmover collects a lot of data from DCS :) I attach the configuration file for FlyPtmover just load it and run the player on the preview you can see how the platform reacts.
    As for limiting the power of the motors, since the limitation is the protection against reverse current, maybe the solution is to use a KBPC 5010W diode or more powerful as in these threads:
    https://www.xsimulator.net/community/threads/power-supply-tripping.13110/
    https://www.xsimulator.net/community/threads/keiths-2dof-rig.14363/page-4#post-230224
    or using a battery as a buffer like here :
    https://www.xsimulator.net/community/threads/from-2-dof-to-3-dof-flight-sim-motion-rig.18430/page-2

    Attached Files:

  6. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Yeah, DCS is a good example for a combat flight sim.

    The issue with heave for fighter jets is not the game or the plugin. Those are fine. Also, I assume they can experience considerable amounts of turbulences. You can map the heave output of the game to the motors of your rig so that the seat performs a heave motion (vertical translation).

    Lets do a thought experiment. You design your game profile so that +8 Gs of heave coming from the game result in +5 cm of vertical movement of your seat. Now you are in game, flying level and want to quickly change your course 90 degrees to the right. You bank your plane and then pull the back the stick. The G-forces kick in, the game sends +8 Gs as heave ... what will your seat do? It will rapidly move up 5 cm and stop there. So after pulling back your stick you will first feel a vertical acceleration and shortly after, you'll feel a second sensation, the vertical deceleration when you reach +5 cm. So you get 2 sensations for one control input. Not good. Also, when you reached +5 cm, there is no additional sensation to let you feel that you are still pulling +8 Gs. You are just sitting there.

    Thats an issue with how the rigs and simtools (flypt mover too?) is designed. Heave, an vertical acceleration, is translated to a vertical positon.

    This is no problem with cars and general aviation. Road bumps and turbulences are accelerations that only last a very short time and reverse in direction. It still feels good to translate those to quick changes in positons (because that also neccessiates quick accelerations).

    Fighter jets are very different to that. Here you regularly have vertical accelerations that last dozens of seconds without changes in direction. No rig can give you the necessary amount of heave travel for that (and even if it did, simtools would still translate constant Gs to a constant position, which results in you feeling nothing).

    So you'll have to get creative. A lot of people make the seat pitch up (feet go up, backrest leans back) when the plane pulls positive Gs. That way, pulling the stick back results in you feeling your back getting pressed against the backrest (by gravity). Ofcourse, in reality, it would not be your back thats pressed against the seat, but your butt. So there is compromise in translating heave input to pitch movement, but i find it quite convincing.

    Thanks for your suggestion for handling regenerative currents. If I'll get to the point that I crave more power, I might give the diode a try. My 3 PSUs are running 24 V, so that would mean 6 batteries with 12 V. I wasn't able to find 24 V lead batteries. This is just not space efficient enough for my taste.
  7. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Hey @Sebastian2 do you have the .stl files of the holders (PSU, Fuses, etc) available somewhere?
  8. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    As requested, I uploaded a zip file containing all the STLs I used for my rig. Most of them I've created myself, with the exception being the valve index controller mounts (i got it from thingiverse).

    https://drive.google.com/file/d/1UNzt1k7-XdfXjzRCJlHEc_JUxJ4Bgfjc/view?usp=drivesdk

    I also uploaded pictures at the end of this post, showing the 3D printed parts in use. That way, it should get easier for y'all to check if there is something you could use for your own project.

    As it's often the case with custom 3D printed stuff, it was made to fit exactly the needs of the author. So it might not be optimal for your use case and you might need some modifications. I used Solidworks to design those parts and can provide you the original files. Just send me a PM and tell me what you need.

    A lot of these parts are made for easy mounting to 4040 aluminium extrusion profiles with M8 screws with cylindrical heads or pan heads (check the parts, some fit just one head type). Like I said, most of the parts were designed with specific components in mind.
    I'll try to make a list here with additional info.

    Distributors.
    Use M4 screws with hex head. Lenght as needed for the number of cables you need to attach. I used 40 mm.
    Mounts to a surface using M3 screws.

    Driver mount
    For Cytron MD30C motor driver. Mounts to a surface using M3 screws.

    Fuse mount (mount)
    For use with these fuse mounts:
    https://www.reichelt.de/kfz-sicheru...8-v-schraubanschluss-imaxx-h9120-p229122.html
    and these caps
    https://www.reichelt.de/deckel-fuer-kfz-sicherungshalter-h9120-maxioto-imaxx-h9105-p229121.html
    and these fuses
    https://www.reichelt.de/kfz-sicheru...ansor-340631-p337706.html?&trstct=pos_0&nbc=1
    Mounts to a surface using M3 screws.


    Weight Mount
    For weight plates with 25mm/1inch hole diameter. For added lateral stability, a M5 screw with cylindric head and hex drive can be inserted into the pin that holds the plate centered. I think I used 40 or 50 mm lenght.

    Pot Mount
    For use with TT electronics 6127V1A360L.5FS hall pot and gearboxes that are 44 mm in width and have a M6 screw hole on top. The mount has a slot hole so it can be mounted in a position that gives good belt tension for the pulleys.

    PSU Mount
    For 3 Meanwell RSP-1000-24. Mounts to a surface using M3 screws.

    Fan Adapter
    For use with 140 mm fan and 3 Meanwell RSP-1000-24. The distance between the PSUs needs to be the way the PSU mount dictates.

    Pulleys
    The small one fits the TT electronics 6127V1A360L.5FS hall pot I used. The tolerances produced by my printer resulted in a tight fit.
    The big one fits a 20 mm motor shaft with 18 mm D-cut. Again, the tolerances were tweaked to give tight fit on my printer.

    Relay mount
    For 3 relais of this type
    https://www.reichelt.de/50a-hochstromrelais-frc2-24v-1-wechsler-frc2-c-24-p79402.html

    Shunt mount
    For 3 pololu shunt regulators. Mounts to a surface using M3 screws. M2 screws needed to mount the shunts.

    Tracker mount
    I use a Valve Tracker Gen2, but I guess Gen1 and Gen3 should work, too.

    Wheel adapter plate
    For workbench wheels of this type
    https://www.amazon.de/gp/aw/d/B0CJ2LP9BH

    Attached Files:

    • Useful Useful x 1
  9. luu trung

    luu trung Member

    Joined:
    Apr 4, 2022
    Messages:
    74
    Balance:
    160Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    3DOF
    what is the gear ratio of your motor and sensor.
    what do you think about the difference between connecting the sensor directly to the motor shaft and a belt
  10. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    On my rig, the pulley on the motor has 75 teeth, while the pulley on the pot has 25 teeth. So the ratio is 75/25=3. I use about +/-45 degrees of motor shaft rotation, so the pot rotates +/- 135 degrees.

    In theory, a higher ratio increases precision for the measurement of motor shaft position. But I don't think this is of practical relevance for any DIY rig.

    The real reason I chose to connect motor shaft and pot via pulley was that it seemed easier to do it this way on my rig. The end of my motor shaft is blocked by the motor levers. So it would have been hard to connect the pot directly.

    I assume ratio 1:1 would have worked equally well. It seems like many people do it this way.
    • Like Like x 2
    Last edited: Jun 29, 2024
  11. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Small Update

    I noticed that sometimes slip occured between the belt and the pulley on the motorshaft. This means that the motor turned farther than the sensor would notice, which is obviously a bad thing.

    I disassebled the pulley and belt and noticed that indeed it didn't take much torque to make the belt slip on the pulley. It seemded like the geometry of the teeth on the pulley didn't exactly match the geometry of the teeth on the belt.

    Thinking about it, I noticed that it might have been a bad idea to 3D print teeth with 2 mm spacing using a 0,4 mm standard nozzle. That's simply to coarse for a geometry with such fine details. I switched to a 0,2 mm nozzle and printed the pulleys again.

    Testing it manually showed great improvement. I was able to apply a lot more torque to the belt before it would start to slip. Had no such issues since then.

    ---

    I also came up with an idea to be able to quickly change between center stick and side stick. Thats because I wanted to try center stick but worried about how I would get into the seat. This seems to be way easier with side stick.

    My contraption is based on strong neodymium magnets of cylindrical shape (30 mm diameter, 10 mm height, N48, 34 kg force) and some 3D printed parts I designed. See attached pictures.

    Did I re-invent the wheel here? Are there other solutions out there that allow quickly switching between stick positions?

    The magnets are completely encapsulated by the 3D printed parts, to avoid accidents where the magnets get into direct contact with each other or get loose and smash against other magnetic objects.

    To seperate the joystick from its current mounting position, I need to pull it vertically with deliberate force (equivalent to lift something with a weight of between 5 and 10 kg I'd say). In normal use (moving the stick sideways) the base stays firmly in place. Tight tolerances and a good fit between the 3d printed cylindrical geometries on both stick and mounting base are important for that.

    At first, the hall sensors in the stick were confused by the presence of the mounting magnets. Recalibration solved that issue. As the magnets don't move relative to the stick, I assume no further recalibration will be needed (unless I put away my contraption entirely).

    Attached Files:

    • Like Like x 2
    Last edited: Aug 16, 2024
  12. NAV13

    NAV13 New Member

    Joined:
    Sep 7, 2024
    Messages:
    1
    Balance:
    16Coins
    Ratings:
    +0 / 0 / -0
    Hello! Thank you so much for your project and for sharing information on how it can be replicated. I am sure that thanks to the use of aluminum profiles, your project will be repeated by many because it is functional and aesthetically pleasing. I would also like to repeat it. Please tell me how much money did you spend on making your 3 DOF motion simulator?
  13. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Thank you for your kind words. I think total cost was in the realm of 1500 to 2000 Euros. Roughly 400 Euros for the motors (incl. shipping), 600 Euros for the PSUs, 500 Euros for the 4040 aluminium profiles and several hundreds Euros for the connecting brackets, drivers and small parts. Another hundred for the seat itself. So it's likely closer to 2000 Euros than it's to 1500.
    • Informative Informative x 1
    Last edited: Sep 8, 2024