1. 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!
  2. 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
  3. 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

Wooden 2 DOF Sim with integrated G-Seat, Fans, and Vibration

Discussion in 'DIY Motion Simulator Projects' started by MarkusB, Nov 17, 2015.

  1. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Brief update and one question:

    I shortened the lever from 6 to 4 cm for increasing the force that is applied to the seat, and I made a little adjustment to the position of the pivot point for achieving similar angles for roll and pitch movements. Now the maximum inclination is about +/- 9 degrees in each direction.
    Then I spent some time in optimizing the PID settings and the axis configuration for NLR2 and Microsoft Flight Simulator X. They may still not be optimal, but much better than before.

    Now I have a question:
    I would like to remain seated while switching between games. The problem is that my motors have a poor holding torque, so that the seat leaves its neutral position when it is not powered.
    When starting a game, the seat "snaps" into its neutral position, which is quite uncomfortable for the pilot and - even more important - it is probably not good for the motors.
    For this reason I am looking for a way to let the motors move smoothly into their neutral position after starting a game.
    Does anybody of you know if (and how) this is possible?

    Thanks and best regards,
    Markus
  2. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    15,078
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    111,222Coins
    Ratings:
    +8,997 / 43 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Some use sliding chocks that provide support on rigs where the motors can be back driven, I am pretty sure @Nick Moxley has something like that.
  3. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Thanks, found it. This could be a workaround. But if there is a way to keep the motors powered even when no game is running, this would be even better. Or - as mentioned previously - if it would be possible to move them slowly(!) into their initial position when starting a game.
  4. Rastus

    Rastus Active Member

    Joined:
    Oct 8, 2011
    Messages:
    117
    Occupation:
    Retired
    Location:
    Sydney Australia
    Balance:
    11,424Coins
    Ratings:
    +151 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor, JRK
    @MarkusB go to Game engine/ interface settings and type <251> in shutdown output, both axes of course. This keeps the JRK's energised between games, voila no sag. Been on my rig for years and no probs, doesn't seem to draw much amperage haven't had any heat problems. If you leave your seat at the end of a session before switching off and sit back gently next time, as soon as you start a game you should just feel a slight click as the seat is level and then you're right for the next session. Give it a go!!
    • Informative Informative x 3
    • Like Like x 1
    • Agree Agree x 1
  5. Nick Moxley

    Nick Moxley Well-Known Member

    Joined:
    Dec 13, 2013
    Messages:
    2,786
    Occupation:
    Owner/Operator- Moxleys Rantals
    Location:
    Winnipeg Manitoba Canada
    Balance:
    17,398Coins
    Ratings:
    +2,496 / 30 / -2
    My Motion Simulator:
    2DOF, 3DOF, DC motor, JRK
    I personally wouldn't suggest leaving your motor's/Controllers on ALL day if not in use, but Rastus is Right, use that shut down command and it wont drop anymore. My motor locks are specifically for when the power's off and im not racing.
  6. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Thanks a lot, @Rastus and @Nick Moxley! Yes, I think I will do both: Configure the Game Engine to keep the motors powered while I am seated and just switching between applications, and mounting a lock for idle times. The lock would also be good for simulations without motion support.
  7. Nick Moxley

    Nick Moxley Well-Known Member

    Joined:
    Dec 13, 2013
    Messages:
    2,786
    Occupation:
    Owner/Operator- Moxleys Rantals
    Location:
    Winnipeg Manitoba Canada
    Balance:
    17,398Coins
    Ratings:
    +2,496 / 30 / -2
    My Motion Simulator:
    2DOF, 3DOF, DC motor, JRK



    There's no need for a Lock on a Non motion rig tho, Zero point in sitting on a U joint without motion, So therefor No locks needed. ;)
  8. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Well, I tried to balance my seat out as much as possible, but still it moves when I shift my weight a bit. It is hardly possible for me to remain so immobile that the seat does not move. Of course this is only true while the power is off.
    • Agree Agree x 1
  9. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Dear (Game Dash) Experts,

    in the meantime I did a little re-design of my rig (lowering the seat, mounting the rods at waist height), and I added several controls for flight and driving simulations. Tests with FSX and Assetto Corsa were quite successful. I will post details, photos and videos soon.

    But before, I would like to ask you for your help. I did already ask my question in another thread and via a PM, but now I can provide some more details and want to follow up in my own thread.

    What I currently try to achieve is connecting three fans for providing some air stream. I want to do this via my third JRK 12v12. The other 2 JRKs are controlling the motors of my 2DOF rig.

    The fans work perfectly with No Limits 2, because in this game the speed value can be accessed directly within Game Engine. It's the value "Extra1". So what I did was the following:

    I set up the 3rd JRK within the JRK config utility.
    JRKConfigUtil_Motor.jpg
    As you see, I set the motor to asymmetric movement, because I want the fan to rotate in one direction only.
    Now when moving the target slider on the Input tab, the fan starts spinning at a value of 2087, and it increases speed until a value of about 2600.
    JRKConfigUtil_Input.jpg
    It is a rather small range and I did not find out how to increase it, but it's ok for now.

    Then I configured the interface and axis in Game Engine:
    GameEngine_Interface.jpg

    GameEngine_Axis.jpg

    When starting NoLimits2, the fans work perfectly and increase their RPM according to the speed of the rollercoaset.

    So far so good.

    Now I want the fans to run with MS Flight Sim X. The problem here is that the speed value is not available in Game Engine. For this reason I installed Game Dash, but I don't get the fans running.

    What I did:
    I enabled Game Dash within the Game Manager.
    GameManagerDash.jpg

    I configured the 3rd JRK in the output settings.
    Dash_COM6.jpg

    I started FSX and configured the startup/Interface/Shutdown Output within the Game Dash main window in the same way as I did in Game Engine. Just with the difference that I entered <Dash2> instead of <Axis3>. <Dash2> is RPM and not speed, because I decided to use RPM for controlling the fans.

    Dash_MainWindow.jpg
    The I clicked onto the Pencil icon on the right side of the RPM value and I experimented with many different combinations of commands, like e. g. this one:
    Dash_Command.jpg
    I also tried to convert the output to bin, but whatever I tried, I did not get the fans running.

    I do see the correct RPM "Out" value that corresponds to the "In" value and the entered commands. But the fans don't move at all, and I have no idea what I am doing wrong.

    One thing may be that the sequence of commands (MATH/ROUND/TOBIN/...) is completely wrong or not suited for a JRK 12v12.
    Or do I have to exit Game Engine first?
    Must or must not the JRK (i. e. its COM port) be configured in Game Engine (in addition to Game Dash)?
    Do I have to use different Startup/Interface/Shutdown settings in Game Dash?
    Or is Game Dash perhaps not made for controlling a JRK? I just found exampled related to Arduinos.

    Every hint is greatly appreciated, since I don't have any more idea what else I could try.

    Thanks a lot,
    Markus
    Last edited: Sep 8, 2016
  10. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Finally: It's flying ... and driving ... and coasting !!

    Dear XSimulator community,

    my rig has finally reached a status in which I can say that it is real fun to ride it.
    Of course there is always room for improvements, and my list of ideas is still long. However, from now on I will spend as much time flying/driving it as implementing further features.

    So far I have tested it with No Limits 2, Microsoft Flight Simulator X, and Assetto Corsa. More games are to be tested, like e. g. Project Cars and Elite Dangerous.

    But at first let me give you an impression of how it looks like.

    Here's the overall sim.
    Rig_Max_Size.jpg
    Since I want to share the joy of using the rig with my family and friends, I made the left part that holds the steering wheel and pedals adjustable.
    The picture above shows the maximum size that I use for myself.

    The picture below shows the smallest adjustment that fits for my 8 year old daughter.
    Rig_Min_Size.jpg

    I did this my mounting the left part onto this kind of metal frame that is used for car seats. The next picture shows the release handle. I just pull it and then I can shift the wheel/pedal part forward and backward.
    Movable_Controls.jpg

    Since I am not as flexible anymore than I was 30 years ago (well, actually I wasn't even then), the steering wheel can be turned up for facilitating the entry into the seat.
    Entry_Position.jpg

    Here you can see how the seat belts are connected to the base. I simply used two bungee cords that are actually made for tightening loads on a bike. I copied this principle from some other rigs I saw in this forum. The idea is that the belt tightens when the seat tilts forward, which shall increase the impression of being pushed forward when hitting the brakes.
    SeatBelt_Mount.jpg

    This is the electronics section with the server PSU and the 3 JRK 12v12 units. You can also see the pots and their connections to the motors. I already posted this part before.
    Electronics.jpg

    Here are 2 pics of the universal joint:
    Joint_01.jpg
    Joint_02.jpg

    And now comes the most recent improvement that I just tested 30 minutes ago: 3 fans and 2 vibration motors.

    Here are the fans:
    Fans_HOTAS_Wheel.jpg

    They work, but they are not ready yet, because they still need to get the label "POWERED BY @yobuddy & @eaorobbie".
    Mates: You two have made these fans turn by providing me with so valuable information and answers to my questions. Thank you so much again!

    About the vibration motors: I spent some time in evaluating options for implementing a vibration unit to my rig. The most common approach seems to be body shakers / butt kickers. As I read, they can be either connected to the PC's sound card or triggered by some electronics or - in the near future - by SimTools 2.

    Besides I found an amazing DIY oscillating motor that seems to be really cool:
    http://bffsimulation.com/BFF_Shaker.php

    However, I wanted to have something simple, and so I got the idea of buying 2 vibration motors that are actually meant for massage cushions.
    VibrationMotor.jpg
    In my first approach I just wired them in parallel with the fans and positioned them on the seat like this:
    Seat_VibrationMotors_Revealed.jpg
    Then I put the cover cushion of my seat on top of the motors and that's all:
    Seat_VibrationMotors_Hidden.jpg

    I did the first test of the fan/vibration add-on with No Limits 2, and it is a real cool improvement regarding the immersion.

    Then I tried to power the fans with Microsoft Flight Sim X. What I wanted to do was using the RPM (Rounds per Minute) value for triggering the fans and vibration motors. The problem was that the RPM value is not accessible in Game Engine, and I did not manage to get Game Dash properly configured for my third (and til then idle) JRK.
    At least not before @yobuddy and @eaorobbie provided their expertise and got it running.

    And now believe it or not: The fans plus this simple vibration component is such an incredible add-on to FSX that I could not get the satisfied grin out of my face during my initial test today.
    When starting the plane's engine, I feel the first slight vibration and a slight breeze of air around my nose. (Just the nose and not the eyes, because I am wearing an Oculus Rift.)

    Then I push the throttle forward and the wind as well as the vibrations increase.
    This difference compared to just my usual 2 DOF is immense, and I love it!

    Well, I think this is all for the moment.

    The next tasks will be to check out more games, and the next feature will probably be a mechanical lock for the rig, so that it does not move when the motors are not powered. Their holding torque is quite small, so that they are back-driven when the power is off.

    So long for now,
    Markus

    Attached Files:

    • Like Like x 6
    Last edited: Sep 19, 2016
  11. steveh2112

    steveh2112 Member

    Joined:
    May 12, 2014
    Messages:
    104
    Occupation:
    semi retired
    Location:
    Phuket, Thailand
    Balance:
    1,084Coins
    Ratings:
    +22 / 0 / -0
    My Motion Simulator:
    2DOF
    cool, it would be great to see a video of this in action

    is the oculus sensor on the moving or the static part of the rig?
  12. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Well, I started making a video last week, but the quality was rather bad. I did not manage to get the seat plus the monitor onto the video in a way that you really can see the monitor content in good enough quality. I think the only way is to make a split screen video like many others here in the forum. But first I need to find a software and get used to it.

    And even before that my rig needs to get in a better state again, as you can see in the photo below.
    IMG_4008.JPG

    I felt the urgent need to implement some further improvements, and so I disassembled it again.

    The main improvement I need is that I want my feet move together with the seat. As you can see in the images of my previous post, the pedals were mounted on the non-moving base plate. For driving simulations this was ok, but for flight simulations and the roller coaster sim this was quite disturbing for me. Whenever the seat was pitching back and forth - although it was only 10 degrees - I felt my knees bend and unbend, because my feet were not moving together with the rest of my body. And this was considerably reducing the immersion.

    So what I now plan to do is to mount a wooden plank with a foot rest to the seat. Then I will mount the pedals onto this plank.

    And now that I have the seat in peaces anyway, I will also try a second thing that is in my mind for quite a while: I will try to add the "heave" DOF to my rig. I will do this by adding movable flaps onto the seat base, as it is done in G-Seats. I got the idea when reading @RiftFlyer's thread:
    https://www.xsimulator.net/community/threads/riftflyers-g-seat-project.8418/

    In contrast to a real G-Seat, I will only have flaps on the seat base and not on the backrest. And both of my flaps will be driven by a single motor and move together. At least that's what I have in mind. I will see if it works. Up to now I just disassembled the seat:
    IMG_4004.JPG

    The sensor is on the static part.
    At the beginning I also had concerns about the missing motion cancellation, especially when I still planned to have much more movement in my rig. But with only 10-15 degrees I did not discover any problems. Maybe the Oculus image moves a little bit when the seat pitches or rolls, but I never even noticed it.
    Besides, I read in other threads that it can be more disturbing if the sensor is mounted on the moving part and starts vibrating due to the motion.

    With much larger movements (like in a 360 degrees rig) there is probably no alternative to mounting the sensor onto the moving part. But in this case I don't know if the Oculus will work correctly, because there are also some sensors within the headset itself, not only in the external device.

    Anyway, on my rig I am satisfied with the fixed sensor.

    I will keep posting my progress, and as soon as my rig is re-assembled and running again, I will definitely make a video.

    Best regards,
    Markus
    Last edited: Sep 30, 2016
  13. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    15,078
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    111,222Coins
    Ratings:
    +8,997 / 43 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Keep in mind that if you add the pedals you will need to alter the pivot position, as it will change the COG.
  14. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Thanks for the tip, @noorbeast. I have this in mind. I am rebuilding the entire moving part including the seat base, and I will balance it out before mounting the joint.
    • Like Like x 1
  15. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    During the last days I had some time for continuing with my upgrade from 2 to 3 DOF.
    Remember: I plan to add the "Heave" DOF by mounting 2 flaps onto the seat base. These flaps shall be moved synchronously by a single motor.
    As mentioned in my previous post, I got the idea from the principle of G-Seats. My approach is simplified, because I only want the flaps to provide me with the Heave DOF, while a usual G-Seat is also able to simulate the other DOFs.

    At first I continued dismantling my seat. I needed to remove the fabric and springs from the bottom, because this is the area which will be replaced by the flaps.
    IMG_4002.JPG IMG_4004.JPG IMG_4005.JPG

    Then I lifted the fabric until the tubes of the backrest were exposed. I did this for mounting a wooden plank to the backrest with some brass clamps. This plank will hold the shoulder mounts. This has nothing to do with the Heave addon. I just did it because I had the seat in peaces anyway. (Before I had the rods mounted to the seat base, but I hope to get some more torque by changing to a shoulder-mounted seat.
    IMG_4065.JPG IMG_4066.JPG IMG_4085.JPG

    After this, I reapplied the fabric and stitched it to the frame with some wire.
    IMG_4071.JPG

    The following pictures show the construction of the flaps.
    IMG_4062.JPG IMG_4074.JPG

    The flaps will be mounted onto the wooden seat base. Here is the seat base with the flaps - but without the seat - from above.
    IMG_4075.JPG

    And this is the view from bottom up.
    IMG_4077.JPG
    You see that the metal brackets reach through holes that I sawed into the base plate. I will come back to this later.

    This is how it looks together with the seat.
    IMG_4080.JPG IMG_4081.JPG

    Finally, I mounted the motor to the bottom side of the seat base.
    IMG_4082.JPG IMG_4083.JPG

    You see that I am using a quite long axis. My idea is to connect levers to both sides of the axis and then connect these levers with the metal brackets of the flaps via steel cables. I will lead the cables through some eyelets in a way that the flaps are lifted when the cables tighten. When the levers release the cables, the flaps will be lowered by the weight of my body.

    Of course, the motor axis will also be connected to a feedback pot. I plan to do it in the same way as with my 2 seat mover motors.

    Well, this is the current status. I will need quite some time for bringing my rig into action again, and I really hope that the heave DOF will work and add some more immersion to my future VR flights and races.
    • Like Like x 2
    • Creative Creative x 1
  16. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Guess there will be no Christmas cookies this year.
    Too bad, but I really need this sophisticated tool for my rig.
    IMG_4087.JPG IMG_4090.JPG
    Details about its new purpose will follow soon.

    (Problem is that this will probably not increase the WAF of my project. But you always need to set priorities.)
    • Funny Funny x 5
  17. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    My redesign is nearly done. As explained above, one main aspect of this redesign is that I want my feet move together with the seat instead of resting on the floor.

    After finalizing my construction and discovering its new weight, I got the concern that the torque of my motors would not be sufficient. Not while I am seated, because in this case the rig is perfectly balanced. But in order to get seated, I need to first sit on the front part of the seat and then slide my butt backwards until I reach the backrest. And while sitting on this front part of the seat, there will be quite some weight pulling at the motors and trying to drag tilt the rig forward.

    In order to check this temporary weight (and in this way to confirm or disconfirm my concern), I stretched two ropes (one on the left and one on the right side) from the seat's backrest to the motor axis and from there to the front of the rig. At the front, I connected digital suitcase scales to the ropes. Well, this is probably hard to imagine, so just have a look at the following picture:
    RopeAndScale.jpg

    Then I switched the scales on and sat down on the front part of the seat.

    Luckily, only about 11 kg pulled on the rope, which should be fine.
    IMG_4196.JPG
    My motors have a rated torque of 20 Nm, and even when I calculate with the optimal torque of 12.5 Nm and my lever length of 6 cm, the motors should be able to handle a weight of about 20 kg.

    Now I am a bit more optimistic that I will be able have some relaxing VR flights rather soon. :)

    My next post will provide some details about the current status of my rig.
    • Like Like x 1
  18. steveh2112

    steveh2112 Member

    Joined:
    May 12, 2014
    Messages:
    104
    Occupation:
    semi retired
    Location:
    Phuket, Thailand
    Balance:
    1,084Coins
    Ratings:
    +22 / 0 / -0
    My Motion Simulator:
    2DOF
    here is how i solved the spring back issue
    • Like Like x 3
    • Informative Informative x 1
  19. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Thanks for this informative video, @steveh2112! Great so see that your rig works so well. And good idea with the springs.
  20. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    459
    Location:
    Germany
    Balance:
    3,400Coins
    Ratings:
    +448 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Finally airborne again!

    At last... On Friday I got my rig operational again.

    So this was my first design which I explained in a previous post:
    First_Design.jpg
    and this is the second:
    Second_Design.JPG

    Well, the first one was much more compact, but as I mentioned before I wanted to have my foot rest move with the seat. And now it does, and for me it really makes a huge difference that is worth every minute of construction time.
    With the previous design and having angles of +/- 10 degrees I always had the sensation of my knee joints bending and stretching while the seat was tilting, and this felt completely unnatural. It was like the upper part of my body was inside the simulation while the lower part (i. e. the legs) were still left back in the real world.

    I think this is no issue for driving simulations with really small angles and fast movements, but with a flight or rollercoaster simulation and a little larger angles it really disturbed me and essentially reduced the immersion.

    When I am now running No Limits 2, it is a completely other feeling. Now it really seems that my whole body is completely inside the coaster, and this is fantastic.
    • Like Like x 1