A friend and I are working on making an electric linear actuator to potentially sell for hobbyist use. Our design effort was inspired by the lack of small, low cost linear actuators available on the market. While we know we will not be producing actuators that are as good as what we have found, namely the [Firgelli L12 series linear servos, we are confident we could keep good quality while having a significantly lower price than the L12. We have built 2 prototypes so far; the most recent one fully extended is shown in the picture below:
Stalls at greater than 10 lbs of force. Such high forces are not recommended because we did not use any real bearings to keep costs low and ease of manufacturing high.
predicted price: $25 - $30
Control Electronics: None for this model, but we are working on making it a linear servo.
So a couple of questions:
Are there products in this price and size range already out there that we just have not found?
Does anyone have a use for such a linear actuator or know someone who might, and would want to buy one?
What sort of built-in control electronics would be most useful? (such as limit switches or standard servo control)
And of course any other comments or suggestions would be welcome.
I would be interested in a few of them. I have researched some actuators but mainly pneumatic due to most of my robot’s limbs are all pneumatic. But I would be interested in electrical because of price. What I would look for is precision control and ease of use. Precise control would be as simple, like hall sensors to keep track of motion or even magnetic. Ease of use would include a common mounting system. Example would be common rod clevises on the ends. You wouldn’t need to include them in the package, but have a way to utilize them. The hole on the right end of the plastic housing would be good as it can be mounted using numerous methods.
Looks like the plastic was made from a 3D printer?
We now have one of our prototypes working with servo control. It uses a reflective infrared photo interrupter and an ATTiny25 to count lead screw revolutions, and can be controlled just like any normal rotational servo motor with PWM. Because the revolution count is only accurate to 1 revolution and we are using a 6-32 thread, the linear actuator has a 1/32 inch positioning resolution.
codlink:
What I would look for is precision control and ease of use.
Would this be considered precision control and good ease of use (electrically)?
codlink:
like hall sensors to keep track of motion or even magnetic
I considered using a hall effect sensor, but I was worried that the output from a hall sensor would vary too much over the length of travel - that is to say, there would be a very strong reading at one end of travel and a very weak reading at the other end and would be non-linear in between.
As for mechanical ease of use, is there any diameter hole that would be most useful for mounting? maybe just a small hole, as it would be easy to drill it out to a larger diameter?
I don’t see why 1/32 resolution would be a problem, as this is only intended for hobbyist use. You could use a pot on one end of the screw to keep track of where it’s at. Obviously it would have to be multi-rotational and you could create a simple algorithm to determine the distance.
I agree that the holes could be small, like M3 at the least. You could make the hole smaller or larger depending on the size of the actuator.
First, I’d be amazed if you can sell it for the price you want to and make money unless you’re doing this in huge quantities. Assembly labor costs increase faster than you’d think.
Second, design it to use off the shelf R/C hardware as much as possible since that’s what most of your users will likely have. So any holes should be sized for RC ball joints or clevises. Most hobbyists won’t have much in the way of equipment (I’m always amazed at how many people are trying to build stuff but can’t even drill a hole), so don’t expect them to make modifications.
Third, look at [this thread and ask if your actuator could do the job. Right there you have a potential customer and a real problem he’s facing. That could be a target to work towards.
I agree with Lyndon. Have this compatible with R/C equipment. But, from my perspective, I don’t have a lot of R/C stuff. Yes, I have an R/C truck and battery charger, but that’s about it. I do have a 3D printer so I could make any kind of clevises I need or any mounting brackets. I am fluent in Solidworks so I could get away with not having R/C related parts.
[Here is a video of a linear actuator with a control circuit. Unfortunately, the actuator in the first picture broke during testing (at a designed in weak point that will be changed, don’t worry) so there is no video of that one working.
Lydon and Codlink, I think you are right that compatibility with R/C would be best. However, I do not know what might be commonly used with linear actuators in R/C, so if you have any quick links to product pages that would be nice. Otherwise, I can look around.
Does anyone know where to get 100 turn potentiometers? I can get 25 turn pots from Newark electronics real cheap, but that’s not enough for the 96 turns in 3 inches of travel. And I don’t want to have more gearing after the gear motor, as I suspect that would greatly increase assembly labor as Lyndon mentioned.](https://www.youtube.com/watch?v=8AlbMi8MVz4&feature=youtu.be)
Why use a pot at all ? If you’re packaging the control circuit w/the actuator to yield a linear hobby servo, why not advertise the resolution to be whatever 1 turn gets you in linear travel and just count the turns w/an optical sensor ? Once zero’d at “the factory”, there’s little chance of losing a pulse and thus position tracking … though I suppose you could always have an in-field re-zeroing procedure.
What I have now is pretty much what you suggest, Mee_n_Mac. One problem I foresee with it is that someone cuts power to the device while the motor is running, and the motor runs past a count with inertia but the processor doesn’t register it because power has just been cut. Also, compared to what I have now, a pot would also be much more electrically simple - right now I have a voltage regulator to keep the sensor dc level constant over different supply voltages, because it is reflective, and detects a flat on the motor shaft. Are you thinking of a beam-break optical sensor?
To be truthful I didn’t have a specific technology in mind, though I’d have leaned the way you’ve gone. Pretty simple to increase the resolution by added more surfaces and thus more pulses per revolution. On the idea of a “cheap” pot … be careful as your accuracy is now the accuracy of the pot and it’s reading. I wouldn’t trade a cheap pot for decreased accuracy.
Re: loss of power … I don’t know what more to do than separate the counter circuitry PS vs motor’s and use LV circuitry w/as much holdup capacitance as you need for the former. I guess a good “trick” would be to brake the motor as immediately upon loss of power as it can be detected/confirmed and thus decrease the holdup time needed.
Okay, I have a partial solution to keeping track of revolutions after power is cut. When the power is cut and the motor is still spinning, the motor will act as a generator and will provide power for a brief period of time - and the faster the motor was spinning in the first place, the longer it will supply power, and will only stop providing sufficient voltage when it has dipped below a certain speed. I tested this out a little with a 330 ohm load (to simulate the control circuitry), and from running the motor at 3.5v there was perhaps 0.1 second after power was cut that the motor could generate power at a voltage above 2.7 (the advertised minimum for the attiny). Not much, and not perfect, but maybe enough to catch the majority of overtime counts? And I think no changes to the circuit would be necessary. If the motor was spinning, the transistors driving it would already be switched in the right configuration. Unless the transistors aren’t good for a little bit of reverse current, but I think they should be.
So the problem partially solves itself. Or am I off my rocker?
And of course additional testing is needed, and a capacitor with a diode would be good anyway.
I would test this until I couldn’t bear to look at it any longer. I don’t see how a motor generating power to the wrong pins would power anything without damaging something. But, I don’t know how you have it wired…
We really do need something like this. Just look at the seriously cool things people have done with “standard” servos, in large part because they are cheap, easy to use, and standardized/ubiquitous. You see a lot of humanoid robots thrown together from standard servos, but if we had a standard linear servo, the resulting robots could be that much more human(oid). Not to mention the gazillion other applications that lend themselves to this (automatic doors, very cheap CNC/3D printing, hobby pick and place machine, etc).
I actually stumbled upon your post because I was thinking the same thing and started to do a mechanical design. You’ve received some good feedback already; here’s what I would add:
Yes, use optical transceivers/interrupters, not a pot. By the way, one optical sensor (pair) only gives you rotation information, not direction. A quadrature encoder (two optical sensor pairs) is needed for both rotation and direction. You don’t know the (mechanical) load the user will have, so you can’t assume things always move in the direction you intend. (Wiring these to counter pins is usually best … let the AVR HW work for you, SW polling is evil and wrong).
As for missing counts from power loss: Even if you do everything right as power is lost, the user may move things with the power off. So without an “absolute position encoder”, you can’t know where things are when you power on (with absolute certainty). Some people use a “home switch”, but that unfortunately requires a mechanical home movement on start up.
A resolution of 1/32" might be okay for many applications, but it shouldn’t be that hard to do significantly better. “Just” put the quad encoder on a faster gear/closer to the motor.
Calibrate out the lash with software. There is lash/slop from at least three places I see (main shaft linear slop, shaft thread lash, and gear lash), but it should be easy to measure the total lash/slop and cal it out in SW.
Measure motor current. Super easy to do and it will tell you fairly accurately how much force you are applying to the load.
Yes, I agree a simple PWM interface will be convenient for a lot of potential users … BUT, it would be nice to have an option of a “true” digital communication interface. “Just” include a switch or jumper to select between PWM and one-wire digital com. With PWM, I may only be ~ +/-5% accurate with the signal I feed your actuator, then you have error on your end too – no thanks. I would want to program a fairly exact position. I think a resolution of about 0.005" expands the potential applications to CNC/3D printing. You could even program an over-current level (if using true digital com) so the user can be “gentle” (H-bridge control on AVR OCR/PWM pins). You could even program velocity/acceleration … I want my robot to move that glass of water without spilling a drop. Not to mention the valuable information you could get back (motor current/torque/force, motor voltage, current position/velocity/acceleration, etc).
Atmel has 32-bit AVRs now, still easy to use, but much more powerful. What ever you use, check the timer/counter/PWM details. These vary in performance widely among different uCs, and will probably be important in your application (input capture/counter for encoders, PWM for motor, etc).
How about a target price of 20USD? Seems doable … we want these to be ubiquitous/standard, right? I know I want a few already!
Just some suggestions, sorry if they come off as “this is the right way to do it”; I think you have a great project and I hope you see it through.