Перейти к содержанию
    

ГКЧ на ШИМ 18f452

Доброго времени суток. Нужно сделать ГКЧ от 50 до 150кГц на 18f452. Использую ШИМ. Пересчитываю частоту в период, и соответственно изменяю время заполнения, что бы при любом периоде скважность была 50%. На частотах близких к 50кГц скважность 50%. С ростом частоты скважность почему-то увеличивается (примерно 80% на 150кГц), что для ГКЧ не есть хорошо. В моделях MPLAB и Proteus скважность выдерживается.

Инициализация ШИМ

 

unsigned int imp;
PR2 = (char)(1000/((float)f*0.2) + 0.5) - 1;//4Tosc = 0.2мкс, предделитель не используется, f - частота в кГц
imp = 2*PR2 + 2; // длительность импульса 1/2 периода (CCPR1L:CCP1CON<5:4>) = 2[(PR2) + 1]
CCPR1L = (imp >> 2) & 0xFF; // старшие 8 бит
CCP1CONbits.DC1B0 = imp & 0x01;
CCP1CONbits.DC1B1 = (imp >> 1) & 0x01; // младшии 2 бита

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чесслово, не понял эквилибристики.

PR2 = (char) (5000 / f - 1);
// для 50% достаточно
CCPR1L = PR2 >> 1;
CCP1CONbits.DC1B1 = PR2 & 1;
// а это при 50% можно сделать единожды
CCP1CONbits.DC1B0 = 0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чесслово, не понял эквилибристики.

PR2 = (char) (5000 / f - 1);
// для 50% достаточно
CCPR1L = PR2 >> 1;
CCP1CONbits.DC1B1 = PR2 & 1;
// а это при 50% можно сделать единожды
CCP1CONbits.DC1B0 = 0;

Просто, что бы было понятно. Проблема исчезла после того как более внимательно выставил биты конфигурации. Как они влияли на скважность ШИМ так и не понял.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...