Você está na página 1de 4

Laboratório de Microcontroladores

Prática 6: Aplicando PWM ao PIC.


Turma: 03
José Henrique Azevedo Nunes - UFPI - 2022.2
Prof. Me. Caio Araújo Damasceno, UFPI

Resumo - Nesta prática foi implementado um controle


de brilho sobre um LED por meio de um
potenciômetro. Para isso foi usado periféricos do PIC
como o conversor AD e o módulo CCP.

Palavras-chave — PIC18F4550, brilho,


potenciômetro, PWM, duty cycle, Conversor AD.
I. OBJETIVOS
● Familiarizar com o conjunto de instruções
TRIS E PORT do PIC18F4550 usando o
PWM e o conversor AD.

Fig.1: exemplo de conversão AD(Analógico-Digital)


II. MATERIAL UTILIZADO
● 1 PIC18F4550; Veja na Fig.1 que temos um sinal de tempo
● 1 botões; contínuo representado em verde. Muitas vezes precisamos
● 1 resistor de 10 kΩ; em nossos projetos conseguir processar esse tipo de sinal,
● 1 resistor de 330Ω; para isso fazermos amostragens dele em tempo discreto. O
● 1 LED vermelho; resultado desse processo pode ser visto no gráfico em
● 1 potenciômetro de 1KΩ; vermelho, gráfico de tempo discreto com vários patamares
que são números inteiros.
● 1 osciloscópio;
Quanto mais bits o conversor AD possuir mais
● 1 cristal de 20 MHz; próxima será a conversão do sinal original pois há mais
● 2 capacitores de 22pF. patamares possíveis. Por exemplo, o PIC18F4550 possui um
conversor de 10 bits, ou seja, os patamares da conversão
podem assumir valores de 0 até 1023. Considerando que a
III. DESENVOLVIMENTO TEÓRICO
entrada de tensão no conversor seja de 0 a 5V cada patamar
representa uma variação de aproximadamente 4,8 mV.
Nesta prática queremos controlar o brilho Já o segundo desafio consiste em uma forma de
fazer com que o LED varie o seu brilho entre desligado e
de um LED a partir de um potenciômetro. Esse
ligado com uma tensão de 5V. Para entender como vamos
problema pode ser dividido em dois: conseguir fazer isso considere que o LED está em um circuito com
fazer a leitura da tensão no terminal central do uma chave, quando fechada é aplicada uma diferença de
potenciômetro e a partir desse valor de tensão potencial V nos terminais do led e quando aberta não há
regular ao brilho do LED. tensão nos terminais. Veja a Fig.2.
No primeiro desafio, os extremos do
potenciômetro estão sob uma tensão de 5V e à
medida que é girado seu cursor a tensão no pino
central varia. Do contexto do problema deduzimos
que não podemos resolvê-lo por meio de uma
entrada digital já que existem valores de tensão
variados. Para fazer essa leitura é preciso utilizar
um periférico do PIC chamado conversor AD. Um Fig.2: Circuito com LED e interruptor
conversor A/D transforma um sinal analógico,
Agora imagine que podemos abrir e fechar o
contínuo no tempo, num sinal amostrado, discreto circuito com uma alta frequência, lembre que quando o LED
no tempo, quantizado dentro de um número finito pisca com uma alta frequência existe o fenômeno da
de valores inteiros, determinado pela resolução persistência da visão humana. Considere também que
característica do conversor em bits (8, 10, 12, 16 podemos controlar o tempo que o circuito fica aberto e
etc). Veja um exemplo na Fig.1. fechado, se metade do tempo o LED está sobre uma tensão
V e na outra metade sem tensão é razoável pensar que a
potência fornecida a essa carga é metade da potência
fornecida quando em todo o tempo o LED está sob uma
tensão V. Dessa forma o LED brilha com metade de seu
brilho. Um outro exemplo: se queremos 20% do brilho do
LED devemos deixar o circuito aberto em 20% do tempo e
fechado por 80%.
A ideia de controle de brilho do LED por meio do
PIC é a mesma. Quem faz esse papel é o periférico chamado
PWM, ele consegue gerar ondas com diferentes
porcentagem do seu período em nível alto (duty cycle). Na
Fig. 3 veja o exemplo para a potência de 50% numa carga.

Fig.3: onda com duty cycle de 50%

Podemos variar o duty cycle, também


