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 FlyPT - 6DOF Brushless DIY Actuators

Discussion in 'DIY Motion Simulator Projects' started by pmvcda, Aug 29, 2017.

  1. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    ok tested .
    The calibration process well done .
    But after that the esp32 sent how can i say heratic signal to motor not a great pwm frequency with a correct duty cycle . And the problem is that the direction is not good , it goes OUT of the limit switch . That the same direction it gets when hiting the minimum limit switch.
    Will give a try with the string
  2. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    Remove the signal here:
    I think we already have done this, but made a copy of the code...

    ledcWrite(actuator[n][PWM_CHANNEL], 0);
    actuator[n][MAXIMUM_POSITION] = -actuator[n][CURRENT_POSITION] / 2; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    actuator[n][MINIMUM_POSITION] = -actuator[n][MAXIMUM_POSITION];
    actuator[n][CURRENT_POSITION] = actuator[n][MINIMUM_POSITION];
    actuator[n][FOUND] = true;
    found++;
  3. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    YES you got it . With the string and mover connected the actuator goes in the middle position .AND YES IT WORK thx a lot
  4. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    the string which works is the last one you gave <255><255><Axis1a>
    Yes yes and yes ouah I'm happy thx ...
  5. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    hug::cheershug::cheershug::cheershug::cheers

    Many thanks to you !
  6. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    [​IMG]
    • Winner Winner x 1
  7. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Ahah yes yes !!
    And the vidéo to prove that is great !!
    • Like Like x 1
    • Winner Winner x 1
  8. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    Did you 3D print the compressor/cylinder?
  9. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Yes !
    The only pieces not printed are :
    - the pneumatic joint inside diam 100mm
    - the actuator shaft aluminium machined
    And other stuff nut / screw / plastic ring

    For having a 3D print cylinder sealed I used epoxy resin into the bottom of the 3D print .
    I tested I reached 1,5 bars
  10. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    I want to see it working.
    You have to share that project. ;)
  11. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Yes you’re right , but first I want one more time to thank you , because without this amazing project you share nothing would be possible for me !!
    I love your 6dof , I love mine ( rotating actuator with ac motors ) but now I would love to build a 6dof with linear actuators !
    Before I want to add a gseat with pneumatic actuator ! I will share and report the result here !
    I will make 2 more actuators for lateral effects ! I would like to add 3 actuators , one for acceleration only, one for left lateral effect , one for right lateral effect .
    I could maybe use just one for lateral effect left and right but i need a pneumatic valve to switch left or right and I don’t know what and how I could send the signal from mover and with what electronics !
    So to make it simple , one actuator one effect !
    For braking I have a spring system that I need to improve also . The harness gets stuck when moving on the seat during breaking ! I must improve this .
    In fact only a gseat could give a sensation of g during long acceleration or long curve , more than 1 second
    Last edited: Apr 4, 2020
  12. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    You could print a double effect cylinder.
    But then the left would be dependent on the right.

    If you want to control the valve, it's easy. It's just an actuator, 1 bit is enough for open close, 2 bits for more variations.
    You receive that in one ESP32 or Arduino and then control the valve from there. Depends on the current needed, but you might not need anything special.
    • Like Like x 1
  13. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Ok Thanks !
    If I need I will , if you are ok , contact you .
    For a double effect cylinder , It’s more difficult because of the sealing .
    With mine I just have to seal the bottom where I put the 1/4 pneumatic connection , for the other side there is the shaft to seal and not so easy !
  14. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    And for a double effect cylinder you must have a bigger travel .
    With one actuator I will setup for exemple acceleration with the wohle travel .
    The setup will be , the rest position = mini limit switch to have the maximum travel and the max air available for the air « pocket « .
    My dimension are diam 100mm max travel 115 mm so about 1 liter available .
    The solution with a driven pneumatic valve is interstning .
  15. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Could you advice me to setup my actuator ? i have some question .
    As i said i want to use the actuator and the full travel ( not the range + and - from the middle ) for acceleration .

    1- in mover for the actuator the range setup into the actuator rig is 30mm but doens't match to the real ( normal it's a question of the screw pitch ) . Did i use the function scaling to adjust the real travel and the range ? In my case 30mm in the setup actuator matches to about 50mm in real travel .

    2- i would like as i said that the home start position is the position near the minimum switch . In your soft is it possible to move the origin at this position in order to have the full travel ONLY for acceleration and the maximum air capacity of the cylinder ?

    3- for the effect programation for game i would use the mincrop filter to cancel deccelaration because this actuator is not used for that .

    thanks
  16. dzq_stone

    dzq_stone New Member

    Joined:
    Jan 22, 2020
    Messages:
    10
    Balance:
    1Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF
    Woo. It's work, many thanks to you!

    Afer using the new code, when calibration finish the motor will move with full speed,due to my actuator not complete i am not sure the position in the middle or not but i think it will.
    • Like Like x 1
  17. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    An example with lateral acceleration:

    You receive a value between -8G to+8G (estimation, around -80 to 80m/s^2).
    And you want to map it to two actuators.
    One is for negative values, the other for positive (left and right).
    Your actuator goes from 0 to 100 mm (approximative, see bellow)

    Instead of a rig actuator, go with the multi directs, they run faster because they are not calculating poses.
    for the left, use this:
    upload_2020-4-5_10-29-40.png

    Put 15 bits for my actuators, this gives you position values from 0 to 32767 (steps).
    Default value, put zero, when disconnecting the output, we want the actuator to go to position zero.
    Value to bit range, I used 0 to 80.
    What this means?
    That means that for a received value of 0 m/s^2 we send a bit position value of 0,
    and for a received value of 80 m/s^2 we want bit position 32767.
    The code in the ESP32 maps 0 to your -561 position and 32767 to the max range of +561. So in mover, just ignore the -561 to 561 you obtain in calibration.

    Now in the values used for this actuator, you can add more than one, I added the lateral acceleration.
    In the filter, we want just the negative values, so I crop value to a maximum of zero (we get only negative values).
    After the crop, we perform the ABS operation, to convert the negative value to a positive one (we could replace it with the mapping of the actuator, by mapping -80 to 0 to the bit range).
    I also use a cubic3 to make it go up exponentially, but that is optional.

    For the right I would use something similar:
    upload_2020-4-5_10-48-20.png
    • Like Like x 1
  18. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Thanks Flypt ! Let me a little time to understand and test your setup !
    Many thanks to you !;)
  19. benmax

    benmax Active Member Gold Contributor

    Joined:
    Oct 15, 2013
    Messages:
    188
    Balance:
    1,552Coins
    Ratings:
    +59 / 0 / -0
    My Motion Simulator:
    2DOF
    Flypt ,
    In order to win 2 actuators and considering that normally you never has in the same time left lateral acceleration and right lateral acceleration, would it be possible to drive ( as discussed ) an electro pneumatic valve to switch between left and right acceleration and as you propose to keep the full travel to inflate air pocket .
    For acceleration and deceleration it’s the same ( and you never brake and accelerate at the same time !)
    With 2 actuators and 4 pockets area =
    - one left lateral g
    -one right lateral g
    - one back between seat and driver for acceleration g
    -one front between torso cage and harness.
    2 actuators for 4 effects

    that what I would like to test for the first gseat !

    would it be « easily « possible ?
    Last edited: Apr 5, 2020
  20. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    2,158
    Location:
    Portugal
    Balance:
    15,264Coins
    Ratings:
    +2,532 / 17 / -0
    My Motion Simulator:
    6DOF
    Yes, I think it's possible.

    For the valve, you use one with two positions (left or right) and she should change when the value is near zero.
    We need to add a dead zone in the low position to allow time for the valve to change. This can add a undesired delay.
    So to position the actuator, I would use this:
    upload_2020-4-5_12-7-19.png

    The cubic3 is giving you some deadzone.

    Now we add another direct to control the valve.
    The valve is an actuator that can be controlled by another ESP32 or Arduino.
    Let's use 8 bits to control it.
    0 for left and 255 for right (we need to make some code in the ESP32 or Arduino) to control the valve.
    The following filter, get's the signal from the value, result is -1 for negative and +1 for positive.
    Then I add 1 to that result and the value becomes 0 for negative and 2 for positive.
    Multiply by 127.5 to convert to 0 for negative (left) or 255 for positive (right).
    upload_2020-4-5_12-35-30.png
    So now you have an actuator that outputs 0 when acceleration is negative and 255 when it's positive.

    If it's a 3 positions valve for left / closed / right, you can use this filter (bug in the filter boxes...):
    upload_2020-4-5_12-33-14.png
    This gives you 0 for left, 255 for right
    and 127 for closed.
    The dead zone is defined by the gain 10.

    This can be made in other ways, some might be faster in calculation, but I think this one is more visual. (not sure)
    • Like Like x 1