Este documento descreve como implementar o controle de brilho de um LED usando PWM no PIC18F4550. Ele explica como usar o conversor AD para ler a tensão de um potenciômetro e usar o valor lido para controlar o duty cycle do PWM, variando assim o brilho do LED.
Este documento descreve como implementar o controle de brilho de um LED usando PWM no PIC18F4550. Ele explica como usar o conversor AD para ler a tensão de um potenciômetro e usar o valor lido para controlar o duty cycle do PWM, variando assim o brilho do LED.
Este documento descreve como implementar o controle de brilho de um LED usando PWM no PIC18F4550. Ele explica como usar o conversor AD para ler a tensão de um potenciômetro e usar o valor lido para controlar o duty cycle do PWM, variando assim o brilho do LED.
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.