I am totally new to robotic but used to play with Atmel controllers.
I have seen that 3pi robot uses two timers to control wheels. In the 3pi schematic PWM inputs of the TB6612FNG are tied to VCC while the controller feeds the IN1 and IN2 inputs with pwm signals. This way seems quite popular since a similar solution I have seen on Arduino motor shields.
I wonder why using two timers and choose such a driving configuration when a single timer offers two independent output-compare registers and thus two independent pwm output. I guess it would be possible to drive the motor at every speed including “stop” (pwm=0) using “phase-correct” pwm mode to avoid glitches and make easy change speed operation.
What are the disadvantages of using a single timer (i.e. Timer0) and driving both motors trough OC0A and OC0B signals?
Using two different timers saves two I/O lines. On the 3pi, this leaves the I/O lines free for additional sensors.