I want to build aplication where I will provide defined force with linear actuator. DC motor is going to be stalled most of the time and and controlled torque should be applied. So at the actuator shaft I would like to then to have controlled force. If I apply bigger opposite force on shaft it should go down, if smaller then it should move forward to the end... this application is analog: LINK

At the end I want to connect force sensor into closed loop and control it with PID.

So...my question is how to make cuircuit (I want to use arduino) that would be able to do it. On internet I was able to find a lot of examples how to control linear actuators or DC motor, but 99% of it is about speed control, position control...but about torque control in stalled state I didnt find actually nothing...

Is it possible to make it with basic linear actuator at all or I need some other actuator? Can I use normal motor drivers, or even simpler configuration with N-Mosfet + PWM signal....?

Any comment, suggestion on this topic?

Regards, Damir

Addition to topic:

Parts I have are following:

  • Linear Actuator (12V, 150kg)

  • Monstermoto Motorshield

  • 12V 10A Power Supply

  • Loadcell 100kg

  • Arduino UNO

There is another video that show exaclty how I want my sistem to function:LINK 0:30

I red on internet that many actuators have have some continuous stall torque or force...which is approx. 1/3 to 1/10 of Max. torque or force.

So, are my parts usefull for something :) ???

What you suggest to improve? Its just amateur hoby project, so Im trying to stay with low costs...

If I hook load cell feedback back to arduino, and then PID loop will control PWM output to motor driver of actuator...will it work?

Tnx for comments and answears.


  • \$\begingroup\$ How about a link to an actuator i.e. a data sheet of one that you might consider? Also a link to the force sensor. \$\endgroup\$
    – Andy aka
    Dec 20, 2015 at 10:47

2 Answers 2


The positioning control (real industrial stuf) is done in cascade with multiple controllers: Position controller (P-regulator), Speed controller (PI-regulator), current controller (PI-regulator).
When you ommit certain stages, the control gets worse. For example if you don't have current transducer, you can control the motor directly from speed controller, that would be voltage control. If the load wants to move the motor at standstill, the PI regulator "will find" such voltage that, will feed such current into the motor, that will produce such torque at shaft, that will put the motor back to standstill.
If you have a current transducer, then you can make two PI-regultors. First is speed control which gives the setpoint to second one PI-reg. the current controller. Now the output of current controller has to control PWM and measures a current feedback with the current transducer. With extra current feedback the overall dynamics will be faster compared to previous method without transducer.
So the rough conclusion is: the torque control is actualy the current control of the motor.

  • \$\begingroup\$ Hi Marko, position and speed of actuator are for me irrelevant... I just need to control force, so I dont understand how can I inplement first two stages...and something more with motor driver (like simple motor shield for arduino) are we controling voltage or current in motor...or both? (I dont have electromechanic background :) ) \$\endgroup\$
    – Dado87
    Dec 21, 2015 at 22:44
  • 1
    \$\begingroup\$ You said you have experence with stalled motor situations... everyone is saying about short life time of DC actuator if it is used in stalled situation...what means it? Lets say if I stall my chip actuator (that has max force of 150kg) at 50kg for 3x15min,with break of 15min...would it last 1 day or 1 month...just to have feeling :) There are many tensile machines have tons of force and their life expectancy is...for ever :) testresources.net/test-machines/174-family What kind of motor are they using? \$\endgroup\$
    – Dado87
    Dec 21, 2015 at 22:44
  • \$\begingroup\$ @Dado87 I don't know what actuators use linked machine, but there are still a lot of old CNC machines that use DC motors, ineed the Z axis is held in position with EMF force. Newer machines however use AC servomotors (BLDC or PMSM) that heat only the stator and it's easier to cool them. \$\endgroup\$ Dec 22, 2015 at 12:24
  • \$\begingroup\$ @Dado87 For controlling the force, you need to control the current. Arduino motor shield is a open loop voltage source, you set the voltage with duty cycle ratio, no feedback. If you have an additional current transducer then you can turn this voltage source into a current source, you measure the current and then calculate the PWM DT trough a PI controller and set the PWM. Now when you will have the current control you are able to control the torque, but if the motor is unloaded it will spin to max revs. since you don't palan to have a speed control. \$\endgroup\$ Dec 22, 2015 at 12:35

To do what your looking for requires two things.

First, is you need some type of force feedback like a load cell. With out it you will just be guessing how much force your actually applying.

Second, you need to use a motor that can tolerate being stalled for a long time like a brushless DC motor or a stepper motor. If your using a brushed motor then you run the possibility to burn it up.

  • \$\begingroup\$ 1st, you don't need any force feedback, I have done many industry control servos, torque==current. 2nd brushless DC or stepper have nothing special compared to brushed DC, therefore a brushed DC can work the same, all older servo motors were brush type, the probabilty to burn it is the same for BLDC. \$\endgroup\$ Dec 20, 2015 at 19:14

Your Answer

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

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