kmrchiefdelphi
08-02-2015, 19:03
Hi. We are controlling our drive system using Talon SRX's (firmware 1.1) for control and have the following two issues:
1. Calling SetPosition(0) does not set the encoder position to zero. If we interrogate the encoder (using GetPosition()) after calling SetPosition(0) and after a short wait (>100ms) it returns the value when the encoder was last stopped. We have a Talon SRX with a previous firmware (don't have the rev number) and it is working as expected.
2. We intend to control our drive subsystem using PID and have worked out the values for P, I and D, but we don't understand the scale of the value that is being returned by the method GetIAccum() when running. In our test case, on the CANTalon object, we call Set(10000) and the first IAccum logged, after 100 ms, is ~ 4.5x10^6. Can someone explain why such a large value?
Thanks in advance.
1. Calling SetPosition(0) does not set the encoder position to zero. If we interrogate the encoder (using GetPosition()) after calling SetPosition(0) and after a short wait (>100ms) it returns the value when the encoder was last stopped. We have a Talon SRX with a previous firmware (don't have the rev number) and it is working as expected.
2. We intend to control our drive subsystem using PID and have worked out the values for P, I and D, but we don't understand the scale of the value that is being returned by the method GetIAccum() when running. In our test case, on the CANTalon object, we call Set(10000) and the first IAccum logged, after 100 ms, is ~ 4.5x10^6. Can someone explain why such a large value?
Thanks in advance.