I am trying to identify a motor-driven system that can produce a constant linear force in one direction.

The context for this is an injection device that compresses the plunger of a syringe (similar setup to this open source syringe pump). The actuation (injection) needs to be performed at a precise and repeatable force. I'm not trying to control for the speed of the linear motion, only the force driving it. The linear force then determines the speed (flow rate) of the injection based on the fluid dynamics of the drug solution. For example, at a constant linear force, a higher viscosity drug will be injected at a slower rate than a lower viscosity drug.

I would like to be able to generate different linear forces from a single motor in order to achieve different injection speeds. I know a stepper motor can not achieve this as it only operates at maximum torque. Can a servo motor achieve this?

Also, is it possible to accurately set the force output (e.g. program one = 4 N ; program two = 10 N)?

  • \$\begingroup\$ I believe infusion equipment usually uses peristaltic pumps. These are a positive displacement design and are very accurate. The solution does not come into contact with the pump internals because the pump acts directly on the infusion line. No need to re-invent the wheel. I think your idea of relying on back pressure is unworkable if you want accurate flow rates. For example, is the viscosity of a solution dependent on temperature? \$\endgroup\$
    – user57037
    Feb 8, 2015 at 17:22
  • \$\begingroup\$ Sure, there are all kinds of linear actuators or motor/gear systems that can do this. Depending on the accuracy you need you can just control the current to the motor (which is proportional to torque or linear force) or you can use a force transducer in a control loop to get very precise control. (Though a peristaltic pump as mentioned by @mkeith sounds like it might be a better idea.) \$\endgroup\$
    – John D
    Feb 8, 2015 at 17:23
  • \$\begingroup\$ @JohnD by force transducer in a control loop do you mean a servo system (DC motor with PID controller)? \$\endgroup\$
    – APD
    Feb 9, 2015 at 0:17
  • \$\begingroup\$ @mkeith the viscosity does depend on temperature. The displacement program will run at a specific temperature signaled using a thermal sensor in contact with the primary container (syringe). Why do you believe a closed-loop servo system will not be able to achieve the precise and repeatable force output? \$\endgroup\$
    – APD
    Feb 9, 2015 at 0:29
  • \$\begingroup\$ I think you can achieve precise and repeatable force. I am concerned that you are doing this the hard way for no good reason. You are building a system that, in order to deliver the correct flow, needs to know the viscosity and temperature of the fluid being injected. But it would be possible using positive displacement scheme of some sort to make a system where temp and viscosity do not matter. \$\endgroup\$
    – user57037
    Feb 9, 2015 at 3:36

1 Answer 1


You can use a position-based linear actuator like a stepper and a screw thread.
Whether it's a stepper or a servo, it will probably act as a position-control device, that's what linear actuators do.

1) If you want to control the force, measure the force with a force sensor (load cell).

2) Make a control loop to control the force by changing the position of the actuator.

3) Because the linear actuator will move fast and the pressure/ force will rise suddenly with a small movement, put a spring in series with the actuator and load cell.

The spring will make the system "soft" otherwise you'll get big pressure variations as the actuator starts to move. Here's a graph.
enter image description here

Without a spring the position-force graph is zero, until the actuator hits the back of the syringe, and then rise very fast. With the spring there will be a linear region, the length the spring, before the force steps to infinity.

In the linear region, force will be roughly proportional to position, with an increasing offset as the fluid drains away.

The length of the spring required depends on the speed and accuracy of the control loop. Also, too long will make it hard for the stepper to unload the spring if the flow conditions change, for example.

The spring also gives you an easy way to measure force - just measure the compression of the spring. A load cell does this too, but with a very very stiff spring so it doesn't flex too much.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.