Witam,
jestem w trakcie budowy robota typu "line follower". Robot ma być napędzany dwoma silnikami DC Pololu. Za sterowanie robotem odpowiedzialny jest kontroler Pololu - Baby Orangutan B-328 (wbudowana ATmega328p oraz dwukanałowy mostek H: TB6612FNG).
Schemat kontrolera:

Silniki zostały podłączone do wyjść mostka, odpowiednio M1A, M1B, M2A, M2B. PWM generowany jest dla pinów PD6 (OC0A) i PB3 (OC2A).
Oto program, który został wgrany do mikrokontrolera w celu testowania jak robot się porusza:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Problem polega na tym, że jeden silnik (zawsze ten sam, nawet po odwróceniu połączenia sliników - M1 na M2 i odwrotnie) pracuje wolniej, przez co robot zamiast prosto - jedzie po łuku. Co najdziwniejsze, jeśli podłączę oba silniki do jednego kanłu PWM czyli oba do wyjść np M1A i M1B to wtedy pracują w miarę równo i robot jedzie prosto.
Jeśli ktoś wie czego to może być wina, to proszę o pomoc i z góry dziękuję.
