Servo with gripper/claw

This is not a question but rather an observation of servo operation.

I am presently programming a robot arm using a servo controlled gripper.

The servo travels from gripper open to gripper closed and at rest draws around 0.1amps

However, when I open the gripper and close it around an object, the servo is unable to reach its limit and has a considerable current increase.

If I back off the servo a small amount, the current returns to 0.1 amps and all is well EXCEPT it releases the object..

My present thoughts are to monitor the servo current and reverse the direction of the servo by small amounts until the current drops. Hopefully it will not also drop the object.

For current sensing I am considering a Lantian 100A AC/DC Linear Current Sensor Hall Current Sensor Module for RC Drone from Banggood although I have not given it a lot of thought as yet. I also have no specs so I'm only guessing regarding its suitability.

My other thought is to line the gripper arms with soft foam rubber so that I can release the grip by a small amount without dropping the object.

NOTE: Perhaps I should have posted this in Topics/Robotics. Moderator, please move this post if you agree.

BanditDave:
My other thought is to line the gripper arms with soft foam rubber so that I can release the grip by a small amount without dropping the object.

That would be my preference. It is how your fingers work. A system with some springiness allows motion to be converted into force.

Also, it is not good for a servo to drive it against a hard stop.

...R

I have been giving this servo overcurrent some more thought.
All of the servos in my robot arm are subject to high current draw if they are prevented from reaching their destination.
This could occur in the case of the gripper picking something up or any other servo being blocked from its intended travel in some way.
My present thoughts are that the entire robot needs protection from such a happening.
At rest my robot draws around 0.2 A to 0.4 A. When any servo is prevented from moving this current goes up to typically 2.5 amps. Removing the obstruction it returns to normal.
I consider there is a need to regularly monitor the total current drain of the robot arm and either reverse the last command or shut the total arm down.
Today I stumbled across a current sensing module using an INA219 chip.
What makes this different to analog current sensing is that it can communicate with the Arduino using I2C which uses the SCL/SDA pins.
I think what this means is the current can be monitored as a background task and action taken if it gets beyond reasonable limits.
I found all of the resources I think I will need on GitHub.
I will now have to invest A$4.00 to purchase one of these modules from my favourite Chinese supplier.
To be continued ………….

BanditDave:
I will now have to invest A$4.00 to purchase one of these modules from my favourite Chinese supplier.
To be continued ………….

Keep us updated please.

...R

I have ordered some INA219 modules which should be here in around three weeks.

In the meantime I "stumbled" across a servo library VarSpeedServo.

This little gem allows me to set the speed of each servo and does away with lots of delay loops.

Once I have the code for INA219 incorporated into my program I will have a smooth running robot arm thanks to the updated library and with little chance of servo damage from overcurrent due to the INA219 addition.

BanditDave:
This little gem allows me to set the speed of each servo and does away with lots of delay loops.

Just moves them out of your code and into the library code :slight_smile:

...R