Basically let’s say I press a button to bring the arm half way up then let go of said button, Gravity will force the arm down. Is the any way to “lock” the motors in place? I’ve thought of having the motors at a resting speed of 5, but this would just over heat the motors, and wouldn’t work if a picked up a cube/star, any ideas?
Rubber Bands. Put enough on both sides so that the robot comes up at about the same speed as it comes down. More rubber bands also helps you hold more.
Our team uses a 6 bar lift, and we have the screws loose enough that the motors can still lift without burning out, but tight enough that it puts up lots of resistance to falling.
To be honest, any extra friction is really just an eventual loss in energy. I personally would much rather put enough elastics to compensate for weight because adding friction tends to wear down on the parts over time and will only slow you down. Even if you have the motor running at 5-10% ish to keep your arm up, I would still argue that it is more efficient than adding unnecessary friction. Just my opinion.
Our team put encoders on the arm and a pi code that went into effect whenever the driver wasn’t manipulating the arm to hold the arm’s position. A much easier but less effective way is to program a button that gives the motor say 30 power… just enough to hold the arm in place when carrying something… of course, this fails when your load varies too much and if you have a particularly well charged or badly charged battery… or a number of other things…
I would usually agree with this, but we were able to add 4 extra rubber bands to the lift by adding the friction, and this friction was able to keep the tray on the ground when the lift was down.
Instead of adding friction to the lift you could use a simple while loop like this:
while(VexRT[Btn5U] != 1)//while button 5U isn't pressed...
{
motor[liftMotor] = 15;//You need to add all of your lift motors here
}
You would then post this into your user control task so that while button 5U isn’t pressed, there would be a small amount of power that gets supplied to the lift motor(s). You would also need to either create another while loop or say “&&” after the button and add an additional button after it for multiple buttons.
This is what we do and it doesn’t overheat the motors, if it does overheat your motors then it may just be because your trying to give it a power value that’s too low.
We have a button that applies 12% power, or 15 power, to the motors and it doesn’t over heat unless you have all the game peaces on your lift.
Correction – 15 power, not 15%. It’s about 12%.