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

007 G-Seat: Ultra Compact/Servo Based

Discussion in 'DIY Motion Simulator Projects' started by Spit40, Jun 25, 2017.

  1. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    I just ordered more servos. I've built the new heave flaps and tested the difference between the old close-to-centre hinge vs wide apart side squeeze hinge and i have to say a big thanks again to @MarkusB as the side squeeze is much more convincing as a sense of heave. However my 260kgcm servos just aren't quite up to it (only 1 per side) so i'm switching to the 380kgcm with higher gearing ratio and hence slower response of 0.5sec for 60 degrees vs 0.12sec. It will be absolutely fine i'm sure for flying.

    The other thing i'm wrestling with is the seat cushion. I've been hacking into the stiff foam contoured seat base that came with this vintage sports car seat but i'm going to have to give up on it as its not designed to flex even when cut into a lot. This is preventing the flaps from transferring the forces where they need to be and generally getting in the way. I'll probable just swap it for some memory foam.
    • Like Like x 2
  2. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    Its all built now. Just waiting for the 380kgcms. Its workable with the 260kgcms but the motors smell like they're burning out.

    Its all about leverage of course. I am quite restricted with this seat and you can see from the position of the boltheads on the video below that I'm lifting the flaps at a point less then half way in from the hinge end. Also I'm only rotating the servo by 30 degrees from flat to maxlift. If I wasn't so restricted where I put everything I could spread this lift across 90-120 degrees of rotation and lift the flaps further from the hinge and then the servos would have a much easier time of it. Probably 50% less torque needed,



    Photo below shows that the hinges are about 120mm apart. Each hinge flap is 120mm wide with the lifting point about 55m in from the hinge.

    File 27-11-2018, 22 43 34.jpeg
    • Like Like x 2
  3. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    OK here's a question. @MarkusB have you encountered this?

    I set my heave in the tuning centre to act very quickly mainly so that I can feel a short but quick acting thump from the pitch axis of the platform when I land but that quick acting, but small movement thing seems OK at other times too. However this messes up the more realistic and gradual build up of heave on my G-Seat. Can I have both? A rapid acting min-to-max heave for the platform and normal range one for the g-seat?
  4. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I just received my 6 260kg servos today. Wingxine shipped them DHL express so it only took a couple of days.
    I am happy to report all 6 work lol...
    Now my work begins as I have not planned the install at all.
    But having the servos in hand was step 1.
    I see that you can kind of tune the deadband with pot A..
    Getting the output disk plates with the deal was very nice.
    Makes arm attachment much easier.
    I guess the first question is how much travel do I need on the surge flap measured at the most outside edge of the panel?
    :think
    tp
  5. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    4" or so would give you plenty. You may not need it all.
    • Like Like x 1
  6. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    485
    Location:
    Germany
    Balance:
    3,612Coins
    Ratings:
    +491 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Hi @Spit40,
    I am not sure if I understand your current configuration.
    When you write about the pitch axis, does it mean you have mounted your g-seat on a movable platform? If so, I missed this in your thread, since I thought you have a pure g-seat.
    Or do you mean the pitch movement that you emulate with your g-paddles?
  7. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    Thanks for the response. I'll try to explain better. The issue is that in the tuning centre I have compressed the heave range so that instead of a maximum of say 20 it is 8. This means that when I land the heave rapidly jumps to 100% of DOF, which for my platform I convert to 10% pitch - small but when applied quickly it gives a nice jolt. However I don't want heave leaping to 100% so easily when I pass that force to my gseat. The only option i can see is to restore the tuning centre so it doesn't max out so quickly and lose some of the platform impact in order to get a better gseat heave.
  8. MarkusB

    MarkusB Active Member Gold Contributor

    Joined:
    Jun 30, 2015
    Messages:
    485
    Location:
    Germany
    Balance:
    3,612Coins
    Ratings:
    +491 / 1 / -0
    My Motion Simulator:
    2DOF, 3DOF, DC motor, Arduino, Motion platform
    Ok, understood. No, I don‘t have a solution for this.
    Up to now I was not even able to configure such a bump-like heave because my servos are so slow.
  9. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    Hi Phil.. I loaded your sketch "GSeatv2-HeaveSurge-ASME03A" which supports 4 servo outputs R, L, S, T and I noticed in the output test of Simtools Engine that moving the slider left of the centerpoint causes the servo to move erratically (servo moves rapidly between extremes).
    Is this a problem I need to be concerned about??
    Cheers,
    Tom
  10. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    Double check the ascii string you are outputting to arduino
  11. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    OK... My knowledge of the output string is very poor.
    Here is a screen shot.
    It outputs ok except for the erratic operations if I move the slider left of center on the output screens.
    If I add the tilde ~ marks as in your example I get no output..
    Mine R<Axis1a>L<Axis2a>S<Axis3a>T<Axis4a>
    Yours R<Axis1a>~L<Axis2a>~S<Axis3a>~T<Axis4a>~
    The axis assignments are just some simple inputs to test the output....

    Attached Files:

    Last edited: Dec 9, 2018
  12. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    So without the ~ does everything behave normally apart from the issue of left of centre positions? I just checked the code and it needs the ~ to know when it has received all data.

    When you say left of centre is that testing DOF output or axis output?
  13. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I played with it for a few hours today.
    And I am totally confused.
    If I use a Hitec digital servo the problem does not happen.
    I need to mod the sketch so that I just get the full PWM output from the Arduino.
    Like 950ms to 1950ms. I can set my degree of rotation on the servo's control board.
    I do not understand what the sketch is doing in scaling numbers unless that has to do with the way game engine moves the axis via the percentages entered...
    Perhaps you can shed some light on this since you are running both an R/C servo and the ASME servo on your chair....
    Last edited: Dec 9, 2018
  14. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    We're sending 8 bits to Arduino as per interface settings, so that means values between 0 and 255. 0-127 is -ve and 128-255 is positive (heave/surge)

    I can't do -ve DOF so I have this line that clips anything 0-127 and 128 is minimum

    if (actuatorPosition[currentActuator]<128) actuatorPosition[currentActuator]=128;

    So now the values are 128-255 and these are mapped to the values which go to the servo as per below. These numbers vary servo by servo and with ASMC/E you even need to tweak for individual servos depending on how the tiny pots might have been adjusted for sensitivity.

    const int kActuatorScale[kActuatorCount][4] = { { 85, 50 }, // Right Heave Actuator scaling NB: 6 up from neutral
    { 73, 106 }, // Left Heave Actuator scaling NB: ditto
    { 115, 70 }, // Right Surge scaling NB: Starting point is 30 forward of flat
    { 65, 110 } // Left Surge scaling NB: Ditto
    };

    e.g. neutral heave = 128 = 85 right heave flap and 73 left heave flap

    Sorry these aren't the values in the code you downloaded as I just replaced my servos with 380kgcms and the values are different again.

    Final thought - what are the pin positions on your ASMs? Did you move the jumper? I use 2ms pulse width

    see: https://goo.gl/images/BdmFjg
  15. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    Thanks for putting up with me....

    I can not explain this but I added the tilda ~ back into the interface output string and now it works.
    I do not understand this but its working correctly.
    Thanks
    tp
    Last edited: Dec 10, 2018
  16. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I changed some values using the hit and miss process and got an appropriate amount of range. Fortunately the ASME servos adjustability made this possible.
    I needed 90deg of rotation so I set the servo to 180deg of travel..
    I changed all the servo values to the same.
    e.g.
    { { 126, 1 }, // Right Heave Actuator scaling
    { 126, 1 }, // Left Heave Actuator scaling NB: ditto
    { 126, 1 }, // Right Surge scaling NB: Starting point is 30 forward of flat
    { 126, 1 } // Left Surge scaling NB: Ditto

    So at least they are all moving the same.
    At this point however I do not know how to set a trim value I can vary..
    My limited C++ knowledge does not include mapping values so I do not know what goes on in that part of the program.

    What does the abbreviation NB mean?
  17. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    NB = Nota Bene (Latin), just means take note. Also ignore those comments as they're unique to my config and i've been messing with them a lot and not keeping the comments up to date.

    The mapping code lower down just works as is, so no need to touch that. What you need to work out is the correct range between level and max displacement. I made a servo test script I'll upload later - it just loops through a max min range with delays at each end so you can tweak values in Arduino and quickly upload and see the effect.

    One thing about your range: Right flaps and left flaps are likely to be reverse directions due to the mirroring of the servos. i.e

    {{high number, low number},
    {low number, high number},
    {etc
    • Like Like x 1
  18. T R Para

    T R Para i make stuff up Gold Contributor

    Joined:
    Oct 18, 2018
    Messages:
    329
    Occupation:
    Retired
    Location:
    Cincinnati, Oh
    Balance:
    2,211Coins
    Ratings:
    +301 / 2 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I put a scope on the signal lead going to the servo. It is now running from 1.9ms to .8ms. And I can now see what varing the numbers do. Everything looks really good and what I am lacking is some proper and adjustable pushrods.
    Right now I believe I have some useable ones coming but the post office lost my order from last week. My second try at reordering should result in a delivery tomorrow. The sketch looks like it will do everything I need...:o:
    Thanks.
    • Like Like x 1
    Last edited: Dec 12, 2018
  19. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    334
    Location:
    United Kingdom
    Balance:
    2,777Coins
    Ratings:
    +185 / 3 / -0
    My Motion Simulator:
    3DOF
    My test script - badly commented

    Lineds 37-43 are the ones to play with

    int deg=35; // how many degrees to move through
    int dely=30; // delay between steps

    int S0=87-2; // 85 DOWN to 50 1st servo , connected to pin 4
    int S1=71+2; // 73 UP to 106 2nd servo, assume moving opposite/mirror direction to S0
    int S2=115; // 115 to 070 RIGHT SURGE
    int S3=65; // 065 to 110 LEFT SURGE

    Attached Files:

  20. Pinello

    Pinello New Member

    Joined:
    Jan 29, 2017
    Messages:
    10
    Location:
    Norway
    Balance:
    157Coins
    Ratings:
    +3 / 0 / -0
    Are you guys still satisfied with your ASMC/E's?

    I can find both a ASMC-04B and a ASME-04A, do you know the diffrence between theese?
    I know ASMC-04A is the little guy and the ASME-04B is the strong guy.

    Edit:
    Sorry, I can see the diffrence now..
    Last edited: Feb 14, 2019