When the arm goes completely up, it goes down naturally, right? Is there a program that I can do so the arm stays in the same position with the power of the motors? Is there another component(potentiometer, encoder, etc.) needed? Please help.
I’m not familiar with EasyC, but a common way of assisting arms is to use elastics (the black tubing or rubber bands) so that much of the arm’s weight is counteracted. By using elastics, you can take at least some of the load off the motor. And depending on your design, you can sometimes remove almost all of the load from the motor so that the arm, when not powered, will still hold its position.
If the arm swings less than about 250 degrees, then it might be possible to attach a potentiometer to it to provide some level of height control using a while loop or some other programing technique, but you would still want to use elastics to relieve the motor, otherwise the motor can overheat and shut down.
Like fullmetalmentor said you should use rubber bands or you could set the motor to stop for a second and turn back on this would work to well but it works if you don’t have rubber bands.
Thank you for the help! This helped a lot with our arm!
Actually, in my opinion, the easiest way to do this is just to say, within your code, that whenever the arm is not moving, the arm motor speed is equal to a low speed. Whatever that speed is depends on the weight of the arm. I’ve been using this solution for the past two years and have yet to have a lift motor burn out.
In my autonomous program, I do what ShadowIQ said, and set my motor to a low power level, but elastics are more efficient as they will also help when in driver control mode as the driver will not need to continuously input a command to keep an arm suspended