We're using a stepper motor to control a knob on a piece of audio equipment. The stepper is coupled to the potentiometer shaft with a simple coupler.

Right now, in order to get to "zero" on the potentiometer, we "crank" the stepper motor -3600 steps (about one full rotation).

This creates unnecessary torque on the pot. I'm looking for a hardware solution to avoid this. Here are a few ideas I had:

  • Some sort of zero detection - Know when the knob gets to 0 and stop the stepper from turning when it reaches that point.
  • A coupler that can detect excessive force on the shaft. Basically some sort of spring loaded coupler that will "click" when the rotation gets to "zero" and close a circuit.

Also open to other ideas...

We're currently using Arduinos with Firmata firmware connected to Node.JS, but this is mostly a hardware issue.

  • $\begingroup$ Welcome to Robotics, drj. Open-ended design questions are off-topic because there are generally a very large number of approaches that are possible of solving a given problem. That said, I think the easiest approach to solve your problem would be to just read the value of the potentiometer. You could do this in about one line - while(pot>threshold) stepper--;. If there's some other problem you're having, please edit your question to reflect that. If you'd like to discuss your design options, please join us in Robotics Chat. $\endgroup$
    – Chuck
    Commented Jun 19, 2017 at 17:27
  • $\begingroup$ This question essentially asks how to detect a stall. For future reference, mentioning more detail of what motors you are using, what stepper motor control boards you are using, etc. would make it easier to solve your problem. $\endgroup$
    – Mark Booth
    Commented Jun 20, 2017 at 13:56


Browse other questions tagged or ask your own question.