chamado de ciclo ativo, de 0 até 100 porcento, em
que 0 significa uma onda totalmente em nível baixo
e 100% uma onda totalmente em nível alto.
Quando fazemos essa variação a potência aplicada
a carga da Fig.2, no nosso caso o LED, varia na
mesma proporção.
Da mesma maneira que o conversor AD
possui um número de bits associados o PWM
também possui. Esse número de bits faz referência
ao número de estados possíveis para o duty cycle. Fig. 4: Código da montagem
Se o número de bits é 8 significa que o ciclo ativo
possui 256 estados possíveis, sendo que o número 0
representa uma onda toda em nível baixo e 255 Veja que é um código curto, resumidamente
uma onda toda em nível alto. Quando aumentamos precisamos configurar o Timer 2, ligar o PWM,
configurar o conversor AD e por fim passar a
esse número de bits significa que temos um maior informação lida pelo conversor para o PWM.
número de possibilidades para o duty cycle. Por
exemplo, com 10 bits existem 1024 possibilidades. A função setup( ) começa configurando Timer
2, timer atrelado a geração de onda do PWM.
No nosso caso, usar uma maior quantidade de bits Primeiramente atribuímos 255 ao PR2, registrador
significa possuir mais valores intermediários de de controle de estouro do Timer 2, quando a
brilho do LED e assim conseguimos uma contagem atingir o valor em PR2, é reiniciada.
progressão mais suave quando variamos o duty Além disso, ligamos o Timer 2 com prescaler de 16
cycle de 0 a 100%. O PWM do PIC18F4550 possui resultando numa frequência de estouro de 1220,70
10 bits de resolução. Hz, essa é a mesma frequência da onda gerada pelo
PWM. Depois colocamos o módulo CCP2 no modo
Juntando esses dois periféricos, o PWM, seleccionamos o canal 12 no conversor AD,
conversor AD e o PWM, conseguimos resolver o existem vários canais, e configuramos todos os
problema proposto na prática. O conversor AD irá pinos possíveis como analógicos. Por fim
converter a tensão no potenciômetro, o número configuramos a RC1, pino do módulo CCP2, como
resultante desse processo será passado para o duty saída e o RB0, pino do canal 12 do conversor AD,
cycle do PWM. Assim conseguimos fazer o como entrada.
controle de brilho no LED. A função pwm( ) possui a simples função de
passar os 10 bits da conversão AD para os 10 bits
IV. MONTAGEM relacionados ao duty cycle do PWM. Observe que é
Veja na Fig.4 ou no link na próxima página o preciso relacionar cada bit de forma correta. Por
código usado nessa montagem. exemplo, o bit mais significativo da conversão deve
ser atribuído ao mais significativo do PWM, o
segundo bit mais significativo da conversão deve
ser atribuído ao segundo bit mais significativo do
PWM e assim por diante.
Na função principal executamos a função
setup( ) e dentro do while fazemos a leitura do
canal 12, onde o potenciômetro está conectado, e
passamos o resultado dessa leitura para o PWM.
Veja na Fig. 5 a simulação da montagem no
Proteus.
A seguir um link para o código da montagem e um
vídeo do cronômetro funcionado no Proteus:
● link código;
● link vídeo

V. DISCUSSÕES E CONCLUSÕES WR kits. Conversão AD Básica Família


Nessa prática aprendemos a utilizar dois 18F. YouTube, 4 de mai. de 2016. Disponível em
novos periféricos do PIC, o conversor AD e o <CONVERSÃO AD BÁSICA FAMÍLIA 18F |
PWM. Com o conversor AD podemos fazer muito Curso de PIC #077 - YouTube> Acesso em 20 de
mais que a leitura da tensão em um potenciômetro. fev. de 2023.
Por exemplo, podemos utilizar variados tipos de WR kits. PWM com Timer 2. YouTube,
sensores com ele e assim captar grandezas do 10 de jun. de 2015. Disponível em <PWM COM
mundo real, como temperatura, pressão, TIMER2 | Curso de PIC #030 - YouTube> Acesso
luminosidade, distância. Por meio do PWM em 20 de fev. de 2023.
conseguimos controlar mais que o brilho de um
LED, por exemplo é possível controlar a
velocidade de motores, fazer o controle de
luminosidade, controle de servomotores.
IV. REFERÊNCIAS BIBLIOGRÁFICAS

WR kits. Conversão AD. YouTube, 28 de


jan. de 2015. Disponível em <CONVERSÃO A/D | José Henrique Azevedo Nunes(a) é aluno do 5°
Curso de PIC #011 - YouTube> Acesso em 20 de período no curso de engenharia elétrica da UFPI.
fev. de 2023.
Prof. Me. Caio Araújo Damasceno é mestre em
Eficiência Energética e Sustentabilidade nos
Edifícios e na Indústria e professor do curso de
engenharia elétrica da UFPI.

Você também pode gostar