PID not working

I have two flywheels for shooter. Two motors connected on a single shaft are powering each flywheel. I have all four motors are IME. I tried to use the Pearman logic of slaving three motors to one motor and enabled PID but I noticed that all the motors are getting power of 127 in the debug window. All the motors have turbo gears. I am trying to figure out what is wrong with the setup.


It would be helpful if you could attach some code for the people on the forums to look if it’s a programming issue. I have not used PID too much, but it may be that you did not calculate velocity correctly and your target RPM is too high. However, it is hard to say what the problem is without the code. Also if you have a horizontal flywheel, you will need to use two IME’s. One on each side. Thus, you will have two motors in total be slaved.

I am a newbie to the forum, I tried to attach code with the code tags but it is not posting. As an FYI All my motors have IME and they are daisy chained as well. I have used Pearman logic of using one motor as primary and rest of them as slave’s, you think that should not be done for a horizontal flywheel?

Hello I am a newbie to this forum and to VEX as well. I am trying to include code in the attached code tags but for some reason it is not posting. I will try to copy the code in txt and attach in a bit. I also want to let you know that I have 4 IME motors as you have guessed it is a horizontal flywheel. I have enabled ROBOTC inbuilt PID and used Pearman logic of setting power to one motor and slaved other three motors. Do you think this is not the right approach?

again thanks for your help.

I tried using this method on my new robot, and am having the exact same issue with code that used to work… not sure what went wrong. The IME runs at 60 like it should, but the slave motors run at 127. I will try to figure out the issue and post more when i can and when i am not so busy

What do you mean by “The IME runs at 60 like it should”? Motors running at 127 under PID usually means that the IMEs are returning a value of zero, giving a high error value and therefore a high motor value.

I had swapped the slave and motors then it started working fine. I still don’t know why one slave motor was running at 127. Do we need to initialize motor encoders in the pre-auton?