Hi, we recently added through bore encoders to the output shafts of our tank drive. When we run the Neos with the throughbore encoders connected to the data port, they are only spinning at about 1,000 rpm (from the built in encoder) as opposed to spinning around 3,000 when unplugged. It instantly changes back when we unplug the through bore encoders. Why would this happen? How do we prevent it from happening? When the encoders are plugged in we receive Error 2: times out while waiting for Periodic Status 1. This also happens on when actuating through the REV Hardware client.
Do you have any velocity / position conversion factors applied?
no, we are just running strictly off of voltage right now, sending MotorFL.setVoltage(12);
Driving the robot around, is there a noticeable difference? If both of those numbers are accurate, then it would be going only 1/3 the speed with the through bore encoder attached, which really doesn’t seem right. I suspect something else is going on here.
You do have the Spark Max set to alternate encoder mode right?
yes.
we didn’t test if the robot was noticeably slower, but I would assume the front motors spinning 1/3 of the speed of the back motors would make a difference.
The point of actually seeing the robot drive would be to distinguish between
- the motor really is going much slower, and
- something is just telling you that the motor is going much slower.
Are you using these between the encoders and SPARK MAX?
I would expect the controller to detect something was off and throw an error if not, but if it tried to run anyway, the behavior you’re seeing seems plausible.
Does current draw go up with the encoders attached?
yes, we are.
We could audibly see and hear the wheels spinning much slower.