![]() |
Talon SRX magnetic encoder issues
I've been having a strange issue with the SRX mag encoders, sometimes leading to rather catastrophic results.
Running them in absolute mode, I've seen an issue where the reading seems to unexpectedly jump. For example, we're driving around the robot, and then one of the encoder readings suddenly jumps from 0.8 to 1.8 (measured in rotations). So it jumps up by exactly 360 degrees, and then the motor tries to unwind the extra full rotation. And when this happens, things rotate too far, wires get ripped out, and all sorts of Bad Things™ ensue. I was never able to reproduce the issue in the pits, so perhaps it was an issue that arose with the robot getting beaten around on the field. Does anyone have any ideas as to what could be causing this odd behavior? |
Re: Talon SRX magnetic encoder issues
Do you need the rollover feature? If not, just take the decimal part of the rotation count and discard the rollover (everything to the left of the decimal).
If you do, send Omar a passive aggressive email telling him to fix the rollover feature :) (or just write it yourself while discarding the rollover that the talon gives you) |
Re: Talon SRX magnetic encoder issues
More detailed info would be helpful. What exactly are you measuring with this encoder? It sounds like it might be steering angle of a swerve wheel? But that's just a guess. What is the max angular speed the encoder will see in this application? In normal operation, does the encoder cross the 360/0 discontinuity? And just to be perfectly clear, the encoder is wired directly to the SRX, right? |
Re: Talon SRX magnetic encoder issues
Quote:
1. It's a rotating cage that holds the ball. Video for reference 2. Rotates fairly slowly, it should take several seconds to go one rotation. 3. No, I've made sure that it doesn't cross 4. Yes |
Re: Talon SRX magnetic encoder issues
Check for CAN bus errors in the driver station logs when you notice this happening. I may have noticed something similar, but it didn't affect our design so we didn't looked into it very hard.
Also is the positioning loop running in the Talon SRX or the RoboRIO? |
Re: Talon SRX magnetic encoder issues
Quote:
|
Re: Talon SRX magnetic encoder issues
Quote:
|
Re: Talon SRX magnetic encoder issues
Moving the loop to the RoboRIO would allow you to just use the above mentioned decimal portion of the encoder position.
|
Re: Talon SRX magnetic encoder issues
Quote:
RyanShoff: that could be a good idea, I'll try that if I can't figure out how to fix it directly. |
Re: Talon SRX magnetic encoder issues
Quote:
If not, what is the max angular speed the encoder will see in this application? |
Re: Talon SRX magnetic encoder issues
Yes, it should be rotating at the same speed.
|
Re: Talon SRX magnetic encoder issues
It sounds like you have a cabling issue between the magencoder and Talon.
You can confirm this by grabbing the self-test before and after reproducing the problem and observing that the absolute position (pulse width) and relative position (quadrature) disagree. That's one of the benefits of the CTRE magnetic encoder; you have two references that rely on different physical wires. Most likely the ribbon cable needs to be replaced, or if you are using a breakout inspect the solder contacts/wiring. Are you close or exceeding the peak rated RPM for CTREMagEnc_Absolute? If so then select CTREMagEnc_Relative and setposition() to what the absolute reading reports. See github examples/Talon SRX Software Reference manual for more info and peak RPM specs. |
Re: Talon SRX magnetic encoder issues
Quote:
At some point, I switched to relative mode and the problem stopped. So perhaps you are correct. But we have two components robot using a mag encoder, and I've seen the same issue in both of them, so I figure it would be unlikely for them both to have the same cabling issue. |
Re: Talon SRX magnetic encoder issues
Quote:
|
| All times are GMT -5. The time now is 13:45. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi