I am working two shooter motors that are used to throw the ball out. One of the shooters motors has perfect PID values at P=5 I =0.01 D =2. We have tried these values on the other motor but it shoots up very fast. The values we were playing with last night gave us p=4 i =0 d=2. This produced a steady oscillation under the target. However, when we increased the i to match the target line it just shot of. Any amount of I caused the motor to shoot off really fast. We are setting the i small at the beginning like values of 0.01 or 0.001. Is there an explanation for this?
Do you want the motors to run at the same speed? If so, you can set one of the Talons to be a “slave” to the other as a “master”, and run the closed-loop control on only the master. This assumes that you’re controlling them over CAN.
No, they will have to run at different speeds. Do you have an idea of why the Integral gain of 0.01 or 0.001 causes the speed of the motor to accelerate like crazy.
Also read up on the SRX “IZone”, sounds like you could use that feature to limit the I accumulated when out of zone.
I had a tough time with getting the SRX units straight. It is all in the manual, but I’m and engineer, and I don’t read manuals.
OMAR has spent a good amount of time getting all of the options documented, and giving good examples. We shoot at 9000 rpm, and the control on the SRX is simply unbelievable is a sub $100 controller.
Rate PIDs are a little weird- you actually only tune I and P. You can think of the reasoning as "I’m tuning for the derivative of position, so all the constants act as if they were derived: in a rate PID, I acts like P, P acts like D, and the D value is, afaik useless