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. Aussie

    Aussie New Member

    Joined:
    Nov 1, 2017
    Messages:
    5
    Location:
    Australia
    Balance:
    187Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    AC motor, Motion platform, 6DOF
    Good Morning . Wow!! I'm so impressed by what what you have done so far .I'm following you progress with passion and I can't wait to see this actuator finished. Can you please send me the file for the Actuator motor side mode base plate.
    Regards
  2. Hoddem

    Hoddem Well-Known Member

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

    Are you asking for the original 3D files or the modified file that @kermitkong used for his build?
  3. kermitkong

    kermitkong Active Member Gold Contributor

    Joined:
    Apr 12, 2016
    Messages:
    187
    Occupation:
    Hardware Development
    Location:
    Germany
    Balance:
    1,238Coins
    Ratings:
    +275 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    Hi @Aussie
    Please have a look to my project page.
    https://www.xsimulator.net/community/threads/kermit-kongs-6dof-project.8685/

    Shortly said, 4 out of 6 actuators are done.
    Plattform will be assemble soon.
    More pictures will follow.
    Also plan to share electrical wireing diagram and mechanical construction files.

    -Kermit
    • Like Like x 3
  4. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    Not much work happening on this project, I have been focusing on my 2dof simulator. However I did modify my power supplies so that I could run them in series and get 24V. I found all of my information at RC groups
    https://www.rcgroups.com/forums/showthread.php?1581061-DPS-600PB-Builds-hints-tips-and-build-plans

    here is how I did it.

    I am using DPS-600PB power supplies, I have accumulated about 6 or 7 of these things so far. In order to use them in series without shorting them together when the cases touch one of the power supplies needs to be made to float.

    so I disassembled one of the supplies and completely removed the guts out of the case.

    pic 2.jpg

    Then I grabbed my multi-meter and started tracing the grounds on the mounting screw pads. The grounds need to be isolated so that the case is no longer grounded. there are lots of methods to do this, some include making spacers or washers or wrapping the entire case with an insulation like heat shrink.. I chose to physically disconnect the grounding pads by severing the traces. the first pad was easy, there are little wires that just needed to be cut.

    pic 3.jpg

    pic 5.jpg

    Then I used an exact knife to sever the traces at the mounting pads in a few more locations, each time verifying with my multi-meter that I had actually removed the connection. I was very careful to only cut the trace I needed and then went back with a little screw drive and widened the cut.


    pic 4.jpg


    pic 6.jpg

    Then I just re-assembled the entire power supply and checked for continuity between the case and ground.

    pic 7.jpg

    I also make a little jumper assembly with 4 servo connectors and short pins 4, 6, 8 and 10 together. that will turn the power supply on when plugged in and slow the fan down to the minimum speed.


    DPS-600PB PinBelegung.jpg
    • Informative Informative x 1
  5. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    I have pretty much put this project away for a while, but I had a help request from another forum member so I dug everything out again to finally do some testing. I was able to successfully complete a tune using the describe software and mechanical limits. I jumped over to simtools and everything worked great. Here are the settings I used in simtools keep in mind that I am using a quadrature encoder not a potentiometer for feedback.

    1,start<13><10>1,home<13><10>1,units4095=15400<13><10>
    1,p<Axis1a><13><10>
    1,powerdown<13><10>

    My travel range is 15400 encoder counts which can be found in the positioning tab of the describe software under nominal travel. I also added the home command at startup because for whatever reason when using mechanical limits the system doesn't automatically home upon power-up. also notice that in the describe software the system automatically creates hard limits and soft limits which can be adjusted manually to give more or less of a safety zone.

    2018-01-14 10_45_57-Game Engine.jpg

    2018-01-14 10_42_51-Greenshot.jpg

    The kangaroo simplified serial is pretty basic, here is a little more information about the commands the kangaroo accepts.

    https://www.dimensionengineering.com/software/KangarooArduinoLibrary/html/index.html

    and here is a video of the whole system up and running, no test stand though I needed some space in the garage.

    Attached Files:

    • Like Like x 3
    • Informative Informative x 1
  6. Jokke_85

    Jokke_85 New Member

    Joined:
    Nov 30, 2017
    Messages:
    1
    Location:
    Tienen
    Balance:
    93Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF
    Damn, that's awesome. great job!
  7. Hoddem

    Hoddem Well-Known Member

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

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    I have put the actuator project on hold while I finish up the racing simulator, however I never really stopped thinking about it. I felt like the 3d printed design was successful enough as a prototype, but I had a few things I wanted to change. Here is V3.0 of my actuator design with some improvements.
    1. Shaft mount encoder vs gear drive
    2. More reputable 24V dc motor
    3. 30mm hollow precision linear shaft for the main shaft vs 25mm carbon fiber.
    4. qty 4 12mm steel guide shafts ( I could feel some flex from the two and the carbon fiber main shaft)
    5. Smaller 4" body diameter vs 4.5" on V2.0
    6. Aluminum plates replace 3d printed ones
    7. Aluminum tube replaces clear PVC
    8. Larger flex coupling between motor and ball screw
    9. 9 pin shielded serial connection for encoder data vs ethernet cable
    10. No more limit switches
    11. Larger swivel rod end

    2018-02-05 12_31_57-Greenshot.jpg


    2018-02-05 12_33_44-Greenshot.jpg



    2018-02-05 12_34_52-Greenshot.jpg

    I already have all of my parts sourced or prototyped and ready for assembly.

    1.jpg

    Unfortunately I need to get the racing simulator finished up before I can tackle the next phase of this project, it should be soon though. If you want to check out the design in more detail, download a 3d pdf from here (tried to upload it here but the website kept crashing) you can move it around and hide parts to see the guts. You may need to "enable content" to get the 3d model to be interactive.
    https://www.dropbox.com/s/wxw23o8y15z13oi/DIY Linear Actuator R3.2.pdf?dl=0
    • Like Like x 3
    • Winner Winner x 2
  9. Tim McGuire

    Tim McGuire "Forever a work in progress"

    Joined:
    Jul 26, 2015
    Messages:
    261
    Occupation:
    Electrical/Electronics Engineer
    Location:
    Canada
    Balance:
    2,187Coins
    Ratings:
    +314 / 2 / -0
    My Motion Simulator:
    3DOF, DC motor
    Out of curiosity, why did you decide to ditch the limit switches?
    • Useful Useful x 1
  10. llluis

    llluis Active Member Gold Contributor

    Joined:
    Mar 30, 2017
    Messages:
    164
    Location:
    Quebec
    Balance:
    1,630Coins
    Ratings:
    +103 / 1 / -0
    My Motion Simulator:
    6DOF
    Very curious about these two. Could you give us more details?

    Couldn't see the encoder in the design and why using a larger coupling?
    Old one too weak?
  11. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,935
    Location:
    London
    Balance:
    11,838Coins
    Ratings:
    +473 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    did you measure the mm/s when you were testing with no load ?
  12. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    In all of my testing with the kangaroo/sabertooth combo I have found that the system often crashes during auto tune when you have limit switches connected. I have talked to Dimension Engineering about that and they said the circuit is very sensitive and the problem can be fixed with shielded cables. I had planned on testing that but I never got around to it, instead I ran the tune using the "Hard Stops" mode and everything worked great. Being that the system is closed loop with an encoder and the describe software has soft and hard limits based on the encoder position I am comfortable enough to move forward without the limit switches. It also simplifies the wiring and removes the hassle of getting a limit switch wire to the top of the actuator. The risk would be that the encoder loses position and then a crash could occur, but from my experience with my 2d0f setup and my first actuator that is most likely during the setup phase and not likely to happen during actual use.

    That being said, If someone were to write a version of one of the current sabertooth/potentiometer (@vthinsel -XPID or @BlazinH, @RufusDufus - SMC3) control software utilizing encoders I would gladly put limit switches back in for homing purposes. I may try to tackle that myself if I get ambitious enough. The general consensus is that the kangaroo isn't an ideal control method as it seems to be a little slower than the methods above.
  13. 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 I am using is the Ampflow E30-450, When I spoke with Ampflow about my project I also asked them what encoder they recommended. Turns out that motor is designed to directly mount a US Digital E2 Encoder. While it is pricey at almost $100 ($70 for encoder, $14 for cable, $13 for shipping) it mounts directly to the motor shaft so it is a very clean and reliable solution. I haven't had any problems with my gear driven encoder, I just prefer this solution.

    2018-02-06 09_18_22-Greenshot.jpg



    Here is the encoder model I am using - E2-50-375-IE-D-G-3

    EDIT - I chose a 50CPR/200 PPR encoder based on feedback from Dimension Engineering. The kangaroo can handle 80,000 pulses per second total so 40,000 for each encoder on a two motor system. with my 5700rpm motor I will get a 19000 pulses per second per encoder (38,000 total) witch puts me at about the 50% mark for the kangaroo

    With my 10mm ball screw the resolution will be 0.05mm, with my 5mm ball screw the resolution will be 0.025mm.

    Just an off the cuff calculation if I was using a Pot I would get a resolution of about 0.1mm assuming I could use full scale over the travel of my actuator and 12 bit scaling.

    The new coupling was actually and accident, I ordered what I needed based on the size of the two shafts and the new one was quite a bit larger then the old one. I don't have enough testing to say whether the smaller coupler will fail, but I'm pretty confident the new one won't.

    2018-02-06 09_21_17-Greenshot.jpg

    Old coupler is 25mm OD x 30mm long, new coupler is 30mm OD x 42mm long
    • Like Like x 1
    Last edited: Feb 6, 2018
  14. Hoddem

    Hoddem Well-Known Member

    Joined:
    Sep 27, 2016
    Messages:
    404
    Occupation:
    Engineer
    Location:
    Minnesota, USA
    Balance:
    3,342Coins
    Ratings:
    +715 / 2 / -0
    No I didn't, by calculation the old actuator is 3000rpm motor with 5mm pitch ball screw. It should be 250mm/s at 12v (the videos are all 12v) and 500mm/s at 24v. That's ideal no load speed but realistically it is probably less.

    The new actuator is using a 5700rpm motor and 10mm pitch ball screw it should be 950mm/s at 24v again that's ideal. I now have a 5mm and 10mm pitch ball screw so I will test both as I doubt that the 10mm pitch ball screw can actually lift me, but It will be fun to see how fast I can get it to move.
    • Like Like x 1
  15. llluis

    llluis Active Member Gold Contributor

    Joined:
    Mar 30, 2017
    Messages:
    164
    Location:
    Quebec
    Balance:
    1,630Coins
    Ratings:
    +103 / 1 / -0
    My Motion Simulator:
    6DOF
    @Hoddem , perfect, thanks for the detailed explanation!!!
    Indeed, very clean solution for the encoder.

    Regarding the coupler, I had the same accident. Ordered based on the ID and when they arrived, they were larger than expected. I'll still order the smaller ones to compare.
    :D
  16. Gadget999

    Gadget999 Well-Known Member

    Joined:
    Dec 27, 2015
    Messages:
    1,935
    Location:
    London
    Balance:
    11,838Coins
    Ratings:
    +473 / 9 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    can't wait to see this sim in action :)
    • Agree Agree x 1
  17. kermitkong

    kermitkong Active Member Gold Contributor

    Joined:
    Apr 12, 2016
    Messages:
    187
    Occupation:
    Hardware Development
    Location:
    Germany
    Balance:
    1,238Coins
    Ratings:
    +275 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    hi @Hoddem
    the speed of your system seems to be very high
    you said: 950mm/s @24V with 10m ball screw pitch.
    This means with a ball screw length of 500mm a physical resolution is 0.244mm if you work via PWM (what i think) then the typical PWM resolution is 11Bit = 2048, so you resolution will be limited to 0.244mm. This is only valid if you send 16bit or 12bit data via SimTools. if you send 10Bit, the resolution will be reduced to 0.488mm and if you use 8Bit packages, then the resolution will be 1,952mm

    This is the reality if i'm not wrong. The internal PID regulation, of course are based on the physical encoder resolution.

    I tweaked my own setup a lot in terms of ideal resolution and speed.
    i have 2400rpm/min motors, and decided to have a gear transformation (beltdrive) 2:1 to reduce the motor speed to 1200rpm/min.

    Then i use 5mm pich ball screws (500mm length) witch give me @12bit PID a resolution of 0.122mm (which is OK)
    and with 11bit PWM resolution a physical resolution of 0.244mm.
    so the limiting factor in my setup here is the PWM resolution of 11bit.

    Also a smallest change from SimTools (1 Bit LSB@12Bit) is theoretically 0.122mm,
    but limited by the PWM resolution of 11bit to 0.244mm in my case.

    So the smallest movement mof the ball screw is 0.244mm in my setup.
    Which is good enough in my case.

    In my setup the maximum speed is:
    for gear ratio 2:1 =2400/2/60*5= 100mm/s
    and for gear ratio 1:1 =2400/2/60*5= 200mm/s

    this is quick enough for flightsimulators anf flight games.
    Maybe @noorbeast or @yobuddy can give some thoughts about their setup.

    keep in mind in case you're useing the sabertooth controller:
    =======================================
    user manual @ Mode 3: Simplified Serial Mode said: the resolution is limited to 7bit
    This is for the speed commands

    and for kangaroo PID position controller:
    ==================================
    if you are using analog potentiometers instead of digital encoders a resolution limitation is the internal 12Bit ADC.
    if you are using PWM input then the resolution seems to be 11bit.
    if your're using serial input in the kangaroo to control position and speed,
    the resolution range is not explained, but i would say high enough (maybe 16Bit)
    Last edited: Feb 8, 2018
  18. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,287
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    49,253Coins
    Ratings:
    +5,097 / 18 / -0
    As long as it's not so fast that you injure yourself, faster is better.
    As it can track what is happening on screen more realistically.
    The higher the resolution, the more little feedback you can get, like road noise etc..

    I don't believe your resolution is dependent on your PWM resolution.
    As the PWM resolution is just how many different speeds the interface has.
    So the number of 'stop points' on the actuator is dependent of the bit depth that your interface output is configured to.
    I believe your 'stop points' is still every .122mm, even if the interface had only one speed.

    Just out of speed comparison thou,
    The fastest SCN5 actuator runs at 400mm/s
    The fastest SCN6 actuator runs at 200mm/s

    And if you have deep pockets, you can blow 12 grand on a DBox sim that does a whopping 100mm/s. lol

    So in short, at 950mm/s @24V, add a bunch of kill switches to the sim and hold on tight! lol
    Take care,
    yobuddy
  19. kermitkong

    kermitkong Active Member Gold Contributor

    Joined:
    Apr 12, 2016
    Messages:
    187
    Occupation:
    Hardware Development
    Location:
    Germany
    Balance:
    1,238Coins
    Ratings:
    +275 / 1 / -0
    My Motion Simulator:
    DC motor, Motion platform, 6DOF
    When I’m talking about PWM I mean the RC-Signal PWM which is translated from the input Signal from simtools.

    E.g. if you input signal from simtools is 8bit (256 steps) and your RC-Signal (which is PWM coded) to the cangaroo PID Controller has a possible resolution of 11bit (which means 2048 steps) , every step on the simtools value will jump 8 steps on the RC-Signal which give the position to the PID controller.

    So then, this PWM (RC type of Signal) is related to the resolution of the actuator.
  20. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,287
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    49,253Coins
    Ratings:
    +5,097 / 18 / -0
    But PWM a speed output, not a count of the number of steps it has?
    I think it has 2048 different speeds at which it can move to try to hit its target value?
    • Agree Agree x 1