Stop servos?

ChrisKitching

New Member
Hey there, i'm currently working on a project that involves the use of servos. Now, obviously i can use the BASIC prorammer to command servos to move by using the servo command, but is there any way to tell the servos to stop, if they get jammed, for example. So i want to be able to send a servo command to my servo, wait one second, than make it stop wherever it happens to have got to at this point, WITHOUT invoking sleep and thus suspending program execution.
Is this possible?

PS: It's not possible, without significant circuit board modification and the use of a bigger pic chip (as the 18-A doesn't have enough pins for it, along with all my other outputs), to allow the schip to control the servo's power supply.

Thanks!
 

Technical

Technical Support
Staff member
A 'low' command on that output pin will stop the pulses. But the servo will then go 'floppy' as it is no longer getting positioning pulses and could move to any position.
 

ChrisKitching

New Member
Interesting, when i tried that previously it had no apparent effect upon the servo, it just continued trying to move to where it had previously been told to go. I take it there's no servo stop command or such?
Just a thought, could i make use of some sort of sensor? Does, for example, the impedence of the servo increase when it jams, which could perhaps be detected?
 
Last edited:

BeanieBots

Moderator
Sending a low does effectively kill the power. As pointed out by Technical, the servo will go "floppy". That is, there is no longer any drive.
If you want to detect a stall or similar overload, the easiest way would be to monitor the current drawn. Be aware though that the dynamic start/stop current would be comparable to stall current so you would need a certain amount of delay. The best thing of course is never to send a command which can drive it into the end stops! (they don't like it).
 
Top