Escolar Documentos
Profissional Documentos
Cultura Documentos
EEM001
Prof. Dr. Edson Kitani
• PWM
Bibliografia:
1 1
𝐹𝑃𝑊𝑀 = =
𝑃𝑒𝑟í𝑜𝑑𝑜 𝑇
0𝑉
0 Período 𝑇
Para um sinal cujo perfil é uma onda quadrada, o valor médio do sinal será:
𝑡𝑝 𝑇 𝑡𝑝
1
𝑉𝑚é𝑑𝑖𝑜 = න 𝑉𝑝𝑢𝑙𝑠𝑜 𝑑𝑡 + න 0𝑑𝑡 = 𝑉𝑝𝑢𝑙𝑠𝑜
𝑇 0 𝑡𝑝 𝑇
Prof. Dr. Edson Kitani - 2023 8
Figura extraída de https://www.arduino.cc/en/Tutorial/PWM Prof. Dr. Edson Kitani - 2023 9
PWM
Se medirmos a saída do PWM com um multímetro teremos a leitura do valor médio do
sinal que sai do pino CCP1 ou CCP2. Contudo, nem todos os dispositivos conseguem
trabalhar com esse tipo de sinal. Então se faz necessário uma filtragem para obter um
sinal mais suavizado.
Essa suavização pode ser obtida através de um filtro passa baixas. Veja o circuito
abaixo.
18F455
0
CCP1
GND
𝐹𝑃𝑊𝑀 1
𝐹𝑓𝑖𝑙𝑡𝑟𝑜 ≤ 𝑒 𝐹𝑓𝑖𝑙𝑡𝑟𝑜 =
10 2𝜋𝑅𝐶
Prof. Dr. Edson Kitani - 2023 10
PWM
Nesse modo o PWM é controlado pelo TIMER 2. Todas as vezes que o TMR2 = PR2 o
timer é zerado e um novo período é iniciado. O tempo 𝑡𝑝 é controlado pelos
registradores CCPRxL e CCPxCON bits 4 e 5.
𝑃𝑅2 + 1 × 4 × 𝑃𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟_𝑇𝑖𝑚𝑒𝑟2
𝑃𝑒𝑟í𝑜𝑑𝑜 =
𝐹𝐶𝑙𝑜𝑐𝑘
While(1)
{
CCP1CONbits.DC1B0 = Duty_Cycle1;
CCP1CONbits.DC1B1 = Duty_Cycle1 >> 1;
CCPR1L = Duty_Cycle1 >> 2;
CCP2CONbits.DC2B0 = Duty_Cycle2;
CCP2CONbits.DC2B1 = Duty_Cycle2 >> 1;
CCPR2L = Duty_Cycle2 >> 2;
Modifique o programa anterior para ele varie o brilho de um led de 0 à 100% e depois
mostre no display o valor lido da intensidade luminosa (0 a 100%) via o LDR. O LDR
(sensor de luz deve ser ligado na entrada AN1.