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 DIY G Seat

Discussion in 'DIY Motion Simulator Projects' started by Wayne Thebus, Dec 5, 2023.

  1. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I intend to add G-Seat capabilities to my static rig.
    My current setup is a DIY hoverboard steering wheel(battery powered) and a set of 3 diy 3D printed Pedals.
    I will be using the WRC Playseat as a foundation for this project.
    I have made the purchases for the require hardware on Amazon, and I have received the Arduino UNO and the Servo controller and 300W 5V psu.
    I am still waiting for delivery of the 12X high torque servos and the extension wiring.

    Attached Files:

    • Like Like x 2
    • Creative Creative x 1
  2. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Good day all, I am looking for a diagram that shows how to wire the servo for a servo base G seat, any help and advise is always appreciated, thank you.
  3. GWiz

    GWiz Active Member

    Joined:
    May 12, 2019
    Messages:
    181
    Occupation:
    Dentist
    Location:
    Aberdeenshire, Scotland
    Balance:
    1,468Coins
    Ratings:
    +118 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    You should link all the Gnd wires together like this:


    3QHEv2.png

    Most servos have a black (Gnd) Red (Power) and signal (orange/yellow) wire. Check the servo specs as to what voltage to use. Higher voltages will give more power and generate more heat but keep the voltage below the max allowed or you'll blow the servo. Try to design the G-Seat not to stall the servos too much as this will cause a large in surge of current, generate a lot of heat and may break the servo. The rating will give the max force the servo can move when it is attached 1cm from the arm centre. i.e. A 20KG servo will produce 10kg of force at the end of a 2cm arm. Make sure your Gnd and power cables are thick enough to carry the current, you will generally need to use thicker cables than the ones attached to the servo if your servos are a distance from your power supply.
    • Like Like x 1
    • Informative Informative x 1
  4. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    This is the hardware that I currently have.
    SERVO CONTROLLER
    300W 5V Psu
    Arduino UNO

    Still waiting on
    25kg servos

    I need some help with wiring and also what software / firmware is used to make this happen. Again thanks in advance for all suggestions and support.

    Attached Files:

    Last edited: Dec 7, 2023
  5. GWiz

    GWiz Active Member

    Joined:
    May 12, 2019
    Messages:
    181
    Occupation:
    Dentist
    Location:
    Aberdeenshire, Scotland
    Balance:
    1,468Coins
    Ratings:
    +118 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    I'm not familiar with using a servo driver, though the most servos I've used on one arduino is 6. There's a good thread here that will give you lots of information on writing a sketch to control the servos the way you want:

    https://www.xsimulator.net/community/threads/rc-model-for-motion-simulation.4600/page-11#post-242561

    You will need something different though if you are running this through a servo driver. The following won't connect to the motion software, but should let you check that the servos are wired and operating correctly:

    Code:
    /***************************************************
      This is an example for our Adafruit 16-channel PWM & Servo driver
      Servo test - this will drive 8 servos, one after the other on the
      first 8 pins of the PCA9685
    
      Pick one up today in the adafruit shop!
      ------> http://www.adafruit.com/products/815
     
      These drivers use I2C to communicate, 2 pins are required to
      interface.
    
      Adafruit invests time and resources providing this open source code,
      please support Adafruit and open-source hardware by purchasing
      products from Adafruit!
    
      Written by Limor Fried/Ladyada for Adafruit Industries.
      BSD license, all text above must be included in any redistribution
     ****************************************************/
    
    #include <Wire.h>
    #include <Adafruit_PWMServoDriver.h>
    
    // called this way, it uses the default address 0x40
    Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
    // you can also call it with a different address you want
    //Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41);
    // you can also call it with a different address and I2C interface
    //Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40, &Wire);
    
    // Depending on your servo make, the pulse width min and max may vary, you
    // want these to be as small/large as possible without hitting the hard stop
    // for max range. You'll have to tweak them as necessary to match the servos you
    // have!
    #define SERVOMIN  150 // this is the 'minimum' pulse length count (out of 4096)
    #define SERVOMAX  600 // this is the 'maximum' pulse length count (out of 4096)
    
    // our servo # counter
    uint8_t servonum = 0;
    
    void setup() {
      Serial.begin(9600);
      Serial.println("8 channel Servo test!");
    
      pwm.begin();
     
      pwm.setPWMFreq(60);  // Analog servos run at ~60 Hz updates
    
      delay(10);
    }
    
    // you can use this function if you'd like to set the pulse length in seconds
    // e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise!
    void setServoPulse(uint8_t n, double pulse) {
      double pulselength;
     
      pulselength = 1000000;   // 1,000,000 us per second
      pulselength /= 60;   // 60 Hz
      Serial.print(pulselength); Serial.println(" us per period");
      pulselength /= 4096;  // 12 bits of resolution
      Serial.print(pulselength); Serial.println(" us per bit");
      pulse *= 1000000;  // convert to us
      pulse /= pulselength;
      Serial.println(pulse);
      pwm.setPWM(n, 0, pulse);
    }
    
    void loop() {
      // Drive each servo one at a time
      Serial.println(servonum);
      for (uint16_t pulselen = SERVOMIN; pulselen < SERVOMAX; pulselen++) {
        pwm.setPWM(servonum, 0, pulselen);
      }
    
      delay(500);
      for (uint16_t pulselen = SERVOMAX; pulselen > SERVOMIN; pulselen--) {
        pwm.setPWM(servonum, 0, pulselen);
      }
    
      delay(500);
    
      servonum ++;
      if (servonum > 7) servonum = 0;
    }
    
    You'll need to modify this to merge it into something similar to EARobbie's Servo controller code so that the string sent from Simtools/FlyPT is converted into servo movement. For a G-Seat, you will also tend to want certain servos to only operate to positive or negative values and not both. (i.e. The seat belts tighten on braking, but don't move on acceleration).

    5V might be on the low end for servo torque, but not necessarily a problem if you are using many servos in unison. Have you a mechanical design in mind?

    To start with, once the servos arrive, I'd connect them to the arduino, flash a simple sketch to make sure you can control them via Simtools or FlyPT Mover and go from there.
    • Like Like x 1
  6. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Decided against using the servo controller, I wired the servos into the Arduino as per your suggestion.
    I will be using the split wiring harness to double up each servo, so I will run twelve servos (with air bladders similar to what I have seen on the forum.
    I have tested using Live For Speed, running the power supply @ exactly 6.0volts. The movement seem quick enough for me, however I still have 3d print some parts to keep the air bladder in place.
    Waiting for balance of my items to be delivered.

    Attached Files:

    • Like Like x 1
  7. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Testing with 1 set of air bladders and 2 servos working in tandem. The result are promising.
    I moved the whole contraptions to my ikea lounge chair and ran a few laps in Live For Speed demo. Place the air bladder in the lumbar area of my back under a blanket (try to check the sensitivity thru the blanket, to replicate it being under the actual seat padding.
    I was surprised to feel even small movement from the servos thru the air bladders.
    Will be using 4 servos for surge and 4 on heave and 4 on sway.
    3 d printed part are in the design stages.
    Added a screenshot of the servo holder/bellows part.
    It will be used along with some plywood in the provided slot.
    The 3d printed part has grooves and channels for the servo wiring... Still a WIP.
    Here is a link to a short video clip.

    Attached Files:

    Last edited: Dec 18, 2023
  8. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,948Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    cool!
    the only drawback of these bladders is the small tube diameter that induces "load dump", hence delay...
  9. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    How would I mitigate this load dump?
    Would enlarging the fittings and tubing diameter be a viable solution?
    Moving from a 5mm tube to 8mm, should give a better response time.
    I will attempt to modify one of the air bladders and report the results.
    • Agree Agree x 1
  10. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Has anyone on the forum tried to use small air cylinder /syringe to pump air to the bladders.
    Replacing the bladders with servo actuated syringe, with a rack and pinion setup. The rack and pinion could possibly increase the mechanical advantage and deliver the the air faster and with more pressure.


    Not my video got it off YouTube guy called Perry Hart.
    • Like Like x 1
    Last edited: Dec 18, 2023
  11. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Kindly let me know if it is safe to add more voltage to the servos, could I safely run the servos @ 6.5 V, without negatively affecting the Arduino.
    Not trying to let out the magic smoke, then I'll have to wait till after the Christmas holidays to get a replacement part.
  12. GWiz

    GWiz Active Member

    Joined:
    May 12, 2019
    Messages:
    181
    Occupation:
    Dentist
    Location:
    Aberdeenshire, Scotland
    Balance:
    1,468Coins
    Ratings:
    +118 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    You can safely increase the voltage to the servos up to their maximum specs without affecting the arduino as long as you only share a Gnd with the arduino and not the Power line (voltage). I've never had any issue with the motor braking back surge that you can get with larger motors in my servo sim-rig components. (I use a Schottky diode with my active pedal which uses a much larger motor). If you power the arduino using the same power supply as the servos, you could conceivably get a brownout reset - but this won't damage the arduino, merely cause it to reset.

    Just be careful not to accidentally put 6.5v through the arduino pins as this will make a brief smoke machine! The good thing with the servo connectors are that the power is the middle pin, so connecting it back to front won't cause any damage by mixing up the Gnd and Control pins.
    • Like Like x 1
    • Agree Agree x 1
    • Informative Informative x 1
  13. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    GWiz
    Thank you.
    I am powering the Arduino via the usb port, and all the servos get power from the 300w psu.
    The pin out of the servos is a stroke of genius, clever design .... ID. 10. T proof

    Can you share more info on the active Pedals that you mentioned, I'm interested in try to diy an active brake pedal( based on a small servo motor or a bldc)
    Similar to Simucube style active pedal.
    Last edited: Dec 21, 2023
  14. dgiatr

    dgiatr Member Gold Contributor

    Joined:
    Oct 17, 2023
    Messages:
    50
    Balance:
    223Coins
    Ratings:
    +7 / 0 / -0
    Hello this is Jim!

    I am planning to build a diy pneumatic g-seat also for my dof 3p platform. I am following your project with great interest. How can i switch air bugs fittings to go for a larger diameter say from 5mm to 7 or 8mm. Should i buy first the one that other guys propose and after that do the modification or there are ready made air bugs with larger diameter fittings than 5mm?

    Did you make any test with larger diameter air tube?

    Thank you.
  15. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Hi Jim,

    Just finishing end of year projects now @ work....so haven't been testing again.
    During my Christmas vacation, I will sure update on my findings with regards to the larger diameter tubes and fittings.
    This tests will happen only after finishing up the rough setup of the G seat, so that I can have a point of reference.

    I will be using 2 X 16X15cm air bladders to drive a single 20X15cm air bladder, hopefully the additional air volume will improve the feel and response time.(I will also try to keep the tubes as air tight as possible.

    All the best for the Christmas season.
    Kind Regards
    Wayne
    • Like Like x 2
  16. dgiatr

    dgiatr Member Gold Contributor

    Joined:
    Oct 17, 2023
    Messages:
    50
    Balance:
    223Coins
    Ratings:
    +7 / 0 / -0
    Thank you Wayne for your fast reply!

    Can you give me your part list links ( servos, arduino , blenders ) because all the other threads about pneumatic g-seat parts lists are outdated.

    Thank you.
  17. GWiz

    GWiz Active Member

    Joined:
    May 12, 2019
    Messages:
    181
    Occupation:
    Dentist
    Location:
    Aberdeenshire, Scotland
    Balance:
    1,468Coins
    Ratings:
    +118 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    You can get lots of information about it here:

    https://github.com/ChrGri/DIY-Sim-Racing-FFB-Pedal
    • Like Like x 1
  18. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I copy/paste from the Amazon site. Below is a list of the parts that I ordered and used.

    Air Wedge Pump Wedge Up Bag, Inflatable Shim, Alignment Tool Air Pumps, Auto Repair Air Wedge Pump Bag, Install Shim Wedge (2 Pcs) https://amzn.eu/d/0gsAS1S

    wow Collecionz - 5 Metre UK Power...

    1set 10A 250V Inlet Module Plug...

    Namolit Digital Servo 30kg 4pcs...

    WANYI 4 Pack Air Wedge Up Bag TPU Fabric Air Wedge Pump Kits Pump Wedge Airbag for Door Window Installation and Car Repair with 1 Pcs Door Wedge (2Z-2LR) https://amzn.eu/d/0K4744J

    DC 4.2-6.0V 3 Channels Servo Tester RC Motor ESC Testing with Three-stage Indicator https://amzn.eu/d/8Ypt5An

    500mm Servo Extension Cable 3 Pin...

    AEDIKO 10pcs Servo Extension...

    Kuman UNO R3 Board ATmega328P... https://www.amazon.ae/dp/B016D5KOOC?ref=ppx_pop_mob_ap_share

    5V 60A 300W Power Supply... https://www.amazon.ae/dp/B09VQ5QF8R?ref=ppx_pop_mob_ap_share


    wow Collecionz - 5 Metre UK Power... https://www.amazon.ae/dp/B0CFM63T1H?ref=ppx_pop_mob_ap_share
  19. Wayne Thebus

    Wayne Thebus Member Gold Contributor

    Joined:
    Jun 10, 2019
    Messages:
    49
    Occupation:
    CNC Machinist/Programmer
    Location:
    Cape Town
    Balance:
    163Coins
    Ratings:
    +26 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    3d printed some of parts for servo actuated G Seat.
    This part holds the servos and hides the wires, once coupled with the mating parts.
    There are 2 of these parts, one on the front and one on the back. The power supply and arduino will be place in the base.
    The parts are done in Onshape, it is freely Available for anyone interested in the build.

    Attached Files:

    • Like Like x 1
    Last edited: Dec 22, 2023
  20. dgiatr

    dgiatr Member Gold Contributor

    Joined:
    Oct 17, 2023
    Messages:
    50
    Balance:
    223Coins
    Ratings:
    +7 / 0 / -0
    Hi Wayne just received the list of materials you will use.
    Just a question about the servos i see there :
    Is that the one you will use?[​IMG]
    Thats a very good price for 4 pcs!! do you think they will withstand to continuous use?
    Have you ever tried them before?
    That way the total cost lowers too much and its a very cost effective build!!
    Last edited: Dec 22, 2023