Sie sind auf Seite 1von 14

Prof. Msc.

Fabián Barrera Prieto


Microcontroladores

Aula 23
PWM
PWM
Una modulación por ancho de pulso (PWM) se caracteriza por
una señal que tiene una frecuencia determinada, la cual se
compone por un tiempo en alto (duty cycle) y/o un tiempo en
bajo.

https://alejandrocbba.wordpress.com/
PWM

https://alejandrocbba.wordpress.com/
PWM
En el PIC 18F4550 hay dos módulos CCP (capturar, comparar y
PWM), los cuales tienen una resolución de 10 bits. Además, es
necesario una referencia de tiempos que es proporcionada por el
temporizador 2 (TMR2).

Datasheet 18F4550
PWM
Para configurar el PWM en el PIC18F4550 es necesario tener en
cuenta los siguientes pasos:
1. Configurar el periodo del PWM a través del registro PR2
2. Configurar el ciclo útil (duty cycle) a través del registro CCPR1L y
de los bits CCP1CON[5:4]
3. Configure el pin CCPx como salida a través del registro TRISC o
TRISB
4. Configure el valor de preescala del temporizador 2 (TMR2) y
habilite ese temporizador a través del registro T2CON
5. Configure el módulo CCP1 para operación PWM
CCP

Datasheet 18FXX2

Es un registro del PWM del


PIC 18F4550, permite
capturar, comparar y/o
generar PWM, el cual tiene
dos salidas, CCP1 y CCP2.
1. PR2
Es un registro del módulo TMR2 de 8 bits que permite configurar
el periodo de la señal PWM.
𝑇  𝑃𝑊𝑀 = ( 𝑃𝑅 2+1 ) ∗ 4 ∗ 𝑇 𝑂𝑆𝐶 ∗ 𝑇𝑃𝑉
  1
𝑇 𝑃𝑊𝑀 5 𝐾𝐻𝑧
𝑃𝑅 2= −1= −1=61.510 = 3 𝐷 16
4 ∗𝑇 𝑂𝑆𝐶 ∗𝑇𝑃𝑉   1
4∗ ∗16
20 𝑀𝐻𝑧
 

  𝑃𝑊𝑀 = 20 𝑀𝐻𝑧
𝐹 =312.5 𝐾𝐻𝑧
𝐹 𝑂𝑆𝐶 ( 0+1 ) ∗ 4 ∗ 16
 
𝐹 𝑃𝑊𝑀 =
( 𝑃𝑅 2+1 ) ∗ 4 ∗𝑇𝑃𝑉
  𝑃𝑊𝑀 = 20 𝑀𝐻𝑧
𝐹 =1.22 𝐾𝐻𝑧
( 255+1 ) ∗ 4 ∗ 16
CCPR1H Y CCPR1L
Es un registro de 16 bits que permite configurar el registro CCP.
Donde CCPR1L es usado para definir el ciclo útil (duty cycle) del
PWM, y CCPR1H no es usado para el PWM.

CCPR1H CCPR1L
b7 b6 b5 b4 b3 b2 b1 b0 b7 b6 b5 b4 b3 b2 b1 b0
0 0 0 0 0 0 0 0 x x x x x x x x

CCPR1L CCP1CON[5:4]
b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
x x x x x x x x x x

10 bits del
módulo PWM
2. CCPR1L
Es el registro que permite configurar el ciclo útil (duty cycle) del
PWM 𝐶𝐶𝑃
  1 𝐶𝑂𝑁 [ 5: 4 ] =102
1
  𝑇 𝑃𝑊𝑀 5 𝐾𝐻𝑧
𝐶𝐶𝑃𝑅 1 𝐿: 𝐶𝐶𝑃 1𝐶𝑂𝑁 [ 5 : 4 ]= = = 25010=00 11111010 2= 𝐹𝐴 16
𝑇 𝑂𝑆𝐶 ∗𝑇𝑃𝑉 1
(
20 𝑀𝐻𝑧 )
∗16

𝐶𝐶𝑃𝑅
  1 𝐿=0𝑥 3𝐸
250
  100
  % Ciclo útil fijo % CICLO ÚTIL CCPR1L CCP1CON[5:4]
(fijo)
 𝑥 7  5 % 𝐶𝐶𝑃𝑅
  1 𝐿=0𝑥 2𝐸 0 0x00 00
10 0x06 01
  75 % ∗ 250 25 0x0F 10
𝑥= =187.510 =00101110112 =𝐵𝐵 16 50 0x1F 01
100 %
75 0x2E 11
𝐶𝐶𝑃
  1 𝐶𝑂𝑁 [ 5: 4 ] =112 100 0x3E 10
4. T2CON
Es el registro del temporizador 2 del PIC18F4550
0 0 0 0 0 1 1 0
5. CCP1CON
0 0 1 0 1 1 0 0
CCP1CON
0 0 1 0 1 1 0 0
EJERCICIO 1

Obtener en la salida del PIC 18F4550 un ciclo útil fijo para PWM.
EJERCICIO 2

Utilizar una pantalla LCD 16x2 para visualizar el texto: “ciclo útil
PWM” el porcentaje de dicho ciclo útil; el cual debe variar de
acuerdo al giro de un potenciómetro (entrada análoga).

Das könnte Ihnen auch gefallen