Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Ответ
Опции темы
Непрочитано 27.04.2023, 09:31   #1
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 553
Сказал спасибо: 38
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Проблемы с пониманием PWM PIC24FVKM202

Здравствуйте.

Объясните пожалуйста кто нибудь что за беда с настройкой PWM в PIC24FVKM202?

Вот функция инициализации:

Код:
/*Инициализирует модуль ШИМ*/
void InitializePWM(void) {
    ODCBbits.ODB13 = 0;
    TRISBbits.TRISB13 = 0;
    PORTBbits.RB13 = 1;

    // модули ССP
    CCP1CON3H = 0x0000;
    CCP2CON3H = 0x0000;
    CCP3CON3H = 0x0000;

    // мы настраиваем OC3B значит это 3 модуль линия OCBEN

    CCP3CON1H = 0x0000;
    CCP3CON1Hbits.OPS = 0;

    CCP3CON1L = 0x0000;
    CCP3CON1Lbits.CLKSEL = 0b000; // internal clock
    CCP3CON1Lbits.CCPSIDL = 1;
    CCP3CON1Lbits.TMRPS = 1; //   prescaller   
    CCP3CON1Lbits.T32 = 0; // 16 bit mode
    CCP3CON1Lbits.CCSEL = 0; // PWM
    CCP3CON1Lbits.CCPMOD = 0b0101; //  PWM mode

    CCP3CON2H = 0x0000;

    CCP3CON2L = 0x0000;
    CCP3CON2Hbits.OCBEN = 1;
    CCP3CON2Hbits.ICS = 0b000;

    CCP3CON3H = 0x0000;
    CCP3CON3Hbits.OUTM = 0b001; // pushpull
    CCP3CON3Hbits.POLACE = 1; // active high
    CCP3CON3Hbits.PSSACE = 0; // inactive than shutdown
    CCP3CON3Hbits.PSSBDF = 0; // inactive than shutdown

    CCP3PRH = 0x00;
    CCP3PRL = 1000;

    CCP3RA = 250;
    CCP3RB = 500;

    CCP3BUFH = CCP3RA; // установить 50% скважность
    CCP3BUFL = CCP3RB; // установить 50% скважность

    CCP3TMRH = 0;
    CCP3TMRL = 0;

    CCP3CON1Lbits.CCPON = 1;
}

//Режим выставил CCP3CON1Lbits.CCPMOD = 0b0101; // PWM mode Dual Edge Compare (16-bit buffered) PWM Mod

Судя по схеме работы сигнал должен меняться в 3 случаях:
1. При срабатывании CCP3TMRL == CCP3RA
2. При срабатывании CCP3TMRH == CCP3RB
3. При Rollover CCP3TMRL/H

Но судя по тому что я получаю в логическом анализаторе это просто какая то дикая дичь.
Он работает хрен пойми как. То сменит значение при Rollover то не сменит. Условия 1,2 тоже игнорирует раз через раз.


Что я делаю не так то??
Миниатюры:
Нажмите на изображение для увеличения
Название: 5.png
Просмотров: 0
Размер:	49.6 Кб
ID:	176382   Нажмите на изображение для увеличения
Название: 6.png
Просмотров: 0
Размер:	107.6 Кб
ID:	176383   Нажмите на изображение для увеличения
Название: 7.png
Просмотров: 0
Размер:	102.5 Кб
ID:	176384  

Реклама:
worldmasters вне форума   Ответить с цитированием
Непрочитано 27.04.2023, 19:31   #2
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Проблемы с пониманием PWM PIC24FVKM202

В железе также?
realid вне форума   Ответить с цитированием
Непрочитано 27.04.2023, 23:48   #3
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 748
Сказал спасибо: 365
Сказали Спасибо 822 раз(а) в 386 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Проблемы с пониманием PWM PIC24FVKM202

Есть отдельный документ 30003035b.pdf, детально описывающий работу модуля CCP; в документе также приведены примеры инициализации модуля в разных режимах. Можно сравнить со своим кодом, вдруг не хватает какой-то [дьявольской] мелочи в настройках - возможно, окажется полезным Example 7-1: Setup for Dual Edge Buffered Compare Mode.
j-Roger вне форума   Ответить с цитированием
Сказали "Спасибо" j-Roger
mike-y-k (28.04.2023)
Ответ

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32G030F6 надо привязать ADC к PWM p_v ARM 1 19.10.2021 00:00
dspic33 PWM Dtolok PIC 6 09.05.2016 23:16
uVision и библиотеки stm32 peripheral library - проблемы с дебагом и АЦП ) rukez Микроконтроллеры, АЦП, память и т.д 11 13.02.2011 15:35
PWM НА PIC16F877A sprew Микроконтроллеры, АЦП, память и т.д 13 11.02.2011 09:48
mega168 16 bit PWM ReM37 Микроконтроллеры, АЦП, память и т.д 6 06.05.2010 00:36


Часовой пояс GMT +4, время: 01:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot