Calculadora de Timer e PWM
A calculadora de Timer PWM permite determinar a frequência, o período e o valor do registrador CCR a partir do clock do temporizador, Prescaler (PSC), ARR e Duty Cycle. Esses parâmetros são utilizados na configuração de temporizadores de microcontroladores.
O que é PWM?
PWM (Pulse Width Modulation) é uma técnica utilizada para controlar a largura dos pulsos de um sinal digital. O sinal alterna entre os estados ligado e desligado, enquanto a proporção entre o tempo ligado e o período determina o Duty Cycle.
O PWM pode ser utilizado para controlar a intensidade de LEDs, velocidade de motores, acionamento de atuadores e geração de sinais utilizados por diferentes circuitos eletrônicos.
Frequência do PWM
Em muitos temporizadores de microcontroladores, a frequência do PWM pode ser determinada pela relação entre o clock do timer, o Prescaler e o valor do registrador ARR:
Frequência PWM = Clock / ((PSC + 1) × (ARR + 1))
O Prescaler divide a frequência utilizada pelo contador do timer, enquanto o ARR determina o valor máximo da contagem antes que o contador seja reiniciado.
Prescaler (PSC)
O Prescaler, normalmente representado pelo registrador PSC, permite reduzir a frequência do clock aplicado ao contador do temporizador.
Por exemplo, quando o PSC possui valor 5999, o divisor utilizado na fórmula é 6000, pois o valor efetivo corresponde a PSC + 1.
ARR (Auto Reload Register)
O registrador ARR define o valor máximo da contagem do temporizador. Quando o contador atinge esse valor, ocorre uma atualização e o ciclo de contagem é reiniciado.
Assim como ocorre com o Prescaler, o valor utilizado no cálculo da frequência corresponde a ARR + 1.
Duty Cycle e CCR
O Duty Cycle representa a porcentagem do período em que o sinal permanece em nível ativo. Um Duty Cycle de 50%, por exemplo, significa que o sinal permanece aproximadamente metade do período em nível ativo.
Em um PWM baseado em contador, o registrador CCR (Capture/Compare Register) determina o ponto da contagem utilizado para controlar a transição do sinal.
Para uma configuração PWM convencional, uma aproximação comum para o valor do CCR é:
CCR = Duty Cycle × (ARR + 1)
O comportamento exato pode variar conforme o modo PWM, resolução do temporizador e configuração específica do microcontrolador.
Exemplo de configuração
Considere um timer com clock de 72 MHz, PSC igual a 5999, ARR igual a 99 e Duty Cycle de 50%.
Nesse caso, o divisor do Prescaler é 6000 e o período de contagem possui 100 posições. A frequência resultante é calculada pela relação entre esses valores.
Essa configuração é comum em exemplos de PWM utilizando microcontroladores como o STM32F103C8T6.
Aplicações em sistemas embarcados
Temporizadores e PWM estão presentes em diversas aplicações de sistemas embarcados. Entre elas estão controle de iluminação, acionamento de motores, geração de sinais, controle de potência e interfaces com dispositivos externos.
Durante o desenvolvimento de firmware, calcular corretamente o Prescaler, ARR e CCR permite obter a frequência e o Duty Cycle desejados sem depender exclusivamente de tentativa e erro.
Como utilizar a ferramenta
- Informe o clock utilizado pelo Timer em Hertz.
- Informe o valor do Prescaler (PSC).
- Informe o valor do ARR.
- Informe o Duty Cycle desejado.
- A calculadora apresenta automaticamente a frequência, o período e o valor calculado para o CCR.