Servo to feel hindrance

Hi Everyone!
I'm trying to design a system where I can push a two stage piston with a servo. This piston is pushed manually to the first stage until a hindrance is reached. After feeling this hindrance we can push to stage 2. I want to use a servo motor to automatize this process. The question is how can I use the servo to "feel" the hindrance? (analogRead())
I leave this image to exemplify what is the mechanism and the intention:


Thank you so much in advance! :wink:

You could maybe sense the extra current drawn as the servo's motor stalls.

Or strips the internal gears.

The bit on the diagram that says SERVER - should that be Servo?

Yes "Servo". It's a typo

Could you enlighten me how to do it?

Due to the gearing on a servo (worm gear) you will not be able to push it down by hand.

Have a low value resistor in the ground to servo negative wire, and measure the voltage across this resistor.

My suggestion was mostly tongue-in-cheek, but I don't think I've ever come across a worm gear in a common servo, just simple pinion reduction gearing.

Could you provide a simple schematics of what would that be please? Just the voltage reader.

The voltage read is an analogue input pin.

Don't forget that the motor will draw stall current as it starts to move, so your software needs to take this into account

This seems very reminiscent of another recent thread: https://forum.arduino.cc/t/torque-control-servo-or-stepper-motor/927491

Are they related?

Just as simple as this? Any suggestion for the resistor?
image

When you know the motor current, then you can compute the resistor value.
Paul

Nope. Just coincidence!

No they are NOT related.