Arm and claw mechanical problems

Our claw bot (built with building guide that came with the kit) does not keep the arm lifted. It seems that the claw and the motor are too heavy, so the arm goes down right after we use the remote to lift it up. Would a potentiometer help with balance? Also, the claw opens and closes a few times, the motor seems to slow down, and it no longer works. :confused:

What you are describing is normal behavior but it can be improved by running different software on your clawbot.

  1. The arm will drop if power is removed from the motor due to it’s weight. You can solve this by using a potentiometer or encoder for feedback and then controlling the motor so as to keep the arm at a chosen position. You could also perhaps add some assistance by using rubber bands or latex tubing.

  2. The claw motor will stall (stop moving) when the claw is closed or open. If you continue to send power to the motor when it is stalled then a protection device known as a PTC (a type of fuse) will trip and power to the motor will be lost for a few seconds. You can prevent this by again controlling power to the claw motor. One way would be to send a lower motor control value, another would be to stop the motor after two or three seconds when opening or closing the claw.

Do you have the programming software? (either EasyC or ROBOTC)

We are using RobotC. For some reason the sensor debug window is not showing the potentiometer number change (when I move the arm manually). The limit switch doesn’t respond to my code. Here is what I have done:

[Code]
task main()
{

while(vexRT[Btn7D] == 0)
{
}

ClearTimer(T1);
while(time1[T1] < 90000)
{
motor[leftMotor] = vexRT[Ch3] / 2;
motor[rightMotor] = vexRT[Ch2] / 2;

if(vexRT[Btn6U] == 1 && SensorValue[armPot] <1300)
{
  motor[armMotor] = 40;
}

else if(vexRT[Btn6D] == 1 && SensorValue[frontLimit] == 0)
{
  motor[armMotor] = -40;
}
else
{
  motor[armMotor] = 0;
}

}

motor[leftMotor] = 0;
motor[rightMotor] = 0;

//Claw Control
if(vexRT[Btn5U] == 1)
{
motor[clawMotor] = 40;
}
else if(vexRT[Btn5D] == 1)
{
motor[clawMotor] = -40;

}
else
{
  motor[armMotor] = 0;
}

}

You are not showing the ports you are using, make sure the potentiometer is plugged into an analog port (I assume you have a cortex) and the limit switch into a digital port. If you configured the limit switch as a digital input then when it is pressed it will go to 0, if as a touch switch then you are OK.

Not all of your code will run, you have a while loop around drive and arm control so the claw motor will not be able to be activated for the first 90 seconds, is that what you intended? If you post more code then use the [CODE ][/CODE ] tags and it will format correctly.

The class I have is having trouble getting their clawbots to raise holding something. They raise otherwise and we aren’t quite sure what is causing the problem.

It would be nice if you could provide more details, but my guess is that you need to put some rubber bands or elastics to help counter-act the weight of the claw itself. Elastics work like magic sometimes to fix the kind of problem you are describing. The ideal is to use elastics to make the arm “weight-neutral” so that the motors only need to work to lift the object you’re trying to lift.

my team was facing the same problem of the arm falling down, so what we did, we put stand-offs on the right and left of our arm(2 on each side) and put rubber bands to connect them. If you attach a picture of your arm, i’ll be able to explain it better.