Mechanics and Construction > Mechanics and Construction

Building a piston.


Hi Everyone:

First time building something like this.  As small as possible, I want to set up a simple piston....a stationary, electric, battery-powered motor, attached to a gear that will move a piston around 6 cm, at between 60 and 85 rpm.  Should I use a motor, or a 360 degree servo?  I also want to vary the speed, within the range stated.  I found some gear boxes that can be purchased (ex., but I don't know how gear ratios convert to rpm, and not sure what load they can handle.  Not sure about the load yet that the piston will carry...can the batteries used help compensate if the rpms required aren't achieved? 

I imagined a wheel around 6.5 cm in diameter, connected to the motor, with the piston connected at the outside edge of the wheel.  Ideally, the gears will be as in the link I gave above, where the wheel is parallel to the motor.

Thank you.


A gearbox is a simple divider/multiplier. If your motor runs normally at 4,000 RPM, and the gearbox has a ratio of 50:1, then the gearbox output will run at 4,000/50 == 80 RPM. Similarly, if the normal torque of the motor is 2.1 ozin, with a 50:1 gear box ratio, the output shaft torque will be 50x2.1 == 105 ozin.

A gearbox will be rated for a certain RPM and a certain amount of torque. You should be able to calculate what your motor will yield pretty easily from the data sheet. Also, a good gear box will lose you about 5% of your power / RPM / torque. A crappy gearbox might lose you up to 20%. And, the motor RPM is often "no load" RPM, which will go down significantly once it's loaded. Good motors also have a "RPM at torque" rating that shows the ration between different loads and RPMs. Similarly, the torque data for a motor is often the "stall torque," which is the load over which a motor will stop spinning altogether. Trying to stay close to the stall torque for more than a very short while is likely to overheat the motor.

Finally, yes, you can use a higher voltage battery (make sure it can generate all the amperes that the motor draws.) This will significantly shorten the lifespan of the motor, by something like halving it for each volt of overvoltage. You can compensate by using a PWM duty cycle, because the thing that actually wears out a motor is the current flowing through it, and PWM will 'average out' the current.

Finally, to control the RPM, you'll want to use an encoder of some sort. Typically, a quadrature encoder is good enough; it will give you the speed of the shaft it's attached to, and you can use this to vary the PWM duty cycle to hit the RPM you're interested in.

Thanks jwatte.  I keep seeing postings on using a potentiometer to control motor speed.  Is a quadrature encoder better to use?

Instead of complicating things by adding a PWM, it sounds like it would be better to use a battery source that matches the motor (3V for example), and making sure the motor can handle the load, which will give the rpm for the gear ratios  chosen (allowing for the 5-20% reduction you mentioned).  Which means I need to figure out the load.  Any standard way to do this?  I want the piston to pull on something and then release, over and over.  Can I purchase a tool that I can attach to the something and have it show me what force was needed to obtain the pull?  Sort of like a scale to measure weight, but something that is very sensitive, as the force required isn't too great.

Thank you for the detailed help, it's greatly appreciated. 



--- Quote ---I keep seeing postings on using a potentiometer to control motor speed.  Is a quadrature encoder better to use?
--- End quote ---

A potentiometer will give you the position of a shaft over its measuring range (between 180 and 300 degrees depending on type) and then give you nothing when the shaft is in the dead zone. You can use this information to approximate the speed, but it's not as good for spead measurement as a quadrature encoder.

If this is a case where you can "adjust by feel," then you do not necessarily need feedback. A battery without PWM control and feedback is a poor choice, though, because the battery voltage will drop as it discharges. Thus, the motor will run too fast in the beginning, and too slow at the end. A better option might be to put a switching DC DC converter in the middle with an adjustable output voltage. Put a battery on the input -- the DC DC controller will turn that into a fixed voltage. Now, adjust that voltage to match the speed you want. This will run evenly until the battery runs out of charge.

Pololu makes some nice adjustable DC DC converters, such as: ($15, 3.5A, only partially adjustable) ($6, 1A, fully adjustable)


[0] Message Index

Go to full version