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

Hoddem's DIY Linear Actuator

Discussion in 'DIY Motion Simulator Projects' started by Hoddem, May 23, 2017.

  1. mariano68

    mariano68 Active Member

    Joined:
    Nov 15, 2014
    Messages:
    576
    Occupation:
    builder contractor
    Location:
    Argentina
    Balance:
    3,339Coins
    Ratings:
    +395 / 2 / -0
    My Motion Simulator:
    2DOF, Arduino, 4DOF
    Great work as always!
    From V2 to V3, what parts do you think did that great difference in noise?
  2. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    The motor is number one, most of the noise is coming from the motor on the old actuator. I’m not sure about the carbon fiber vs precision steel shaft. I know the steel is much smoother, but it’s hard to say if it is quieter or not.

    Speaking of the motor, I just checked and amazon bumped the price from $109 to $177. Not sure what is going on because the manufacturer still has it listed at $109 on the website. I wouldn’t want to pay that much for 6 of them.
  3. mariano68

    mariano68 Active Member

    Joined:
    Nov 15, 2014
    Messages:
    576
    Occupation:
    builder contractor
    Location:
    Argentina
    Balance:
    3,339Coins
    Ratings:
    +395 / 2 / -0
    My Motion Simulator:
    2DOF, Arduino, 4DOF
    I have a stainless steel shaft lying around, I will try it to see if the carbon one is adding resonance.
  4. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    I think I came up with a solution to the squeaky bearings. The way my actuator is assembled it might work with precision parts assembly jigs etc, but with 3d printing and hand cut parts I will never get the alignment of the whole system perfect. Usually in a system with multiple bearings some of them are fixed and others are floating to compensate for misalignment. Its going to be tough to float a bushing, but I think I can add some o-rings around the bushing to give it some float without losing too much of the intended function. I can run between 2 to 6 o-rings and try different durometers to tweak the performance. The design isn't finalized yet, but this is the general idea. I'm not sure how many I would need to float, at least 2 but probably all 4.

    2018-02-14 11_54_03-Greenshot.jpg


    The other problem is that my tube has some amount of out of square at the ends which will pull the actuator out of square when I tighten down the tension rods. I'm still trying to figure out a way to square the tubes up with my home equipment, but I may admit defeat and pass them off to a friend who has a lathe capable of such work. Another option would be to 3d print a jig, though I'm not sure exactly what that would look like yet.

    Right now the 3d printed parts are all at 20% fill, I am going to start re-printing the load bearing parts with a higher fill percentage (50% or more) so that I can do some load testing this weekend. I'm starting to think that for simplicity I might stay with 3d printed parts rather then aluminum.
    • Creative Creative x 2
    • Like Like x 1
  5. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,112Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    check out petg 10 times the strength of pla. it is similar to abs, just not quite as strong but it wont warp on a heated bed easily.
    I put 1500 newtons x 9 on my centerplate in a simuation yesterday it bent but didnt break. im sure the part was ruined. i am going to run some more simulations for the assembly but so far in theory (simulated) the printed parts are very strong.

    statictest.jpg
    • Like Like x 1
    Last edited: Feb 14, 2018
  6. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0

    If it’s 10 times stronger then I would bet it will stand up to just about anything. I have been trying to figure out a good way to strength test parts. I think I’m going to take on a little project to turn a small bottle jack press into a compression tester. Well see though, so many projects so little time. I’m just really curious how strong my 4” disc is and I would also like to test the pull out strength of printed threads.

    Pretty neat simulation, if I get my jack setup I will have to have you run a simulation of the same part I test to see how accurate the model is.
    • Like Like x 1
  7. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    I printed up my new floating bearing plate and mounted it up. I ended up finding some square o-rings and everything fit pretty well. After assembly I could already feel the actuator running much smoother when I forced it in and out. The squeak is gone, but I can hear the ball screw whipping inside the linear shaft, I plan on putting a 3D printer bushing on the end of the ballscrew, I just haven’t gotten to it yet.



    I also received an email from dimension engineering and they assured me that the scaling function in the kangaroo does output a decimal. That means that the kangaroo uses every pulse of the encoder for positioning and I am getting the 0.05 minimum move that I thought. In practice it’s not quite that small of a move but pretty close. My actuator runs 1900 lines so I used the scale function to scale that to 7600 lines. Every number increment I send over serial (it only accepts whole numbers) the actuator should move 1/4 line. I played around with it a bit and it does move like it’s supposed to but there is a dead band of 0.25 lines so sometimes it skips a command and then moves two spots on the next.

    • Like Like x 5
    • Informative Informative x 1
  8. Bastiuscha

    Bastiuscha Active Member

    Joined:
    Apr 1, 2017
    Messages:
    291
    Location:
    Germany
    Balance:
    750Coins
    Ratings:
    +191 / 2 / -0
    My Motion Simulator:
    6DOF
    Oh man, thats so beautiful! What do you think.... you can sell that stuff later. :)
  9. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    121
    Location:
    Canada
    Balance:
    723Coins
    Ratings:
    +57 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Hi Hoddem:
    You noted that Kangaroo is only good for 80,000 total. I've been trying to tune, with not much luck. My DEScribe is tuned to ~39,000 and ~42,000, and I need double that to get the movement I'm looking for. Could this be the reason when I'm going up the hill on Eau Rouge, my rig skips to level and re initiates at a random setting? It has done the same sort of thing for the other axis. I'm not over the 100% Total axis on either 1a or 2a.
    Also, how do you tune out the harshness in the shifting? (I'm at 100% smoothing for Surge). My Rig either needs to be way under tuned to get the shifting to feel right, or it feels like I get hit every time I shift. The Rig is going to be fantastic if I can get the setting sorted. Going around a high speed corner feels great. I can hardly wait till I go back to 24 Volts and double the tilt on the chair!!
    Thanks again for all the help,
  10. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,112Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    This is probably due to surge axis value in tuning center being set too low. turn off smoothing and then adjust the surge values. smoothing can also induce some delay (lag) which may also contribute to this.
  11. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    Could be, what I was referring to is 80,000 pulses per second of the encoder or encoders. It would depend on how fast your encoders are turning and how many pulses per revolution they are. Its possible that you are over-driving the kangaroo and then it is either losing position or getting a tracking error.

    do you know what the max speed of the encoder is and how many counts?
  12. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    121
    Location:
    Canada
    Balance:
    723Coins
    Ratings:
    +57 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Encoders are 5000 rpm 400p/r I'm have them on the motor end of wheelchair motors. right now they do about 3 revolutions stop to stop Drive end ~2sac. 21-1 gearbox. Might get a pair of 100p/r encoders just tot try. Hmm this is new! Turned off smootheing, now I have a new problem. Shaking when there's no load on the motor axis2 only. Ideas? I think I'm fighting a loosing battle : (
  13. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,112Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    your new condition is oscillation. something is probably loose or has a little too much play.
  14. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    Something doesn't add up, you say 3 revolutions but your describe settings are 40,000 lines of travel. That's 13,000 lines per revolution or 52,000 pulses per revolution. If that is true, when both motors are running they cannot exceed 1 revolution per 1.3 seconds or it will overdrive the kangaroo.

    Another way to test for encoder errors is to go into the kangaroo live position test and just move the slider really aggressively and see if you can get it to trip. Also if you turn on live speed you can see how many counts/s you are getting from the motor. 1 count is 4 pulses so as long as you are below 10,000 counts per second it wont exceed the kangaroo's capacity. My system hit about 4,500 counts/s with a 50count/200pulse encoder and a 6000rpm motor.
  15. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    121
    Location:
    Canada
    Balance:
    723Coins
    Ratings:
    +57 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Sorry: ~3 rev output shaft = ~63 rev for the encoder! ~2 sec
    38.600 38,800 fron DEScribe tune. If I can get.
    I built 4 shocks to dampen the harshness out. Not a good thing at TDC with no load on the motor. Took them out!
  16. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    121
    Location:
    Canada
    Balance:
    723Coins
    Ratings:
    +57 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    so a 400p/r = 1600 lines
    SO 1600 x (63/2) = 50,000 lines yes?
    I think I've found my root problem!
  17. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    pretty much

    400 count/r = 1600 pulses/r
    1600 x (63/2) = 50,000 pulses/s

    the kangaroo reads each pulse as .25 lines. so counts and lines are the same. everyone seems to use different terminology.

    I think your problem is even worse as you have 38,000 lines in describe. That's 95 rotations with a 400 count encoder.
    1600 x (95 /2) = 76,000 pulses / second.

    You probably can get by with some mild movements, but when both motors try to run at speed you are going to run out of capacity with the kangaroo.

    you could change to a 200 count encoder but before you did I would want to get some more concrete values as it could be pushing right up to the limit still. A 100 count encoder should be fine.

    is the 5000rpm the max speed of your motor then? you mentioned going to 24v does that mean your motor speed with increase further yet to 10000 rpm?

    if 5000rpm is max I would go with a 100count encoder (5000rpm/60) = 83 rev/s, 83*400 pulses/rev = 33200 pulses/s per motor or 66,400 total.
    if 10000rpm is max I would go with a 50 count encoder (10000rpm/60) = 167 rev/s, 167*200 pulses/rev = 33400 pulses/s per motor or 66,800 total.
  18. PaulB

    PaulB Titanium2dof

    Joined:
    Apr 15, 2017
    Messages:
    121
    Location:
    Canada
    Balance:
    723Coins
    Ratings:
    +57 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Sorry again. the max speed of the "encoder" is 5000. Max motor speed not sure.

    I'll order 1oop/r encoders.

    I didn't know about the 80,000 line thing. I need to add a post for "encoder users", so they have an easy place to find all this hidden info.
    Can't seem to find anywhere to add posts though!

    I was running the motors at 24v till I popped a 12v power supply, so I'm using the other 12v ps till I know how many more resistors to add. I don't understand the resistor calculator : ) Elect has never been my strength! Not sure what they'er asking about motor output current.

    Well I'm excited that I have the solution to my rig. I was really using up a lot of time trying different solutions.
    Would never have gotten this far without your help!! Many Thanks!
  19. fortissimo

    fortissimo Member

    Joined:
    Dec 20, 2015
    Messages:
    54
    Location:
    france
    Balance:
    161Coins
    Ratings:
    +22 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Good job,waaa,you re a inginer
  20. bruce stephen

    bruce stephen Hammer doesnt fix it, must be electrical

    Joined:
    Jun 7, 2015
    Messages:
    1,286
    Occupation:
    general contractor
    Location:
    michigan
    Balance:
    9,112Coins
    Ratings:
    +1,238 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    @Hoddem what method did you use to connect to your kangaroo? ard or different converter. if ard what code?