I am trying to design a robot arm to lift VRC Round Up rings. Currently I have an arm that uses two 2-wire motors driving a parallelogram lift with a 5:1 gear ratio. However, as soon as the motors turn off after lifting the arm, it drops to the ground because of the weight of the arm. Is it okay to use the motors to maintain the arm’s position by running the motors at a very low power, or would that risk damaging the motors? It seems like that would strain the motors.
I see no problem with continuously running the Motors at about 5% power. I have done something simular many times. Remember, you can always use latex tubing to counter balance the weight of your arm.
Our team does this by having a constant 15 power on four of our lift motors and it’s worked out fine for us. It might have a hit on battery life, but there’s no real noticeable effect.
if its controlled using a joystick on the old controllers, the trim setting will make this easy to adjust
latex tubing is your friend if you are using parallelograms (four-bars i assume) they can “balance” out the arm so it is weightless
and cant 10:2 be simplified to 5:1??
You CAN do this, but it isn’t the best thing for the motors. They could get hot rather quickly.
The best thing to do would be to use elastics to balance the arm. Place them between the linkages so that at the arm’s highest position, the elastics are stretched to prevent falling.
We combine the elastics and having a constant 5 power. To use a little less battery.
For teams that need the constant power turned off at one point (Like our B team), they made (or are going to make) a function that turns the “trim” off and on. Like Titan said, you can save battery power this way, if you turn it off when it is not needed.
To reply to main question here, it hasn’t done any noticeable damage to our motors (although we are using the 393 motors for this purpose). If done improperly, then damage will occur. Our E and D team know from experience already…
Elastics are best if you need the counter balance all throughout the game. If not, try setting to motors on at a low power.
Also, I noticed that if our arm is up at the end of autonomous, the arm will lower when the power is cut off and it moves to driver. I’d recommend using elastic tension or a combination of both.
You could make use of a potentiometer to do this i would think.
I am all for latex tubing on this one. It is nice and light does the job of balancing the arm really well and in my opinion it looks a bit more professional than rubber bands.
Thanks! I think I will try to use some elastic tubing. I just wanted to make sure I would not damage anything.
Running the motors at 5% power can mean different amounts of torque for different power levels. And if your robot is moving, then your arm is going to bounce, which creates more chaos. Your best bet is to put a potentiometer on the arm. You can also combine it with elastics as everyone has been suggesting. I can provide you with the code if you wish.
make sure you attach the elastics as far from the pivot as possible
and if the arm is too heavy, have 2 sets of elastics instead of 1 because if you add TOO much tension, it may bend/warp the actual arm metal…
Both of these solutions (multiple sets versus tension) both add force, which would bend the arm either way. Multiple less-stretched elastics may apply force in a more uniform fashion, however. Experiment!
Once you get the arm close to balanced, you may still wish to use the potentiometer to measure the position of your arm.
Rather than using the controls on your joystick to control the power to the motor, you will use the controls on the joystick to change the value of a variable (called a “setpoint”) and then the controller will compare the reading of the potentiometer (indicating the arm position) to the value of the setpoint (indicating where you want the arm to be) and will adjust the power to the motor to get the motor to turn in the correct direction to match the actual position (read by the pot) to the desired position (your setpoint).
One example of this is cruise control in cars, another is the thermostat in your house. Both make our lives much easier, and more comfortable… all while leading to greater efficiency. Learning to use setpoints on your robot can do the same for your robot… and not just for the arm.
There are several ways to accomplish this and you already have one offer in this thread for assistance with the code… I’d suggest it is worthwhile to follow up on an offer like that. Setpoints and control routines are pretty standard fare in robotics competitions… you may not even know that your competitors are using them to beat you… you might just think they are really good drivers, or always “get lucky” in autonomous!