PWM com NRF24LE1 (Parte 6/14)

PWM com NRF24LE1 (Parte 6/14)

PWM com NRF24LE1

Você já pensou que a luz do telefone, quando ligada, nem sempre fica acesa? Ele flutua com uma frequência para economizar energia que nossos olhos não conseguem sentir. É legal economizar bateria, mas como isso é feito? A resposta é PWM.
PWM é uma técnica importante para produzir tensões analógicas usando tensões digitais e controlar LEDs, CC, servo motor, etc.
Neste artigo, discutiremos sobre a geração de sinal PWM usando o módulo NRF.
Existem duas maneiras de gerar sinais PWM com NRF2LE1:
1. Use atraso para gerar pulsos com a largura desejada.
2. Use pinos de hardware PWM integrados.
Protótipo de gerador PWM baseado em módulo NRF24LE1
Fig. 1: Protótipo de gerador PWM baseado em módulo NRF24LE1
Abordaremos os dois métodos, um por um.
Primeiro método:
Este método se concentra no uso de atraso para controlar a largura do pulso. Vamos entender isso em etapas simples.
1) Primeiro, o pino de saída é colocado em ALTO.
2) Em seguida, é dado um atraso para manter a saída ALTA por um tempo especificado. Isso é feito para gerar um pulso ALTO.
3) O pino de saída está em nível BAIXO.
4) O atraso é fornecido para manter a saída BAIXA.
5) As etapas 1 a 4 são repetidas.
O período de tempo da onda gerada será a soma do atraso para o pulso ALTO e do atraso para o pulso BAIXO. O recíproco do tempo nos dará a frequência do sinal produzido. Podemos alterar o ciclo de trabalho alterando o tempo de atraso do pulso ON e OFF. O atraso pode ser criado usando temporizadores embutidos ou podemos usar funções de atraso já definidas. As funções de atraso são fornecidas por bibliotecas integradas.
Segundo método:
Neste método usaremos a funcionalidade PWM embutida do NRF24LE1 para produzir sinais. Este método é mais conveniente que o outro, pois remove a confiabilidade das funções de atraso. Uma restrição deste método é que a saída do sinal PWM só pode ser obtida em pinos habilitados para PWM.
Alguns recursos do PWM embutido são:
• Saída de dois canais. PWM0 e PWM1
• Faixa de frequência de 2 KHz a 254 KHz quando o MCU possui clock de 16 MHz.
No NRF24LE1 existem dois pinos dedicados para PWM, PWM0 e PWM1. PWM0 é o pino 3 da porta 0 e PWM1 é o pino 4 da porta 0.
O PWM é controlado através de três registros:
Tabela Listagem de Registros do NRF24LE1 usados ​​para Geração PWM
Fig. 2: Tabela Listagem de Registros do NRF24LE1 usados ​​para Geração PWM
Uma imagem foi anexada para entender a configuração da frequência PWM e do ciclo de trabalho.
Passos simples para criar sinais PWM são:
1. Selecione a duração do período escrevendo o bit7:6 do PWMCON.
2. Escolha o prescaler para frequência PWM usando bit5:2 do PWMCON.
3. Habilite PWM0 ou PWM1 usando bit1 e bit0 de PWMCON.
4. Selecione Ciclo de Trabalho usando PWMDC1 e PWMDC0.
Um código foi escrito para entender o processo de criação do PWM.

Código-fonte do projeto

###

//Program to 
#include"reg24le1.h" // Arquivo de cabeçalho de E/S para NRF24LE1
#include"hal_delay.h" // arquivo de cabeçalho contendo funções de atraso // função principal vazio principal { int i = 0, j = 0; // variável de loop P0DIR = 0; //Porta 0 como saída PWMCON = 0xfe; //ativa o PWM1 //loop infinito enquanto(1) { para(eu= 0xff; eu--; eu > 0x00) { PWMDC1 = eu; //muda o ciclo de trabalho atraso_ms(10); //atraso de 10ms } } }

###

Diagramas de circuito

Diagrama de Circuito-NRF24LE1-Módulo-Gerador PWM

Vídeo do projeto

블로그로 돌아가기

댓글을 남겨주세요

게시하기 전에 댓글의 승인을 받아야 합니다.