My setup is a talon srx connected via CAN with an andymark breakout board with an andymark cimcoder connected to the breakout board. My code is receiveing the encoder position from the CANTalon object in java. The encoder value counts upwards correctly and will not count correctly backwards.Both channel A and B work correctly because we have tryed to switch the channels on the breakout board and have also pluged them directly into the roborio. What am I missing, encoders work fine and the talon srx is working fine breakout board has no shorts and is wired correctly?
Assuming you’re using the new TalonSRX Breakout boards (TSUB-2)?
The CIMCoder encoders require pull-up resistors for reliable operation. I’d bet that is the issue you’re running into. If you have the means, solder some 10k resistors into R1 and R2 on the Talon Breakout and that should solve it.
The Rev2 Talon Breakouts don’t come with these by default since US Digital and Bourns encoders don’t require them, but Rev3 and up do. If you don’t have the parts or the means to solder them, send an email to email@example.com and they’ll send you the parts. You can also toss the boards in a padded envelope and they’ll make the change for you (email first).
Those 10K pullup resistors should be stuffed in the breakout boards by default. They will make some encoders work that wouldn’t work otherwise, and they won’t break anything. Sheesh.
We used the Murata encoders that were available last year. No pullups needed, although there were fiddly bits that broke easily.