Do stepper motors retain position if they are forcefully moved?

I am encountering too many issues with some of the built-in encoders that have come with a worm-geared motors, and I'm considering other options. I am thinking of using a stepper motor for use of a smart-curtain project.

The downside to using servos is that they have less torque and they can be moved with physical force. If I had a guest over for example and they moved the blinds without knowing they are attached to a motor, would it become un-calibrated or would the motor remember which position it was turned to?

aspen1135:
would the motor remember which position it was turned to?

No. Stepper motors are open loop. They have no feedback mechanism to know their position. You have to add that separately. This is often done using an endstop, a switch that is closed when the linear motion mechanism reaches the furthest extent of its travel. Once that switch is closed, the system is "homed" in that you know its absolute position. After homing, you assume steps result in motion relative to that endstop, but there is no feedback to tell you whether that is the true position, or whether the stepper missed steps, was moved by your guest, etc.

The other benefit of endstops is they can be used to limit the travel of the mechanism to a safe extent should the position not be what the program expects.

You could also use an encoder to get feedback on the actual rotation of the stepper.

But you could use a potentiometer + gear to get the absolute position - with or without stepper.

aspen1135:
I am encountering too many issues with some of the built-in encoders that have come with a worm-geared motors, and I'm considering other options.

I suspect it will be possible to overcome those problems

But the question of external movement is a separate issue. If you have a worm drive then that will probably prevent external movement. And a worm drive could also be used with a stepper motor.

...R

some working in aerospace said they attached encoders to stepper motors to monitor their position.

gcjr:
some working in aerospace said they attached encoders to stepper motors to monitor their position.

That is certainly an option. However unless you use an expensive absolute-position encoder you will not know if the motor is moved when the Arduino is turned off.

...R

aspen1135:
I am encountering too many issues with some of the built-in encoders that have come with a worm-geared motors, and I'm considering other options. I am thinking of using a stepper motor for use of a smart-curtain project.

The downside to using servos is that they have less torque and they can be moved with physical force. If I had a guest over for example and they moved the blinds without knowing they are attached to a motor, would it become un-calibrated or would the motor remember which position it was turned to?

Servos are closed loop and recover from physical override - however cheap ones are not rated for being stalled for more than brief periods. Servos can have any amount of torque if you purchase the right one - servo or servomotor.

You can construct your own servo by using a motor and encoder and PID-loop feedback. For absolute positioning an absolute encoder is required though.

Robin2:
That is certainly an option. However unless you use an expensive absolute-position encoder you will not know if the motor is moved when the Arduino is turned off.

...R

do you know the position of a stepper after you've lost state (power)?

they used a stepper to control the dial on an aircraft instrument and used the encoder to verify the position during operation. i assume they swept across a calibration point to locate zero.

gcjr:
do you know the position of a stepper after you've lost state (power)?

they used a stepper to control the dial on an aircraft instrument and used the encoder to verify the position during operation. i assume they swept across a calibration point to locate zero.

No encoder. Watch the instrument when power is applied. First thing is to find the stop at the far end of travel. Then backup the number of steps needed to get to zero.

Paul

gcjr:
they used a stepper to control the dial on an aircraft instrument

The way the tiny little motors are used for instruments is not typical of bigger motors. The design allows them to be safely driven against their end-stops (and they have end-stops) as a means to establish their HOME position.

...R