ШИМ для управления АД

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 2
Зарегистрирован: Пт авг 09, 2013 12:05:15

Сообщение blacarring »

Добрый день
У меня возникла необходимость сделать ШИМ для управления скоростью вращения АД мощностью 50 Вт.Подключатись он будет по мостовой схеме, а гальваническая развязка от МК сделана на 4 оптотранзисторах Я реализовал это на ATmega8. Но у меня возникла проблема. у меня возникают сквозные токи в мосту, т.е. МК выдает не те импульсы что надо. На осциллографе было видно, что эти импульсы похоже появляются вследствие выбросов при работе таймера. На диаграмме снизу справа показано как должно на самом деле выглядеть этот импульс.

Все сделано на таймере 1. Выходы OC1A и OC1B выдают инвертированный сигнал для управления мостом. Код программы является достаточно простым, и поэтому я незнаю где искать ошибки. Возможно вы подскажете где может быть ошибка.
Вложения
Код.txt
(1.72 КБ) 229 скачиваний
ШИМ на Т1.JPG
(56.63 КБ) 415 скачиваний
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Сообщение zero648 »

Эту строку нужно вынести из прерывания в инициализацию таймера, он же всегра работает в одном режиме TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (1<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10);
Для изменения ШИМа проще взять другой таймер и им же задавать частоту.
Реклама
Родился
Сообщения: 2
Зарегистрирован: Пт авг 09, 2013 12:05:15

Сообщение blacarring »

наличие этого регистра в прерывании не влияет на работу таймера. Частоту буду задавать от таймера 2.
Ответить

Вернуться в «AVR»