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

3DoF G-Seat, All metal

Discussion in 'DIY Motion Simulator Projects' started by Gefahren, Jun 16, 2024.

  1. Gefahren

    Gefahren Member

    Joined:
    Mar 9, 2024
    Messages:
    24
    Occupation:
    Electronics Engineer
    Location:
    Central Mississippi, USA
    Balance:
    149Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    This will be my second G-Seat build. The build thread for the first one is Here.

    I learned a lot from the first build. First off was to design BEFORE I build. Trying to do it the other way around caused me a great deal of headaches.

    This time I wanted to try and make it more compact, plus not rely on my poor wood and metal working skills.
    So, I modeled it up in Alibre CAD and had all the metal parts laser cut and bent from OSHcut. I only mention their name because I was very happy with their price, speed and the quality of the parts.

    Now I've had a few people ask me to explain how the seat is supposed to work, and I figured I'd take a moment to try explaining it here. Now, I am no expert on anything at all, so if I say something wrong then someone, please correct me. I'll start the build pictures and such in my next post after this.

    This motion seat has three degrees of freedom which means it has three different motions that it can do. Those motions are Pitch (tilt forward and backwards), Roll (tilt side to side) and Heave (move up and down) as illustrated here. Pitch.png Roll.png Heave.png

    The seat is supposed to provide false cues to your body that it is under an acceleration (G force) in some direction. To accomplish that, the seat has movable 'flaps' on the seat bottom and back
    Flaps.png along with a 5-point harness that changes tension as the seat moves.

    The three accelerations we want the seat to make us 'feel' are Surge, Sway and Heave.

    Surge is an acceleration forward or backwards. To simulate that the seat uses its pitching motion. For example, a positive Surge, like if you are accelerating in a car, or launching from an aircraft carrier catapult, would make the seat pitch up (tilt back). This would cause several things to occur. The flaps on the seat back would fold inwards, the shoulder harness would loosen up, your head would bump into the head rest, and you would be farther away from the physical controls (steering wheel, flight stick, etc.). All of that would provide false cues to your body. The flaps and shoulder harness would make it feel like you've sunk into the seat cushion. Your head hitting the head rest and your viewpoint (in VR) moving back would make it feel like your head was being pushed back. The controls being farther away would make you have to reach out to them, which provides the false cue of having to hold your arms out against the acceleration.

    Sway is an acceleration side to side. The seat uses its rolling motion for that. The effect is achieved very similarly to the way Surge is done. However, this time the parts of the seat are actuating differentially. That is, they are moving in opposite ways. The flaps on one side of the chair will fold in while the opposite side will flatten out. The harness will tighten up on one side, while loosening on the other. Your viewpoint will shift to one side along with the physical controls. This provides the false cues that you are being pushed to one side, like if you take a sharp turn in a car.

    Heave is an acceleration up or down. The seat uses its heave motion for this (go figure). For positive heave, the seat moves down which causes the flaps to fold inwards, the harness (lap and shoulder) to loosen up, your viewpoint to shift down and the physical controls to be higher. Opposite all of that for a negative heave. These provide the false cues as if your being pulled up or pushed down like if you go over the top of a hill or through a loop on a roller coaster.

    One thing that is nice about G-seats is that they can sustain those false cues for as long as you want such as if you fly a plane inverted or roll your car onto its side.

    Well, that is it for my very wordy late-night explanation of what the seat does and how it does it. Now on to some actual work on the new seat.
    • Like Like x 3
  2. Gefahren

    Gefahren Member

    Joined:
    Mar 9, 2024
    Messages:
    24
    Occupation:
    Electronics Engineer
    Location:
    Central Mississippi, USA
    Balance:
    149Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    A good place to start is at the bottom and work your way up. So here is the bottom plate of the new G-seat, the Mk3. (don't worry about what happened to the Mk2...) For this build I designed everything out of 3/16" (4.7625mm) aluminum. Then I used all metric measurements and hardware after that. I had originally planned for 4mm aluminum and 1/4" hardware. I like to mix it up like that.
    PXL_20240612_000204390.jpg
    To this we need to attach some feet.
    PXL_20240612_004036436.jpg
    I got tired of moving the old seat around. It wasn't because it was heavy, but because it was awkward to pick up. I usually got one of my children to help me. The reason I just didn't leave it in front of my computer is because my desk height didn't match up well. The new seat addresses both those problems.
    PXL_20240612_005742741.jpg
    I put wheels in each foot. I will sit on the rubber pads normally, but I can pick up on one side of the seat to tilt it up onto a wheel and move it around like a wheelbarrow. I originally printed all four feet the same, but then realized that if I make the one on the back wider and put at least two wheels on it I can tilt the seat back and move it like a hand truck for even easier moving if I need to go more than a few feet. The wheel will be attached with a Clevis pin, but Amazon has decided to delay my package for over a week. They will be easy to install whenever they do arrive.

    PXL_20240612_005809798.jpg doesn't look much different with the feet from this side.

    Next, I need to put all the stuff underneath the base plate because it is going to start getting heavy.
    So, just like on my previous seat the power supplies live on the bottom. I am using the same supplies from my previous build, Meanwell LRS-350N2-24.
    PXL_20240613_033613492.jpg PXL_20240613_034039117.jpg

    And to finish this post off I started attaching the motors/gearboxes. This time I'm attaching the motors directly to the baseplate whereas before I had the Angle Iron braces that they were attached to. To keep things from flexing there is another plate that attached to the top of the gearboxes to make a sandwich structure, but we will get to that later. Also, some more detail on the gearbox mounts in the next post.
    PXL_20240613_042439735.jpg
    • Like Like x 3
    • Informative Informative x 1
  3. hcee2022

    hcee2022 Member

    Joined:
    Feb 13, 2022
    Messages:
    31
    Location:
    Finland
    Balance:
    174Coins
    Ratings:
    +40 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    This will be epic. Keep up the good work!

    How do you like the motors and gearboxes? Is the movement fluid or jerky? My Alibaba worm gears have some play/backlash that makes my rig miss some small/fine movements.
  4. Gefahren

    Gefahren Member

    Joined:
    Mar 9, 2024
    Messages:
    24
    Occupation:
    Electronics Engineer
    Location:
    Central Mississippi, USA
    Balance:
    149Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    One of the worm gears is a no name from Amazon while the other two are from StepperOnline. They all have some backlash. (spec'd at 1° on the StepperOnline ones) The more expensive one from Amazon makes a clicking noise when unloaded. So far, I've not noticed during normal flight it since they are loaded by the weight of the seat and myself.

    I had looked at the same type of wormgear/motor that you have on your setup but after shipping was added in it was cheaper for me to get Ampflow motors from Amazon and the gearboxes from StepperOnline. I've been very happy with the performance so far.

    As far as jerky movement I've found that I need to keep the PID values for the motor drivers lower than the recommended starting points in SMC3. It appears like the motor was able to drive the axis close to the desired setpoint before SMC3 received the next update from Simtools more or less. So, it was constantly accelerating and decelerating the axis during movement. At first, I thought I was feeling the meshing of the teeth on the worm drive but adjusting the PID values lower smoothed it out.
  5. hcee2022

    hcee2022 Member

    Joined:
    Feb 13, 2022
    Messages:
    31
    Location:
    Finland
    Balance:
    174Coins
    Ratings:
    +40 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Thanks for the detailed answer, good to know. Could you please also post a screenshot some time of your SMC3 settings and tracking graph in the SMC3 motion mode.
  6. Gefahren

    Gefahren Member

    Joined:
    Mar 9, 2024
    Messages:
    24
    Occupation:
    Electronics Engineer
    Location:
    Central Mississippi, USA
    Balance:
    149Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    Since I've disassembled everything to transfer the motors and such over to the new build it will take me a moment. I'll have to retune things because of the difference in crank arm length and some geometry, along with the weight difference. As soon as I've got something workable I'll post some pictures of that.

    With that being said I have an Uno R4 Minima sitting on my desk and I've started writing firmware for it to replace my Uno R3 and SMC3. More on that later when I'm farther along with it.

    Well, I'm about to get out of town and won't make any progress for a few days, but I've been randomly putting different parts together to check the various assemblies. Also, I've been printing the various other parts I'll need. I did want to assembly everything in order from the ground up as if this was a kit, but I'm too impatient for that.
    So, here's a few more pictures.
    PXL_20240617_035059536.jpg PXL_20240617_035121464.jpg
    This is the moving platform that the seat is on. It's kind of hard to tell how it fits into everything, but it'll make more sense when I put the rest of it together and get some good pictures.

    PXL_20240617_034815942.jpg
    This is the headrest and shoulder harness support frame. Also, it will be a good thing to grab on to tilt the whole seat back and move it around like a hand truck.

    PXL_20240616_074222814.jpg PXL_20240616_074300906.jpg PXL_20240616_074313025.jpg
    This is the part that attaches the seat platform to the crank arms on the gearboxes. I used the same M14 rod ends from my last seat. I only picked that size because it had a higher maximum angle it could go to. Other than that, it is much larger than needed for the small stresses I'm putting on it.

    PXL_20240617_034548917.jpg PXL_20240617_034624933.jpg
    Here's the new motor control box next to one from my first seat. The small 40mm fans in the old ones were very noisy so I switched to an 80mm fan in the new one. Much quieter and more airflow. I also replaced the small bar graph voltmeter on the old ones with a digital meter. Also, for no really good reason I mounted them on the inside so you can see them by looking through the fan.

    When I get back from my Vacation, I'll be working on attaching the position sensors to the gearboxes. I like the way I've come up with for this much better than what I had previously.
    • Like Like x 1
  7. Gefahren

    Gefahren Member

    Joined:
    Mar 9, 2024
    Messages:
    24
    Occupation:
    Electronics Engineer
    Location:
    Central Mississippi, USA
    Balance:
    149Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform
    Well, I made it back from Vacation so I can get back to this build (and my day job...sigh).
    I put together my position sensors and forgot to take any pictures so here's an exploded view from my CAD software.
    upload_2024-6-23_23-29-35.png PXL_20240624_043357013.jpg
    They are the same magnetic sensors I used on my previous build, but I redid the housing so that they would have double ball bearings supporting them. This was to eliminate all the wobble that they had from using a single cheap skateboard bearing. While I was at it, I integrated the mounting flange on them and made a single piece shaft for them.

    On the old seat I wasn't happy with where the sensors were mounted.
    They were on the outside end of the gearboxes which made them vulnerable to getting caught on something if I were moving the seat or hitting my leg on them as I moved around the seat.
    PXL_20240612_231507570.jpg
    Also, the old gears I had printed worked ok, but I didn't like the ratio I had.
    PXL_20240123_065222134.jpg

    To fix these issues I moved the sensor to be underneath the gearbox and changed from gear teeth to a string driven pully system. With this not only is the sensor safe from things hitting it, but I have a gear ratio of 102.4:360. That gives me a resolution of 0.1° on the position sensor over the 90° travel of the crank arm. My old setup only had a resolution of ~0.176° (which coincidentally is the alt code for the degree symbol Alt+0176).
    PXL_20240624_031600628.jpg PXL_20240624_031547731.jpg PXL_20240624_031632949.jpg
    I'm using some Spiderwire fishing line for the string. It's rated at 65lb test so it should hold up to this.
    There is a hole through the middle of the sensor pulley, then the wire is wrapped a few times around it in each direction before going up to the large pulley. The small spools at the top have some holes through them that the spiderwire is looped through before being tied off and glued. Then it is wrapped around them. They have radial notches in the bottom of them that lock into matching features on the large pulley to keep them from turning, then the M4 screws hold them in place. All together there is about 42" of wire wrapped up on it all.

    I have access to the wires on the sensor from the opposite side of the gearbox. I covered that with a simple blanking plate. I can also reverse which side the sensor is on if I ever wanted to. The wires for it run out under the motor towards the center of the seat. I've not had any noise issues on my old setup which routed the wires in a similar way.
    PXL_20240624_034327291.jpg

    With the sensor in place, I can mount the crank arms. Originally, I was going to get the crank arms machined out of 12mm aluminum but instead I had them lasered out of the same 3/16" plate as the rest of the seat. This just meant that they need to be layered up to hold the bearings and for strength.
    PXL_20240624_033443959.jpg PXL_20240624_033840695.jpg PXL_20240624_034119051.jpg
    The big fender washer is for an M12 bolt, so I just printed a small spacer to keep it centered on the M6 bolt.
    The crank arm on the opposite side of the gearbox is the same, only the printed spacer is different since it doesn't have the large pulley on that side.
    • Winner Winner x 1