I realized I was getting interference from the motors. I tried moving the sensor wires away from the motor feed wires and that didn't help, so I disassembled the bot and soldered 33uF capacitors across the terminals as I've seen recommended. They didn't seem to make a bit of difference.
What else can I do to eliminate this interference?
Where did you see recommendations of 33µF over the motor terminals?
That would be an electrolytic most likely and they suck at high frequencies, so won't react all that hard against the very high dV/dt ("rise time") of motor spikes.
Before implementing the basics correctly, there's no reason to look into more "advanced" solutions, so do the following...
You need to use ceramic caps
, as they are
good at high frequencies and have a much lower ESR as well.
A value of 100nF would be good. Place one cap over the terminals and one from each terminal, with the "free" pins joined and connected to the motor housing (which should have a decent wire directly to your battery ground (0V) if it's not already solidly grounded.
Twist the motors power wires together (around 3 turns each inch woul work) and twist your sensor wires together in the same manner - keep motor wiring in one side of the 'bot and sensor wires in the other, as far as reasonably possible.
If that doesn't cure it, post back, preferably with a photo showing the 'bot from above and a few pics of how you implemented the above wouldn't be bad either.