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

JADs 6dof with ballscrews

Discussion in 'DIY Motion Simulator Projects' started by JAD, Feb 25, 2018.

  1. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Here we go, another 6dof with ballscrews.

    Ive been lurking here for a few years now and its about time I start this project for real.
    The first few years were just browsing this site and hitting up ebay for parts.
    Every time I start browsing for parts, I end up ordering a bit of everything in every size and then it rains small parcels the next month. With every delivery, its a bit of excitement opening the package because I completely forgot what I ordered. Maybe I shouldnt drink wine anymore when browsing ebay.

    So I cleaned up the workshop this last Christmas and found a pile of all these parts Ive ordered in the past. I have no idea what I was thinking at the time.

    I plan to start with one prototype ballscrew actuator and get it fully running with SimTools before going onto the the full build.

    Im taking a slightly different approach with the ballscrew arrangement where I wont have linear rails for anti rotation of the ball nut. Instead I will prevent rotation by connecting the ends of the assembly with universal joints. In my case, a swivel castor might work in place of a uni joint. I'll get on with pictures in following posts to explain better my plans.

    Its all a bit experimental for me. Im happy to spend the time on it to see its its viable. If not, I'll revert to the traditional approach of linear rails.

    Before I start with this worklog, I want to say thanks to all the other forum members who detailed their builds in great detail. Its provided the motivation to get my project going.
    • Like Like x 5
  2. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    For the motor, Ive chosen the 24V 450W motor from Motion Dynamics MY7618.
    I bought this nearly 2 years ago and it still appears on their website which is good going forward.
    https://www.motiondynamics.com.au/450w-unite-my7618-24v-3000rpm-dc-motor.html

    I just noticed now on Motion Dynamics that there are some motors I havent seen before that might be worth a look at. The MY9764
    https://www.motiondynamics.com.au/my9764-450w-24v-dc-motor.html
    This unit trades higher rpm for lower torque compared to the MY7618.
    I think I would prefer the torque advantage of the MY7618.
    I might buy it later and run it up against the other in the interest of science!

    This picture below is the motor about to be mounted into the housing.
    The housing is a section of SHS 65x65x2.5 Aluminium.
    The housing will connect the motor on one side and the ballscrew bearing block on the other.

    Motor and housing.jpg
    Below the housing is assembled in the swivel frame.
    housing assembly.jpg
    Here is the unit mounted in the vice.
    housing in vice.jpg
    The castor body will be fixed to the base frame. Just like it is clamped here in the vice
    The movement is very smooth and when I lean on the ballscrew axially (from any direction), I can load it without inducing any flex in the ballscrew shaft.
    I need to avoid any eccentric loads in the ballscrew shaft since the ball nut is taking all the loads without any help from linear rails.
    So far Im satisfied that the unit is robust enough at this end of the assembly.

    For the other end at the top, attached to the ball screw nut, I have an aluminium tube 32OD 3mm walls with a swivel castor end connector.

    The end that slips over the ball screw nut needs to be enlarged from 26mm to 28mm ID. Ive got an adjustable reamer on order that I hope will work. Its yet to arrive so I dont have anything to show for this this.

    At the top end of the tube, Im trying a 3D print of a tube end connector.
    Tube end connector disassembled.jpg
    Tube end connector assembled.jpg
    These prints were done in solid ABS.
    Im really happy with how snug everything worked out and how smooth the pin action is.
    I cannot discern any slop in the pin joint.
    Most of the load should be in compression and I think this part already has plenty of strength for that direction.
    The weakness is likely to be in twist. But I am impressed with how strong it is at the moment and it may well be suitable already.

    Later on down the track, I think I will make a test rig to try out different print methods, orientations and materials.
    I have some poly carbonate filament on the way to try out also.

    After assembly, I clamped the flat plate of the castor in the vice to feel the movement. The pin connection is great.
    But the castor bearings are a bit too loose. If I quickly twist back and forth on the tube, the castor bearing race rattles to much.
    It would be too noisy and I imagine in a car sim where you run over a rumble strip, the shaking of these joints would be too much, you would lose a lot of vibration feeling.

    It may be possible tighten these up. But I'll leave it for now. It might be less of a problem when there is load on the joint.
    Well see in the first run with test weights.

    Next Im onto arranging the potentiometer and limit stops. Im waiting for some parts to arrive so will update on this in the next few weeks.
    • Like Like x 3
  3. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Here is my current prototype actuator setup with the motor connected to 24V lead acid batteries.
    20180617_191746.jpg
    The relays are just temporary to give it a few runs up and down. There is no motor driver yet.
    I have the top end of the tube connected to long timber arm that is hinged to the bottom chord of the roof truss. And I have some weights hanging off the arm so that the ballscrew is getting about 20kg load on it.
    Here are some videos of it running



    I was thinking the test weight needs to be more like 30kg to be similar to other builders on this site. So I was surprised to see 20kg would be enough for it to self unwind.
    When pressing the down button, I could only give a single quick pulse because it would continue to run on to the bottom on its own.
    There are times it would start to unwind from stationary on its own, or it just need a little twist to get it started and it would unwind all the way to the bottom.

    I didnt notice reading through other build logs that their platforms sink under their own weight when switched off.
    What test weight should I use to continue developing this? I'll ask the question in the Q&A forum
    • Like Like x 2
  4. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    looks very neat and simple, cant wait to see it in action

    what do you think the cost per actuator will be ?
  5. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Roughly, In AUD, the motor is $70, the ballscrew complete about $50, some standard ebay parts say a dozen pieces could be $100, maybe another $50-$100 for offcuts of Aluminium material, castors at the end mounts around $15 from Bunnings, so total could be around $300-350.
    But as you can imagine, many $100's more buying a bit of everything before getting to what you see here.
    • Like Like x 1
  6. Spit40

    Spit40 VR Flyer

    Joined:
    Nov 3, 2016
    Messages:
    341
    Location:
    United Kingdom
    Balance:
    2,881Coins
    Ratings:
    +198 / 3 / -0
    My Motion Simulator:
    3DOF
    I like the simplicity of this. I suppose the downside of the open approach is there are plenty of exposed fast moving parts to snag a stray cable. A thin wall alloy or even plastic (plumbing) tube might be good for safety. If only there was a neater less exposed way to track position. Could the connection between motor and ball race include a worm drive that rotates an adjacent cog?

    worm_pot.jpg
    Last edited: Jun 26, 2018
  7. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
  8. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Back with an update. Its been a while.
    You dont get very far with only half a Sunday per week. But lately, Ive been able to get a few full weekends in so have some decent progress to share.

    I went through a few stages of development so I'll catch up in one post.

    I stood back and looked at what I had so far, and its fuk'n ugly. There's too much crap hanging off it.
    It looked too ghetto diy and not reliable.
    By having an unsupported ballscrew nut like I have, it makes for a more complicated solution for limit switches and pot.
    This arrangement will not cut it. I have to come up with something else.
    But Im still keen on making this work without building guide rails for the ballscrew nut. Its just a point of difference I'd like to make work.

    So I decided to redo the whole main assembly with laser cut 5mm plates and M12 allthread to mount the motor, ballscrew support (BK12) and the the bottom uni joint.

    For the pot and limit switches, I worked on a reduction gear set to directly drive them off the main ballscrew shaft.
    The gear set takes the approx 100 turns of the ballscrew, reduces it to around 9.7 turns for the pot, then to around 0.6 turn for the limit switches.
    I took this work to about 95% completion before abandoning it for something else which I'll explain later in this post.
    Im only showing this because I spent far too much time on on it and I need to show someone before scrapping it.

    Here is the basic assembly without the gear set.
    20180916_154720.jpg

    A 3D printed gear to slip over the ballscrew locknut
    20180922_144520.jpg
    20180922_144620.jpg
    20180922_144753.jpg
    The bare gear set.
    20180929_214941.jpg

    Mounted in the housing. The pot would attach to the blue coupler.
    20180930_093929.jpg
    The other side of the housing is the limit switches.
    20181013_210133.jpg

    Here it is turning without the pot attached and only one limit switch arm installed in an arbitrary position.


    So after all this, I have a feeling the limit switches are going to be painful and not the solution.

    So I've given up on this solution and need to simplify.
    I need to get an encoder working.
    I spent some time looking into an Arduino or other microcontroller that can take encoder input, and output the respective pot voltages and trigger virtual limit switches.
    This is maybe doable at my basic level of electronic knowledge and the web, but, this too I abandoned when I discovered that the Dimension Engineering Kangaroo controller can take the raw encoder input and learn the limits by crashing the end stops. So no limit switches required.

    So, now its looking like Im committed to the Sabertooth route. With Christmas coming, Its probably for the best I go with a known and proven solution. So Ive order all the parts (x6) to have it all delivered before the xmas break.

    Here is the revised assembly with a 360 ppr encoder mounted
    20181014_160303.jpg
    20181014_160236.jpg

    And here connected up with the Sabertooth 2X60 and kangaroo.
    20181014_233250.jpg

    At this time, I have it running on the RC input (manual PWM). Im using a RC servo tester in the picture above.
    The tuning of the Kangaroo went well on mode 3 (crash limits).
    I need to change over the bottom uni joint to a better quality unit to minimize the slop. There is too much backlash on motor change of direction.
    Now I can control the linear position with the rotary dial of the RC tester.

    I have noticed a problem in that the max/min linear position is drifting when doing fast movement changes.
    It appears the kangaroo is maybe missing pulses.
    I have a couple of thing to try this weekend. I have another encoder of 100 pulse per rev to try. And there is something about using pull up resistors on the A B pins to try.
    • Like Like x 5
  9. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    The problem of position drift is fixed now.
    Adding the 1K pull up resistors sorted it out. Im still using the 360p/r encoder here.
    20181020_181319.jpg
    Ive changed over the bottom uni joint and now its all much firmer with very little slop.
    It firms up also when there is weight on the ballscrew which puts a constant torque on the joint.
    20181020_181231.jpg
    If anyone is interested what tuning mode 3 on the Kangaroo looks like (crash limits), here is a video of the procedure.


    And here I am going for a ride. There is about 75-80 kg on the ballscrew in this setup.


    The 400W motor and 600W power supply seem to be doing it easily. I might have overdone as I think a smaller wattage motor would have been fine.
    I had an amp meter to check when I was driving it hard with my weight on it. Its difficult to see on the meter as it doesnt refresh fast enough, but it didnt look there was any number over 21 amp on hard reversals.
    When stationary with my weight on it, it was 2 amps to hold the position.

    Now Im going to give simtools a go and see I I can connect it to the Kangaroo.
    • Like Like x 8
    • Winner Winner x 1
  10. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Its been a good Sunday afternoon on the project.
    Ive managed to get Simtools running and controlling the actuator in Live for Speed.
    I struggled for a few hours until I realised I was missing the homing command in the start string for the interface. (since Im using crash limits and encoder)
    Thanks to @BlazinH for the tutorial on Simtools with Kangaroo.

    Now I just have to wait for all the parts to arrive and I can go ahead and build all 6 of them.
    While I wait for these, I can start thinking about the structure.
    • Like Like x 1
  11. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    Here is a days work on the motion platform frame modeled in Fusion.
    https://a360.co/2qsTyoN
    It could do with more gussets and strengthening at some locations but I'll do this in the actual build.
    The model still needs some work to avoid collisions. At the moment the front drop down frame under the pedals can clash with the front actuator.

    The whole frame will be Aluminium as I need an excuse to get a mig and spool gun.
    2018-11-05_01h01_48.png 2018-11-05_01h02_10.png 2018-11-05_01h02_56.png 2018-11-05_01h03_07.png 2018-11-05_01h04_44.png 2018-11-05_01h06_04.png
  12. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,574Coins
    Ratings:
    +1,831 / 32 / -1
    I wouldn't like the motion depicted in the last two renderings myself. Way to much. Nice job with your build though.
    • Agree Agree x 1
  13. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    I agree, too much motion on these examples.
    These scenarios are modeled to check there are no collisions at extreme positions in out of control situations.

    I went for 650 long ballscrews (overall), which gives me 500mm throw and now I think it would have been better to get shorter ballscrews.
    The longer throw means I need a larger base diameter to get the angles about right. I needed to flatten the angles otherwise it was getting too tall at max extension.
    The larger base diameter now means lessor speed of rotation for pitch and roll.
    I was having trouble getting the pedal plate to not clash with the front actuators, so I had to push the seat as far back as possible to keep it all inboard.
    But by pushing the seat back, the centre of rotation is not in the ideal spot relative to the body.
    Early in the design I had a plain triangle base, but at extreme positions, the body could be balanced right over one of these base sides.
    So I had to make it a hexagon for a bigger footprint. Now its 2m across. Its starting to be a bit too big in my mind now.

    Im thinking now shorter ballscrews would have given a better outcome. Perhaps 450 or 500 long overall.
    The base diameter would have been smaller, resulting in faster movements, and similar range of movement.
    The body would be more in the ctr of rotation, and the pedal plate more forward and hanging well past the front actuators making it easier to clear in extreme movements.

    I could cut these ballscrews down on the lathe, and redo the platform.
    But I think I'll stick with this and get more thrill out of the roller coaster sims.
    • Like Like x 1
  14. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    I got a fair bit of time in the workshop these holidays.
    The hardware is mostly finished.
    I kept with T slot for the upper frame, mostly 8040. Its surprisingly heavy material relative to plain box.
    I felt I needed to use T Slot so I can play with the ergonomic dimensions. I wasnt confident I could get it right first time with a fully welded frame
    Maybe in time, once Im comfortable the dimensions are good, I'll redo the upper frame in plain 30sq or 40sq box sections.

    IMG_20190104_013843.jpg

    I chose double ball nut 1605's-650 long. The price extra wasnt too bad at $80 ea delivered.
    I think single ball nut would have also been OK, but for an extra $30 each, it think it worth it after all the money and time spent on the build.
    Since the ball nuts are not supported in the traditional way, the extra nut length will help stabilise the tube and share the load on the balls for long term usage.
    I ran the motors direct off a battery and the motor assembly whips around a little, this could be a problem but I'll just have to see how it goes.

    IMG_20190103_133345.jpg

    The Aluminium tube over the screw is 32OD, 26ID
    I drilled and reamed the one end to 28 to slip over the ballnut. This end is slit and tightened with a hose clamp
    The other end took a regular 6000ZZ bearing with OD 26.
    Fortunately, the tube ID is slightly larger and there is around 0.1mm clearance.
    So the bearing fits very well and tracks up and down the tube smoothly.
    I had to cut some air holes both ends of the tube as it was damping the movement when I plunged it in and out by hand.
    In my first version, I used a regular circlip to hold the bearing, but it was no match for a ball nut crashing into it. I held the power button down for too long and blew the nut right off the end of the screw.
    So I drilled and tapped the ends for a M6 cap screw and a few washers to pack it out.
    IMG_20181222_140335.jpg

    I made up tube end adaptors to connect the Uni Joint in Alu. This was my first lathe job Ive ever done and it took me nearly all day for this first lot.
    IMG_20181225_223032.jpg
    IMG_20181227_204034.jpg
    The bottom and top connections to the frame were done with a solid 3D print.
    I needed the Uni Joints to be mostly aligned with the ballscrew as they do bind a little in one direction if angled over too far.
    IMG_20190103_133419.jpg
    IMG_20190103_133428.jpg

    Now Ive started on the electrics.
    I prefer to have everything in one contained unit sitting adjacent to the rig.
    Im not entirely happy with the setup below, but I'll finish it as it is and likely rebuild later into a better looking case.
    Ive just got started on the top deck in this photo. The Simucube board will go where the scissors are sitting.

    IMG_20190106_232644.jpg

    But now Im back a work so its down to weekends only to work on.

    Cheers
    • Like Like x 7
    Last edited: Jan 8, 2019
  15. sandman7793

    sandman7793 New Member Gold Contributor

    Joined:
    Dec 31, 2018
    Messages:
    4
    Occupation:
    IT Professional
    Location:
    Naples, Florida
    Balance:
    104Coins
    Ratings:
    +2 / 0 / -0
    Curious to see how these work. Have almost the exact same ballscrew. I havent started building yet.
  16. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,897
    Location:
    London
    Balance:
    11,610Coins
    Ratings:
    +458 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    liking the uv joints :)

    when do we get a video ?
  17. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    I'm yet to finish up the wiring. Possibly have it powered this weekend, likely next.
    • Like Like x 2
  18. cazsan

    cazsan Member

    Joined:
    Oct 1, 2015
    Messages:
    40
    Occupation:
    Programmer
    Location:
    France
    Balance:
    444Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    Arduino
    This build is absolutely gorgeous. I'm really looking forward any update :)
  19. JAD

    JAD Active Member

    Joined:
    Jan 17, 2016
    Messages:
    205
    Location:
    Australia
    Balance:
    1,446Coins
    Ratings:
    +141 / 3 / -0
    We have motion!


    The first step you see is homing and going to centre.
    The next movements is me throwing around the slider in Simtools.
    I just have the plain heave, roll and pitch dialled in at the moment. These are unfiltered in Simtools and use max range.
    There are soft limits set in the kangaroo that are kicking in. So far the soft limits have been very reliable.

    MVIMG_20190127_235449.jpg
    MVIMG_20190127_235456.jpg

    I had a few varieties of cheap ebay USB to TTL serial converters to try. I struggled with a few of them and mucked around with older drivers and had many bluescreens.
    But in the end, the $3 CP2102 variety worked fine with the lastest win10 drivers from Silabs.
    I also found I had trouble with the older DEScibe software from Dimension Engineering, but using the lastest ver 3.7 beta fixed those issues.

    The DEScibe software was used to trigger the tuning (mechanical limits in my case), set the soft limits and change the baud rate. I didnt need to do anything else to get it going.

    Here is a pic of the Simtools interface parameters
    2019-01-28_00h07_34.png

    Next step is to move onto the excellent FlyPT Hexapod Interface.
    @pmvcda I'm keen to try out your work using the serial output.
    Ive been watching your progress on this and it looks fantastic and has come at a perfect time for my build.
    • Winner Winner x 2
    • Informative Informative x 1
  20. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    943
    Occupation:
    3D teacher
    Location:
    Quebec, Canada
    Balance:
    7,683Coins
    Ratings:
    +884 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    Really nice Build. I was wondering if you were still working on it since it has been a long time before update.
    I'm glad to see it in action now. Way to go.
    I found calibration of those thing quite a challenge. FlyPT Hexapod Interface arrive at a perfect timing for me as well.
    Have fun!
    • Like Like x 1
    • Agree Agree x 1