atmega32: ШИМ для серводвигателя

Dj_smart

Здравствуйте! Пытаюсь заставить сервомашинку повернуться на заданных угол микроконтроллером atmega32, но она не собирается слушаться, а просто вращается в одну сторону, пока не упрётся.

Как пытаюсь: подаю шим с частотой в 50гц и скважностью от 1/20 до 2/20 (1мс…2мс). Использовал atmega32 с частотой в 4Мгц, с такими настройками таймера1 (делитель /8):

TCCR1A=0x82; // судя по CodeVision, делитель /8 + fast PWM = top
TCCR1B=0x1A;
ICR1H=0x27; // 1CR1 = 9999, по формуле TOP = (частота проца / (делитель * 50гц) - 1 = 4кк / (8 * 50) = 4кк / 400 - 1 = 10000 - 1
ICR1L=0x0F;

Чтобы достичь 1…2мс OCR1A кручу от 500 до 1000, к сожелнию, реально измерить вывод не могу, но осциллограф протеуса говорит, что все ок (в аттаче).

Не могли бы вы подсказать, в чем может быть проблема?
Модели машинкок, на которых пробовал: SM-S3317S и SM-S4303R.

Спасибо!

1Dimon1

Покажите скрин настроек осциллографа, а то не совсем понятно, что вы указали на фото (это время или скважность?), тут надо реально смотреть, что показывает осцил , клеточки считать.
и еще вопрос, не работаю реальные устройства или в компьютере модели? в реальном устройстве без осцилографа тоже не обойтись…

SGordon

может 50 гц и в звуковуху можно закинуть?