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

How to boost a 10mm/sec linear actuator to 300mm/sec

Discussion in 'Motor actuators and drivers' started by EvanF, Dec 28, 2007.

  1. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    21/08/08
    Mod Update

    Latest L/A rebuild. 100ppr ballbearing encoder 3000rpm max rated directly coupled to lead shaft. Inbuilt Schmidt triggers. 2800 pulses from 0~300mm. Max test speed of actuator under half power, 300mm/sec. Anticipated to exceed that under full power.
    Ready to rock and roll.
    shaft-encoder00.jpg shaft-encoder01.jpg shaft-encoder02.jpg shaft-encoder03.jpg shaft-encoder04.jpg


    04/03/08
    Mod update
    Araldited (glued) opto interrupter switch to base plate. Tested placement over slotted rotor with multimeter...great success, switching hi/lo as expected. 'Resolution' calculates to 0.5mm linear travel per pulse. Once glue has gone off/cured/set will remove bluetack and gaffer tape holding it temporarily in place.

    optoswitch-optomised.jpg


    20/02/08
    Mod Upgrade
    Relocated ball-joint inline with lead-screw. Fitted 24 hole rotor to lead-screw and also lengthened drive pin to bed into a brass bush on base plate.

    lin-act-mod-II.JPG lin-act-mod-IIa.JPG lin-mod-act-IIb.JPG


    By popular demand here are pix of my modified linear actuator.

    On youtube I've uploaded a video showing how I did it.
    http://www.youtube.com/watch?v=DCuk5Hp9QC0
    Enjoy

    [​IMG][​IMG][​IMG][​IMG]

    EvanF
  2. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Amazing what you've achieved with your mod!

    A speed gain of 3000% ;) Great!

    What do you think, how much force is this monster able to lift?

    Does it get hot after a while?

    regards
    ego
  3. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    I think it should have ample grunt for the frex style 2DOF seat but maybe not enuff for my 3DOF torture chair.

    I don't think the motor will get too hot, but possibly more wear on the nylon nut in the actuator arm ..time will tell on that one!

    If I had a torque wrench I would know for sure. It doesn't have the same grunt as Ians DIY actuator at buggys for fun (he leans his whole body weight onto it while demonstrating it on his video) but his is a 200watt jobby and if I wanted to get more grunt it would be easy enuff to swap my motors because of the way the mounting is set up.

    I'll give it some tests and let you know. Not sure when though as I've got a bit of welding to do on the 2DOFfer.

    EvanF
  4. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Evan,

    Great mod! I wish I had the tools and the resources to also build such actuators too! Keep up the good work!

    Regards, Thanos
  5. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    Thanks Thanos,
    Yes I am very lucky to have a supportive wife who understands my need to express passion. But I have spent many frustrating years without the means or resources to fulfil my desires, finally I can have some small toys to play with!
  6. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    Updated
  7. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Hi Evan,

    Perhaps a 120cpr encoder including disk for 16 Euros would have been better for that purpose. And imho rather connected directly to the motor. What resolution do you get this way? How many steps from retracted to extended?

    Anyway, nice solution! Keep up your work! You are a treasure of ideas :)

    Regards
    Christian
  8. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    [*edited 10:33pm EST]

    Yes, we considered counting direct motor rotations but felt the belt would slip, ever so slightly, when subjected to sudden changes in forces. Counting the lead screw rotations at least ensured a direct, positive and accurate measurement. The pulley ratio is close to 2:1 so I guess you could argue the 'resolution' is potentially reduced by that much. With 24 slots we have calculated it would take 600 pulses to complete from end to end.

    We have yet to confirm how fast a picaxe can count and translate these pulses, the issue is how fast the picaxe will read down the lines of code so 24ppr may be too much for a picaxe to count and deal with anyway!!

    IMO I think going overboard on resolution will end up being a subjective discussion and a grey area between the mechanic and driver!

    Ben (friend) easily pumped the PWM pulses up to 20khz with the picaxe chip (monitored on oscilloscope) and our H-Bridge handled this real cool. He also tested his opto isolated logic gate circuit and it switched rock solid. Our H-Bridge would seem engineered well enough to run even keel even if the picaxe hiccuped from a spike! You can't be too careful when running high current with these brushed motors.

    pwm-test-01.JPG pwm-test-02.JPG pwm-test-03.JPG
  9. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    All,

    I am trying to get my head around optical encoders and ways to make a digital count pulse 'plugNplay'.

    It seems a lot easier to work with ADC 0-5V input from a POT. But Pots used as angle encoders are limiting in that they break down and their range of movement is between 270 degrees for a single turn to 3600 degrees for a multi-turn. They weren't really designed for constant agitation and positional control.

    Now optical encoders are a different beast. The sensors do not contact so there is less chance of mechanical breakdown. They just send out high and low signals.

    So how do you make use of this technology with a linear actuator?

    Digital to Analogue encoder convertor.
    Say you know how many pulses an optical encoder takes to travel 300mm, I am wondering if it is possible to write simple code to convert this into a 0-5v signal to use with ADC input. Quadrature encoders would signal direction of movement and absolute positioning. Limiter switches could act as count pulse recalibrators. Sounds like backward technology to convert a digital signal into analogue but it makes things simpler for dummies who only have ADC input capabilities!

    EvanF
  10. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0

    Hi Evan,

    This is a nice idea!!! I'm programming an decoder that sends the pulses to the master AVR controller via I2C but I think your idea to convert the output into analog signal great!!! Just imagine that this way we can just Plug'n'Play such an analog decoder into a potentiometer input place!!! Its not hard for me to alter the coding and have as result everything in a single chip with only external compoments an resistor and a capacitor.

    But I need some calculations to be done that includes the encoder disk resolution (cpr) and the number of turns it needs to get from 0volts to 5volts!!
    For example I have encoders disks with 120cpr and I need around 8.5 turns for 1024 points resolution, while for 16-bit resolution I need it to turn 542 turns!!!!!

    Thanks again! :clap:

    Regards, Thanos
  11. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Which resolution could be possible with this DAC mod?

    Regards
    Christian
    • Old Old x 1
  12. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Christian,

    The DAC resolution depends on the AVR chip that I will choose! Most AVR chips have 8-bit, 9-bit or 10-bit output resolution but there are also some that have 16-bit output resolution!!! The DAC function isn't nothing more that PWM signal after all. And with a proper external Resistor-Capacitor filter they can deliver voltages in the range of 0volts to 5volts with resolution of: 0.01volts, 0.001volts, 0.0001 volts or even 0.000001volts in 16-bit!!!!

    But there is the restriction on the resolution of the ADC that in most cases isn't bigger than 12-bit!!

    I'll have to try it soon!!!! Can't wait! :happy:

    Regards, Thanos
  13. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    Hi Thanos,

    Well that sounds promising, I didn't know for sure if I was just having a silly thought?!

    If this plugNplay unit was modular enough we could just plug in as many actuators as the platform required it would be awesome. 2 dof/3dof/6dof

    Perhaps pins could be jumpered for pulses/distance travelled in 50mm increments or something, or even a range of firmware update options to 'dial up' your own measurement requirements.

    Do optical encoders come with a universal standard? Or would we need to ensure we specify a particular model that can be sourced world-wide?

    I have been a bit stuck with the mechanical feedback part of the platform. Having this issue solved would get me moving forward again!

    Thinking of the count pulse in terms of rotations makes it easier for me to visualise. My Linear actuator rotates approx 29 times from end to end. I'd have to measure my 3DOF. But yes rotations is easier to conceive than the number of pulses! I'm only a real newbie at coding so it will be slow going for me to try to code it in picaxe. But my idea was to have a little module per encoder/actuator that was not integrated into the main board to ensure flexibility.


    EvanF
  14. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    @ Christian,

    You mention an optical encoder for 16Euros. Can you provide me with a link or a model number, I will see if I can source similar this end of the world, and if not I will most probably have to order 5 in (for both platforms)

    I will rely on yours and Thanos expertise and recommendation to which model is most compatibile, suitable, and most reliable for cheapest price.

    It's about time I got serious with this optical encoder issue and stop piddling around with DIY rotors.

    EvanF
  15. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    bumped to top

    Latest L/A rebuild. 100ppr ballbearing encoder 3000rpm max rated directly coupled to lead shaft. Inbuilt Schmidt triggers. 2800 pulses from 0~300mm. Max test speed of actuator under half power, 300mm/sec. Anticipated to exceed that under full power.
    Ready to rock and roll.

    Attached Files:

  16. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Well done Evan! What motor are you using? (voltage/amperes). And how much it cost you to make it yourself?

    And have you figure out yet about the encoders interface? How are you going to read them?

    I'm still looking for the best way to interface my attiny decoder circuit to AMC using existing free ports over I2C (RC servo ports perhaps).

    Regards, Thanos
  17. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    Hi Thanos,

    Thanks, but I can't take all the credit as I did also have a friend help with the machining!
    The matching 24v 100w motors cost me NZ$20 each (ex US made bilge pump motors)
    Belt pulley NZ$7
    Pulleys machined from scrap aluminium
    Lead screw components from German linear actuator NZ$130 (but if I was to do it again I would ask my friend to make some up)
    Steel plates and nuts and bolts recycled from scrap.
    Optical encoder, US$8 from Ebay (had to buy 10 to make it worthwhile)

    The good thing is I can easily replace the motor with a larger one if I want to increase my load capacity.

    I only meant this post to be focused on making a DIY linear actuator, and not the electronics side of things, so whatever discoveries I make with addressing the electronics side of the encoder/decoder issues I'll make a new post for.

    But I have ordered a couple of gamoto's to try out and they should arrive soon! My question mark is how to mix the X,Y axis absolutes into 2 coupled actuators. I don't know if X-Sim has software mixing for that part, now or in the next version. If not I may have to come up with yet another geometrical design! :eek:

    *added a bit later on*
    I have also ordered in some Edac2's from US Digital http://www.usdigital.com/products/interfaces/encoder/converters/edac2/ to try out with ADC input only motor controllers. These should arrive at the same time as the Gamoto's!
  18. EvanF

    EvanF Member

    Joined:
    Jun 10, 2007
    Messages:
    199
    Occupation:
    Multimedia Producer
    Location:
    New Zealand
    Balance:
    423Coins
    Ratings:
    +1 / 0 / -0
    Hi Thanos, :hi: :sos:
    I realise you promote your DIY AMC controller board but I also know you enthusiastically help fellow motionsim enthusiasts. If I could just ask you these preliminary questions before opening up a new post, I'd really appreciate some advice!
    My intent is to find some plugNplay motor controller interface boards. As you know I have ordered in some addressable motor controller boards but still need to mix the X,Y axis if I want to use them for the coupled offset 2DOF design that is popular on here.
    How possible is it to make a serial I/O X,Y mixer? Like, would it be relatively straighforward for a novice to try and build?
    Would the microprocessor need to be fast? Like, would a 28X1 picaxe be adequate?
    Would it be handy to have extras like, say, trimming pots for finer manual adjustments or would this be unneccessary for the function of 2 axis mixing?
    I value your input! :)
    EvanF
  19. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Evan,

    You can try make yourself such serial x/y mixer... It doesn't need to be very fast chip since it doesn't have to do PWM timings etc... The calculations involved are only a few additions/subtractions, but your picaxe 28x1 must be capable of making another virtual serial ports. You need to make it have one serial input, and two serial outputs...

    Another possibility is to use one pixaxe to receive the serial data, mix in it the x/y in frex style, and sent the left leg data to another pixaxe thru I2C and then this left leg picaxe will sent over its serial port the data to your left leg motor controller. Same thing applies to the right leg picaxe... More complicate but solves the limited serial port issues.

    Pot trims for the manual limit of the travel is not needed... You can do all the limit setting in software (profiler).

    Anyway here is the code I use to mix the two x/y uncoupled motion axis into coupled frex-style motion! :Einstein:
    Code:
    -------variables-------
    Pin.1 '(input switch)
    Pin.2 '(input switch)
    Pitch variable byte  ' uncoupled y input
    Bank variable byte   ' uncoupled x input
    Legx variable Integer   ' temp calculation variable for x leg
    Legy variable Integer   ' temp calculation variable for y leg
    OutLegx variable Integer   ' coupled leg x output
    OutLegy variable Integer   ' coupled leg y output
    
    ------Code snippet:------
    
    If pin.1 = 0 Then                                             'switch that enables the motion coupling
       If Pin.2 = 1 Then                                          'switch that swaps the motion coupling per leg
          Legx = 127 - Pitch                                      'normal mode: x=left leg, y=right leg
          Legy = 127 - Bank
       Elseif Pin.2 = 0 Then
          Legx = 127 - Bank                                       'swapped mode: x=right leg, y=left leg
          Legy = 127 - Pitch
       End If
    OutLegy = 255 - Legy
    OutLegy = OutLegy - Legx
    OutLegx = 255 - Legy
    OutLegx = OutLegx + Legx
    End If


    Regards, Thanos :cheers:
  20. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0