DR4B of Death

So our DR4B isn’t working, it keeps slopping to the sides. We’ve balanced our rubber bands, we’re using a universal axle, we’ve checked all of our motors and their powers, and we’ve added a crap ton of support and nothing is working. The only things I can think of that we haven’t done:

We don’t do PID
We have non triangle banding right now.

Does anybody have anything else we can try? We have a comp Saturday and we’re getting desperate.

Photos would help. Also what do you mean by

Axle connecting both sides of the lift. I’ll see if I can get Brayden to take some pics and email them to me, I don’t have a phone that can actually upload pictures.

There is such thing as a universal joint for shafts and that was was asking. I don’t think those are very efficient. A shaft connecting both sides should be fine though.

Also I know you have already checked but double check your motors are the same internal gearing, correct polarity etc. Also check your code as it is easy to make mistakes there.

OK we’ve checked everything but internal gears.

are you using axels for all your gear joints? if so, replace them with screws and nylock nuts, only use the axels for the gears connected directly to the motor. (you probably already knew this, but i’ll post it anyway)

also, add a c-channel with a bearing in the middle to support the “universal axel”, not sure if it will help, but it is worth a try.

How wide is the DR4B? And is it powered from the bottom or the middle? In either case try to equalize the friction on the two sides. The only other thing I would check is if all the motors are spinning the same speed. Not what your sending, but what they are actually doing. One of ours spins about half speed, damaged electrically somehow. If that turns out to be the case, replace the MC29 and the motor one at a time to see which it might be.

Powered from the middle. We’re pretty sure it’s some sort of wiring problem now.

Perhaps, but there is a certain way you need to support it in order not to need a PID loop.

t a k e p i c t u r e s

Does it always go to one side? If that’s happening it’s probably a motor thing. You could have a bad motor, a bad motor controller, or have a different internal gear ratio in some.

If it’s going to either side, then your lift probably needs some more bracing. If you

you could get some pointers on that. A video would be good too if you wanna do that.

If nothing else mentioned above, I would check for friction imbalances. Try disengaging the motor axles and checking that there isn’t any binding etc. Also, had it ever worked? Also, pictures… Yeah, do that.

I agree to that.

Normally I will ask my students to check the lift balancing without any rubber band.
And most of the time, all these Imbalancing is due to frictions.

Try doing just P control, it is a lot easier than PID. You’d just have to one for each side

If you have a sensor on both sides, individual control would most likely fix it.
Also,

Just had a bad MC29 on ours, made the lift go all sorts of sideways.

It usually tips one way when you’re going up and one way when we’re going down. Sorry I haven’t been able to get pics, my phone isn’t a smartphone and we don’t have the cable necessary for uploading to the computer.

How would one do a just P control?

task(liftPID) {

float Kp = 0.2;
int error;
int target;
int currentSensorValue;

while(true) {
currentSensorValue = SensorValue[armPot];

error = target - currentSensorValue;

motor[lift] = error * Kp;

//Don’t hog CPU
wait1Msec(25);
}
}

while(true)
{
motor[liftmotor] = 0.3*(value - sensorvalue[potentiometer]);
if(vexRT[button] == 1)
{
value++;
}
if(vexRT[otherbutton] == 1)
{
value–;
}
}

that should work as well, but not in autonomous, Doing a separate task lets it run in the background all the time