It is essential for my project that I can tell if an arm has run into something, or if it’s trying to pick up something heavy or something light. The way I thought I would be able to do this was to send a command to the ssc-32 and have it report the effort each of the servos was exerting at a given moment.
This is THE essential function for my project. So please no ‘you can’t do that’ answers. I’m perfectly willing to buy additional components to make this happen.
He already has the AL5D so lets try to hep him with what he has.
The easiest way to accomplish this would be to make a current monitor for each servos power line. The current goes up as the amount of work the servo is doing increases. The general idea with this is to use a low value resistor, say .1 ohms in series with each servos power lead. You then measure the voltage across this resistor, amplify it to get a better range. Do a little math, and viola.
Doing a small amount of work a servo may draw 50mA. Current x resistance = voltage.
0.050 x 0.10 = 0.005v or 5mv
Doing a large amount of work a servo may draw 1 amp.
1.000 x 0.10 = 0.100v or 100mv
So if you use an op amp with a gain of 50 you would see from .25vdc to 5vdc as the range. This cab be applied to an A to D to get the values into your system. Once that is done you can use these values to determine of the servos are trying to go to an unobtainable position. If you find the current is larger when doing a lot of work you can lower the gain of the amp, or use an even lower value for the resistor.