I've run into another problem caused by my robot's head. Right around the time I added this, one of my wheel encoders started acting up, reporting less movement than the wheel actually did, so that wheel run full speed. After much hair pulling, I determined simply unplugging the head motor makes the quadrature work fine.
I spent last night tracing the encoder paths with my oscilloscope, and didn't see anything unusual. I can't see a difference in the signal when the head motor is connected or not, nor between the encoder that works or doesn't.
The encoder is being read in a half-quadrature fashion. Each encoder uses one interrupt on an ATmega16, with the other read on a normal input pin.
While I'm sure I can just add capacitors until it works fairly quickly, I would like to actually find what is messing things up, as a learning experience if nothing else. Can anyone suggest what a next testing step might be (IE, using a freq/dev that is x% of the PWM frequency), or a site with such a methodology --- or "Give up and install caps" :-)
-Chris