USA
Asked — Edited

Gripper Stall Detection

I'm looking for a method to stop the gripper servo when holding an object.

User-inserted image

User-inserted image

User-inserted image

I tried a few options:

  1. Servo potentiometer analog read

The values are noisy, and needs constant calibration, requires short delays between the readings (flood issue?)

  1. Force sensor analog read (picture)

The values are noisy and depends on the touching surface.

  1. Tactile button/pad digital read (picture)

similar to a bumper switch (picture) seems more simple to detect (digital signal) but so far nothing small to fit the gripper.

Any suggestions ?


ARC Pro

Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

#1  

Try to install a small micro switch in the gripper. You could use 2 switches,one on each side of claw.

PRO
USA
#2  

something like these:

User-inserted image

they are small, and they only work with a strong pressure.

plus i will a need a bunch of them to cover the touching area.

PRO
United Kingdom
#3  

On the ALTAIR robots, I use precise current sensing of the motor to determine grasping an object and how much pressure to hold it with. This uses an opamp and a low value motor feed in-line (precision) resistor, the hold pressures can be 1 (light grasp) to 10 (full grasp) these components can be seen in the photo below.

User-inserted image

This is the same pcb as my SMART servo board just with different firmware. One thing you have to bear in mind is the start inrush current of the motor (start current spike) this must be ignored by the processor.

There is a very simple way to do this but it is only simply digital with one grasp pressure, but you would not need to add any switches, potentiometers, force sensors etc to the claws.

Take a reed switch then wind a coil around the glass envelope, the winding turns have to be found by trial and error - now the coil is wired in series with the claw motor. When a stall occurs (object grasp) current to the motor will increase significantly which will increase the EMF of the coil, with the correct turns on the coil this will make the reed switch close and this would then signal to a v4 port line that something was grasped which is what you are looking for. Do not forget that on motor start up you will get a false indication on the line (inrush current) so this pulse needs to be ignored. You will probably need to take into account position holding current and make sure that the reed is not triggered at this level.

Tony

#4  

I've used the microswitch idea. with a lil tweeking got it to stop w/o hurting the servo, thanks to a few suggestions.

#5  

@Toymaker

May I ask what value and wattage resistor you use as the in-line current sensor?

PRO
United Kingdom
#6  

@WBS00001, I use 0.1 ohm, tolerance 1%, 3W resistor. You can see the resistor in the top left hand corner of the board above the H-bridge. The opamp I use is a (Microchip) MCP601

Tony

PRO
USA
#7  

Tony,

Thanks for the suggestion, last night i made some tests and i got mixed results, basically the servo was sweeping back and forward and i got some current spikes.

I'll need to try different circuits and amplify the signal to get higher resolution.

If i cannot remove the spikes, i'll do continuous reads plus a software filter e.g. median

#8  

@Toymaker Thank you for the information.

#9  

@ptp - you could see if a SynTouch (BioTac) sensor would work for your application.

PRO
USA
#10  

@69developer:

Nice tech... i can't see the price neither the availability it must be expensive...

Belgium
#11  

You might consider these:

Precision Coil

for sensing the current going through a wire. If motor stalls current will be high, so define a treshold and that might work.

Good luck,

Greetz