Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
ШИМ на PIC16F876A (сколько разрядов?)
Володимир Дата: Ср, 01.07.2015, 14:15  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Подскажите сколько разрядов имеет ШИМ в МК  PIC16F876A. В разных местах даташита пишут поразному. Для модуля ССР пишут что он может использоватся в качестве двух 8-и разрядных ШИМ, но далее в описании регистров, пишут что наполнение ШИМ можно задавать 10-ю разрядами.

В описании команды Hpwm только 8 разрядов.

Сообщение отредактировал Володимир - Ср, 01.07.2015, 16:17
ЯНДЕКС Дата: 01.07.2015
ivan_fd Дата: Ср, 01.07.2015, 19:04  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата
CCPx pinproduces up to a 10-bit resolution PWM output

10 - бит.
Володимир Дата: Пн, 14.09.2015, 17:26  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Подскажите где туплю, простенький проект, сделать 10-ти битное АЦП и результат 10 бит передать на ШИМ. В протеусе когда ползунок перемещаю от нуля гдето до 25% наполнение увеличивается от нуля до 100%, дальше на осцилографе чтото непонятное. По идее, наполнение должно растянутся на всю длинну резистора. И не понятно где у ШИМ верхняя граница, если поставить ограничение на 255, то наполнение ШИМ останавливается на уровне 75%.

Device 16F876A
Xtal 8
ADCON1 = %10000000
TRISA.0 = 1
TRISA.1 = 1
TRISA.2 = 1
TRISA.3 = 1
TRISA.4 = 1
TRISA.5 = 1
TRISB.0 = 0
TRISB.1 = 0
TRISB.2 = 1
TRISB.3 = 1
TRISB.4 = 1
TRISB.5 = 1
TRISB.6 = 1
TRISB.7 = 1
TRISC.0 = 0
TRISC.1 = 0
TRISC.2 = 1
TRISC.3 = 1
TRISC.4 = 1
TRISC.5 = 1
TRISC.6 = 1
TRISC.7 = 1

Dim RezAcp  As Word      'Результат АЦП

Declare Adin_Res 10
Declare Adin_Tad 2_FRC
Declare Adin_Stime = 50

ccp2con=0

Clear

HPWM 2 , 254 , 20000 ' Включаем ШИМ

START:  ' Мітка початку основної програми ------------------------------------------

RezAcp = ADIn 0

RezAcp.byte1=adresh
RezAcp.byte0=adresl

CCPR2L.7=RezAcp.9
CCPR2L.6=RezAcp.8
CCPR2L.5=RezAcp.7
CCPR2L.4=RezAcp.6
CCPR2L.3=RezAcp.5
CCPR2L.2=RezAcp.4
CCPR2L.1=RezAcp.3
CCPR2L.0=RezAcp.2
CCP2CON.5=RezAcp.1
CCP2CON.4=RezAcp.0

goto START
xvovanx Дата: Пн, 14.09.2015, 19:55  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 332
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

АЦП 10 бит (0-1023), ШИМ 8 бит (0-255) вот у Вас на 25% реостата АЦП наполнение ШИМ на полную и выходит. Сделайте АЦП 8 битным как и ШИМ.
Сообщение отредактировал xvovanx - Пн, 14.09.2015, 19:56
dimvad Дата: Пн, 14.09.2015, 23:03  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 80
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline


Цитата
АЦП 10 бит (0-1023)
На самом деле получается не 1023, а 1000, мочему-то? Делал я как-то тренировочную модельку.
Прикрепления: HPWM10.rar (47.6 Kb)
Володимир Дата: Вт, 15.09.2015, 09:29  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Цитата xvovanx ()
АЦП 10 бит (0-1023), ШИМ 8 бит (0-255) вот у Вас на 25% реостата АЦП наполнение ШИМ на полную и выходит. Сделайте АЦП 8 битным как и ШИМ.
Шим я тоже использую 10 бит, так как заполняю два младшие бита.
CCP2CON.5=RezAcp.1
CCP2CON.4=RezAcp.0
Цитата dimvad ()
На самом деле получается не 1023, а 1000, мочему-то? Делал я как-то тренировочную модельку.
Странно конечно, у меня почемуто максимум 399, при 400 уже непонятно что на осцылографе, может имеет значение какая частота ШИМ.

Сообщение отредактировал Володимир - Вт, 15.09.2015, 09:31
ivan_fd Дата: Вт, 15.09.2015, 13:06  |                                                                                                                Сообщение # 7
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Конечно имеет значение какая частота.
Откройте даташит на контроллер и внимательно
почитайте как считается частота, период и скважность.

Цитата из даташита:

Цитата
П р и ме ч а ни е. Если длительность импульса ШИМ больше периода ШИМ, вывод CCP1 не будет иметь низкий уровень сигнала.
  • Страница 1 из 1
  • 1
Поиск: