RC servo motor force feedback

hey group!

if I program RC servo motors from an Arduino to a position on the servo, can I then read force/load feedback from the servo to the Arduino, and if I am not happy with the amount of force/load the servo is under I could reduce it or increase it?

note I understand I can have force sensors in addition, but I wanted to keep it simple and see if the servo itself can be used for force detection using its own positional encoders.

E.g, Although this is not the intended use/project to try and explain:

if I had a robot claw picking up an egg, I would want the claw to close on the egg to a set force otherwise it would break the egg... so I guess when the claw is open it has a zero force and then as it grips I would want the force to feedback, say in grams??
and if I set say a 3-gram force it would stop at 3 grams but the Arduino would monitor the 3-gram setting and if the force decreases the Arduino will apply a movement until the required force is reached.

No, not without extra hardware

1 Like

In terms of that extra hardware:
a tiny shunt resistor (100s of milliohms or 10s of milliOhms) on the power wire of the servo can have an op amp taking voltage "readings" at either side of the shunt. The op amp amplifies the voltage difference across the shunt and outputs this voltage relative to a different ground level (your overall circuit ground rather than the bottom end of the shunt), this op amp produced voltage can then be fed to an arduino analogue input pin (so long as you safety limit it to 5V max in cases where you have a >5V power rail for the servos and your arduino is a 5V one). The voltage at that analogue pin will be linearly related to the current in the servo unit, and the curent the servo unit draws will be linearly related to the torque it is providing at a given moment. I say "linear" not "proportional" as the line might not pass through the 0,0 point when plotted on a graph, due to the tiny current drawn by the servo's control electronics, and the amount of torque needed to overcome the servo's gearbox's mechanical friction, but you can calibrate for this.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.