Hi,
I want to make a threaded rod actuator driven by a stepper motor.
I think, it's qite a simple task but...
Since i want to keep it as simple as possible i want to avoid using any linear encoder and rather just count the steps of the motor from a default position. When the Arduino is started or reset, the actuator should roll back to one of its ends and when it can't move further it resets the step count and that would be the dafault position or position 0. The question is:
Is it possible to detect a stepper motor stall just with a stepper motor controller?
It depends on the controller. Without an encoder you will need to sense either motor current or back-emf to discriminate between normal motion and a stalled motor. Some motor drivers will provide a current feedback to the controller but most don't. If they measure current at all it is just used internally in the controller for maintaining a current set point.
Have you considered using a limit switch? I know you said you wan't to keep it as simple as possible, but frankly it doesn't get much simpler than a limit switch.
--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
Hi guys, sorry to butt in on the conversation but i am looking to do almost the same thing but just with a standard 12v Dc motor, been trying to find out how i might be able to sense the current so that we can work out when the motor is stalled or stopped. Any ideas on circuits or pointers as to where i might get some ideas would be greatly appreciated.
Thanks ... Kevin.
Besides simplicity the main reason to avoid using an encoder or sensor is to spare cables. The controller should be in remote distance of several meters from the motor and i want to use some standard 4-lead cable for connection. The current sensor seems like a solution for this but i guess that the resistance of the cable should be taken in to account too. On which connections on a 4-lead bipolar motor should be the current tested?
p.s. I should have mentioned, that i'm a complete newbie in electronics
Ultimately you can't detect step errors for a stepper motor - it is possible to slowly force it to turn when the controller is trying to hold it stationary - if forced slowly enough you can't detect the induced EMF and since its a static situation the current will simply be constant. Basically you need to ensure the motor's torque is sufficient for your setup or else use an encoder.
peterhudec: Is it possible to detect a stepper motor stall just with a stepper motor controller?
Not with any old stepper driver, but there are drivers with built in stall detection such as thishttps://www.sparkfun.com/products/11611 This driver works via SPI and has a built in stall detection which is communicated through a flag pin.
I don't know if it's sensitive enough for your purpose though.
Stall (pull-out) detection in stepper motors is very complex and only controllers with DSP
based control systems have a hope of doing this - they will also be doing clever
things like damping resonance electronically too.
A cheap encoder will be much easier to afford I think.