I have been told that its possible to find a dc motor driver that does the normal speed and direction control, but also measure the load, and when the load gets too high (indicating that there is something WRONG or that the job has reached the end) it automatically stops and signals it on a pin.
If you don’t want to spin up your own custom motor controller, almost all industrial motor control modules have an overcurrent protection function. You can program in the max current you want the controller to provide (current out of the controller is proportional to torque delivered by the motor) and the controller won’t go higher than that. You can usually program a GPIOpin on the controller to set when the current limit is reached. I’ve used Elmo controllers for a long time and am really happy with their ease of use and performance but they are pretty expensive Servo Drive Gold Family - Elmo . A less expensive option that probably has this capability (I don’t know for sure, I haven’t used this device myself) is http://www.allmotion.com/index.htm
@ Gene - I need to sense when an attached lead screw reaches the end of movement. It’s done now with a microswitch. But I am considering a simplification.
@ njbuch - I don’t know how price sensitive your application is, but I can recommend Adfruit’s [url]https://www.adafruit.com/products/904[/url] current sensor. That way you can use any motor and any driver and just sense the current separately.
@ njbuch - Obviously I don’t know very much about your application but just want to make sure that you know the board you’re looking at doesn’t actually control motor speed unless the torque seen by your motor is always the same. For a given input signal, the motor speed will be a function of the torque the load and all the motion control elements apply to the motor. If the load torque changes, like if the friction on the load screw changes due to lubrication changes, the motor speed will change. If you really do need to control speed, you’ll need a speed sensor (encoder, tachometer, etc.) and a control loop. Since I’m more concerned about minimizing development time on my own projects, I tend to use full blown motor controller modules. If you’re worrying about cost in a high volume application, spinning up your own controller makes sense.
Also, if you’re hoping to turn the motor off when the carriage hits the end stop, you need to sense the current and turn the motor off very quickly or you’ll start blowing stuff up. That’s why a current limit function built into your motor driver or motor controller is generally the way to go and typically only used for error conditions, like when the limit switch most systems use fails.
@ Gene - Thanks for giving this challenge so much careful attention.
Its about stopping the motor as soon as the load becomes too high, and then stopping it. I dont think it makes sense to make a current monitoring application for this…