Здравствуйте, уважаемые форумчане! Помогите пожалуйста разобраться.
Запускаю микроконтроллер atmega8515 (в редакторе code vision avr) в режиме шим-модуляции.
Вывожу шим на ножку OC0/T0. Работаю на частоте 1 МГц.
Выставляю вручную число в регистре сравнения OCR0 и регулирую скважность шим-сигнала.
Программка простейшая:
#include <mega8515.h>
void main(void)
{
DDRB = 0b00000001; // Настраиваем 0-пин порта B на вывод сигнала (для ШИМа).
TCCR0 = 0b01111001; // TCCR0=0b01 11 1 001 - настраиваем таймер на режим Fast PWM.
while(1) // Бесконечный цикл.
{
OCR0 = 0; // Выставляем вручную значение в регистре сравнения. Чем ближе к 0, тем шире импульс и короче пауза.
}
}
При OCR0 = 0 скважность, по идее, должна отсутствовать, и должен идти сплошной сигнал (максимальная мощность).
Однако через каждые 254 микросекунды сплошной сигнал прерывается на 1 микросекунду (1 такт микроконтроллера).
Погонял программу в AVR Studio. Оказалось, при сбросе счетного регистра (который длится как раз 1 такт) порт почему-то отключается, и тут же включается снова.
Подскажите пожалуйста, отчего такое происходит? Может какие-то дополнительные настройки режима требуются?
Хочу использовать шим-модуляцию для управления киловаттными электродвигателями через мощные мосфет-транзисторы. Поэтому любые подобные провалы сигнала (на такой большой мощности и на такой высокой частоте) приведут к ненужному открыванию транзисторов и к дополнительному перегреву.
ШИМ в режиме сравнения.JPG
Микросекундная пауза в ШИМ на таймере T0.
Так оно и будет. Где-то в эррате это написано и там предлагается решение - просто настраивать ножку как вывод и выдавать постоянно логическую 1.
Спасибо большущее, Сергей!
Решил проблему перенастройкой с режима Fast PWM на решим шима с коррекцией фазы Phase Correct PWM, вот так:
TCCR0 = 0b01110001;
У него проблем с выбросами нет.
Решил проблему перенастройкой с режима Fast PWM на решим шима с коррекцией фазы Phase Correct PWM, вот так:
TCCR0 = 0b01110001;
У него проблем с выбросами нет.
Вернуться в «Микроконтроллеры и ПЛИС»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей