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

Dirtys 2nd 6DOF - AASD - M4S Controller - SFS1620

Discussion in 'DIY Motion Simulator Projects' started by Dirty, Jan 30, 2023.

  1. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    I started working on my second rig almost two years ago (early 2021) in the midst of the pandemic. With A LOT of spare time on my hands, some previous experience from my first rig and some left-over funds I was able to make quick progress and had it ready within roughly 8 months.

    Here's the final result:
    FullRIgForSale.png

    And two videos:



    I'm gonna go through the design process somewhat chronologically, starting with the heart of it: The actuator:
    Screenshot 2022-06-13 152304.png Screenshot 2021-01-21 at 21.30.10.png Superpusher_TopAssembly_2021-Feb-05_12-10-04PM-000_CustomizedView866266250.png

    After my first build, in fact even during my first buid already, I was looking for features to improve. I wanted it to be more quiet, more smooth, more stroke, more safety, better looks and I am quite satisfied with the result.

    Key features:
    • Fold-back motor configuration
    • SFS1620 ballscrew
    • Closed body design
    • Internally constrained (rod won't spin!)
    • 620mm stroke (minus ~20mm buffer --> 600mm usable stroke)
    • 808mm overall length (w/o u-joints)
    • 833mm/s speed
    • 1KW power
    • 1000N (~100Kgs/220lbs) force in both push- and pull direction
    • Single, but looooong upper bearing for buckling stability

    I wanted the belt drive to be in a closed housing for noise and safety reasons. I got 6 of these made from www.xometry.com CNC'd out of aluminum:
    Screenshot 2023-01-30 123737.png Screenshot 2021-01-25 at 18.34.37.png

    Just for comparison:
    1pc: 170€
    6pc: 60€
    60pc: 22€
    • Like Like x 7
    • Winner Winner x 3
    Last edited: Jan 30, 2023
  2. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    Inside this CNC'd housing runs a 25mm wide, 1:1 belt drive (30 teeth on both wheels) with a little room still left to cater for possibly changing the gear ratio if needed in the future.
    Screenshot 2023-01-30 134731.png
    So far, after about a year of operation I can say that the 1:1 ratio works perfecly fine for single person use.

    The belt drive does not have a dedicated tensioning mechanism, but relies solely on mounting the motors in elongated holes:
    Screenshot 2023-01-30 140732.png

    Here's a crosssection for overview:
    Screenshot 2023-01-30 141417.png
    • Like Like x 6
    Last edited: Feb 4, 2023
  3. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    One of my main goals was increased reliability/durability. On my previous build I noticed the simple 6001 bearings that were used in those FK ballscrew bearing blocks. I wanted those bearings to be bigger/better/more, so I had to design my own custom bearing blocks, FDM printed.
    Screenshot 2023-01-30 143613.png Screenshot 2023-01-30 142521.png IMG_3097.JPG

    I decided on three 12 x 28 x 8mm bearings to hold the axial loads. A great improvement and much better use of the available space.
    Screenshot 2023-01-30 143917.png
    • Like Like x 6
  4. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    The ballscrew is an SFS1620. I increased the lead to 20mm to require less RPM for a given actuation speed, thereby reducing vibrations and noise significantly. The actuator was designed around the standart ballscrew, so no custom end machining is required.
    Screenshot 2023-01-30 145034.png

    The ball nut is mounted inside this FDM printed "nut sleeve" which transmits the loads to/from the pushrod. It also constrains the nut through the four corners that keep it from rotating.
    Screenshot 2023-01-30 150235.png

    The pushrod is a 60x2mm stainless steel pipe. The size of the diameter (and so its failure load) is much stronger than what would ever be required of it (like 30x), but I chose it this large to allow the ball nut to sit almost completely inside the push rod:
    Screenshot 2023-01-30 150627.png
    That alone saved me about 30mm of overall actuator length.
    • Like Like x 6
    Last edited: Feb 3, 2023
  5. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    Next comes the spacer inside the rod.
    Screenshot 2023-01-30 152202.png

    I consider this an important part to carry the buckling load. But I also have to mention that many other builders are omitting this part alltogether and they don't report any problems whatsoever.

    Probably worth a note: I have printed a couple of them in 0.1mm increments to get a perfect fit. Up to a point where I could insert one into the tube (with bottom closed off) and it took ~10s for it to "fall" all the way down because the gap clearance was so tight.

    I wanted a bearing inside, because at speeds of up to 2500RPM it just felt better. Also 85ct for a bearing is a small price to pay for eternal peace of mind. At least in that regard :)
    Screenshot 2021-09-15 084247.png

    And of course, needless to say: I had to add ventilation holes to let the air inside the rod escape, given the tight clearance described above.
    Screenshot 2023-01-30 152905.png Screenshot 2023-01-30 151022.png

    The somewhat un-orthodox dimensions come from a fear that the part might bind inside the rod when it tilts slightly. And since this particular space was not length-critical anyways, I gave it some length to prevent it from tilting. It had the beneficial side effect that it now has 54cm² of surface area in contact with the rod to distribute load onto --> very little wear & tear expected over time.
    Screenshot 2023-01-30 153256.png
    • Like Like x 7
    Last edited: Jan 30, 2023
  6. Sl¡der

    Sl¡der New Member

    Joined:
    Feb 2, 2023
    Messages:
    1
    Balance:
    22Coins
    Ratings:
    +1 / 0 / -0
    Very interested to see more details. Seeing your rig on Youtube was what led me to this forum a while back. Been lurking ever since. Started working designs on the actuators this week and as if by fate you share this gem with us. Thanks Dirty
    • Friendly Friendly x 1
  7. loon_NG

    loon_NG New Member

    Joined:
    Oct 23, 2022
    Messages:
    12
    Location:
    Biot, France
    Balance:
    92Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    Thank you @Dirty for sharing. You save my time to build my first actuator! I was searching the best way to do it. Like @pooh, I use FSU2010 with total length 650mm.

    For lowing the budget for parts like closed housing, I wonder if we can order together then dispatch. So if someone else is interrested let me know.

    Currently I'm writing RS485 driver for the AASD-15A and 80ST-M2430 motor. I have also experience about RS485 communication, so just the number of functions will take my time.

    Waiting to see more about your actuator enclosure...
  8. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    Yea, you speak my mind! :thumbs
    Especially for CNC parts it makes a huge difference, because much of the cost comes from rigging the machines. If you can spread that out over more parts then it becomes much more affordable.
    It becomes even more drastic for injection molded parts. The first will cost you 5.000€ and then every following will be ~25ct. If someone would manage to sell a few thousand actuators a year, then they could be produced for around 600€ a piece. 350€ of which would be the motor alone.

    I am currently planning another rig together with a friend and it is already noticeable when you buy 12 parts instead of 6. We briefly considered looking for more likeminded people to pool orders, but shy'd away from it because it would mean balancing the interests of 6, 7, 8... people.

    It only makes sense for some components that are not avaiable mass produced off-the-shelf, and it only makes sense if those are truely identical parts. So it would require all those people to agree on a common design. :)
  9. loon_NG

    loon_NG New Member

    Joined:
    Oct 23, 2022
    Messages:
    12
    Location:
    Biot, France
    Balance:
    92Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    Thank you @Dirty for your reply,

    I'm not good in mechanical design so I look what other contributors did and combine their ideas: @pooh's design was first retain my attention that why I go for fold-back motor configuration and the the FSU2010 ballscrew. TheU-joint of @PeterW and yours are robusts, it's easier to find piece for your U-joint at least in my thought. For the actuator, I like the @Peacemaker105 's style but it's not for 80st motor.

    I'm begining to build my first actuator and a lot of unknown and hesitation are around me. I don't want to waste my budget in wrong parts and I see that you have a lot of experiences, and the others too, that why I follow your idea.
  10. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0
    Hi Dirty,
    Thanks so much for sharing this, I'm excited to follow along! I've watched several of your videos and a few other people's. Perhaps this is explained elsewhere, but what are the pros and cons of going with linear actuators vs rotary arms on gearboxes? Seems like a lot of work to make your own actuators, so I'm guessing they must be better/safer to justify the extra work and complexity?

    Any thoughts will def be helpful! I like how rotary systems can be more compact (it appears anyways....?), Tho this build is fairly compact as well....

    Keep up the good work! You're inspiring me to build one!

    Cheers
    Eric
  11. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Wormdrives (there are other gearbox designs), commonly used in rotary rigs, are far less efficient (varies with the ratio) than actuators, and have much more backlash (required for lubrication). But a rotary rig may be cheaper, more compact and less complicated, at only slightly less precision.
  12. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0
    Thanks! Makes sense. Are planetary gearboxes better? Definitely seems simpler than building 6 actuators but just trying to understand.

    Cheers
  13. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  14. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    Hi @eat5hams ,
    Any motion rig is the builders (designers?) solution to a problem. That problem consists of a bunch of constraints: cost, space, power, maintainability, performance, durability, access to a toolshop, don't upset your wife too much,...etc.

    Each builder weights those constraints differently. If cost and space for example are more like soft-limits to you :) then your rig will look radically different from someone who is on a tight budget. I can describe how I weighted those constrains, but be aware that others may have different priorities. I hope I am not starting a religious war here...

    Space: I had a 2m x 2m (6' x 6') footprint available. Ceiling height is 2,35m. From a space-constraint viewpoint it would have allowed both types of rigs. I think crank-arm systems can be built more compact. Whether or not that is a good idea is another story...

    Cost: I roughly calculated both types and was surprised to learn that there is not much of a price difference. Crank arm systems seem so much less complex, but you're gonna have to buy strong gearboxes of high quality to get smooth, backlash free operation. And those crankarms with ball joints sure don't come for free as well.

    Toolshop: Linear actuators allowed me to use FDM printed parts in many places as most of those are loaded in compression. Almost no torque loads. A crank arm system generates plenty of torque loads which would've meant that much of the construction would have to be metalworked and welded. My toolshop,... well, sorry, I don't have a toolshop. I just have a tool BOX. And that favored linear actuators.

    Power: Really no difference there. If you want to accelerate masses along certain distances it will require a certain power. That is if transmission is optimal.

    Geometry: A crankarm system does not have a uniform distribution of lifting capacity and speed over its range. For vertical movements you get more speed in the middle, more force towards the end of the stroke. For horizontal movements it's the opposite. That's neither good nor bad. It was just easier for me to do the math on linear actuators. Those have a certain un-evenness as well, but way not as much. Those actuators will never be even close to becoming colinear. So, I chose the less un-even configuration.

    Smoothness: I think that point could go to crank-arm systems, if constructed well. I was on a crank arm platform last summer in Stuttgart and it was super smooth. Much smoother than anything I have ever felt on a linear rig. But the components were of very good quality, the construction was pretty much bullet proof and the footprint was almost 2m x 2m. And it sure wasn't cheap!

    Noise: Also a point for crank arm systems, I think. As long as those (planetary) gearboxes are of high quailty they will run almost inaudibly.


    So, define your requirements and then see which rig configuration suits them :)
    • Like Like x 2
    • Agree Agree x 1
  15. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0
    Wow thanks SO so much for this amazing and detailed reply! You've really laid it out very clearly and given me a lot to think about and digest, thank you so much!

    Could I trouble you to quickly tell me the flow through all the software programs so I know what those various components are?

    I'm sure I've got this wrong or missing parts:
    Flight Sim or racing game ===>simtools? Some sort of plugin? ==> Your hexago motion cueing program? (Only if actuators or is that system agnostic?)==> Controller like Thanos or motion4sim ==> controllers and servos
    Thanks!
  16. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    Almost :)

    I would give this as a rough schematics:
    Screenshot 2023-02-08 181640.png

    SimTools uses plugins that allow users to add support for their favorite games. Mover and Yame have no plugins.

    I think SimTools supports the largest number of games, Mover also has many titles supported and my own software (Yame, still alpha!) supports only DCS, X-Plane, FS2020, Condor2, and soon iRacing.

    The export path depends on the sim you want to export data from. Some offer a TCP/UDP interface, others use memory mapped files or a custom .DLL from an SDK.

    Mover has kinematics implemented for all different kinds of rigs. Pretty much no limits threre.
    SimTools has no kinematics system implemented directly, but AFAIK relies on forwarding the motion data to other software. Someone correct me if I'm wrong.
    Yame only supports 6DOF linear actuator setups. Crank arm systems might come at some point, but don't hold your breath for it.

    My recommendation would be: Use Mover!

    Cheers,... :)
    • Like Like x 2
    Last edited: Feb 8, 2023
  17. loon_NG

    loon_NG New Member

    Joined:
    Oct 23, 2022
    Messages:
    12
    Location:
    Biot, France
    Balance:
    92Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    6DOF
    Hi @Dirty,

    Thank you for your schema, it's clear for me now.

    So serial comm for driving the rig. What about your idea about replacing a hardware controller (Thanos, M4S) by software? Because if your servo driver has RS485 comm port option, like mine, you can drive it with rtu frame, I think...

    Recently, I'm able to communicate with RS485 and test some Pn functions. There are almost 300 Pn functions and a dozen of Fn and Mn functions to write.
    The baudrate is 115200 bps for one serial port. RS485 is a multidrop config so with only one usb port you can connect 6 devices. But you can use 6 usb ports to keep the speed.

    Here is a very light code for RS485 rtu comm:
    https://github.com/looninho/6DOF
    I'll make an Qt GUI for user friendly later.

    What is the frame format of the ouput of Mover, YAME or SimTools?

    Cheers
  18. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    You mean to the motion controller? AFAIK both Thanos and M4S expect a couple of bytes only.

    - Starting with <255><255>
    - Then 8 numbers represented by 3 bytes (M4S) or 2 bytes (Thanos) each. These numbers represent a value between zero and 16.777.215 (M4S) or 65535 (Thanos) that indicates where on the full travel the actuator is.
    - Ending with <010><013>

    Here's an example for all actuators pretty much at 50%:
    M4S format.png Thanos Format.png
    I put it in lines for better readability in the UI. The controllers expect something like...
    Code:
    <255><255><128><008><028><128><008><028><128><008><028><128><008><028><128><008><028><128><008><028><000><000><000><000><000><000><010><013>
    Cheers :)
    • Informative Informative x 2
    Last edited: Feb 9, 2023
  19. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0
    Thanks so much, you are the man! Really appreciate the help. Are there any special requirements on the computing end of things to make this work? Or if you have a computer good enough to run these simulators it won't tax it much more to also export the motion info and send to a controller?
  20. Dirty

    Dirty Well-Known Member Gold Contributor

    Joined:
    Oct 15, 2017
    Messages:
    736
    Occupation:
    All the way up front.
    Location:
    Germany
    Balance:
    7,835Coins
    Ratings:
    +864 / 2 / -0
    The short answer: Don't worry about it. Modern computers are plenty fast.

    Receiving the data, processing it and then sending the result out to a motion controller is an almost negligable task. Also, your simulation is usually limited by other bottlenecks (GPU?). You will not notice a small process running somewhere back in a dark corner of one of the CPU cores.

    The much more interesting thing I came across is that windows is not a real-time operating system! It is meant to get a lot done somewhat quickly and efficiently, but surely not with real-time applications in mind. Getting something done exactly every 2ms (500fps) is a challenge.