Calculadora de Timer / Prescaler de MCU
Esta Calculadora de Timer e Prescaler de MCU gratuita calcula frequência, período e tempo de overflow do timer a partir do clock do sistema, prescaler e valores ARR. Possui um solucionador PWM reverso que encontra combinações ótimas de prescaler/ARR/CCR para sua frequência alvo, diagramas de forma de onda SVG interativos e presets integrados para MCUs STM32, ESP32, Arduino, nRF52, PIC e RP2040.
Frequência de clock principal do MCU (antes do prescaler)
Valor do divisor de clock (divisão real = PSC + 1 para STM32)
O timer conta de 0 até ARR, então recarrega (período = ARR + 1)
Frequência do Timer
1.000 kHz
Período do Timer
1.000 ms
Tempo de Overflow
1.000 ms
Clock do Timer (após prescaler)
1.000 MHz
Contagens por Overflow
1,000
Período Máximo do Timer
59.6523 s
Tem uma sugestão?
Solicite uma nova ferramenta ou sugira melhorias — junte-se à nossa comunidade no Slack!
O que é uma Calculadora de Timer / Prescaler de MCU?
Uma Calculadora de Timer / Prescaler de MCU ajuda engenheiros de sistemas embarcados a configurar timers de hardware em microcontroladores. Timers de hardware são periféricos fundamentais usados para gerar atrasos de tempo precisos, medir larguras de pulso, criar sinais PWM (Modulação por Largura de Pulso) para controle de motores e dimerização de LEDs, e disparar interrupções periódicas. A frequência do timer é determinada pelo clock do sistema dividido por um prescaler e um registrador de auto-reload (ARR). Como esses valores devem ser inteiros dentro de faixas específicas que variam por família de MCU, encontrar a combinação certa para alcançar uma frequência alvo requer cálculos cuidadosos — especialmente quando as opções de prescaler são restritas a valores fixos (como no Arduino/AVR) ou potências de dois (como no nRF52).
Como Usar a Calculadora de Timer de MCU
- Comece selecionando seu MCU na aba Presets, ou insira manualmente o clock do sistema e a largura de bits do timer
- Na aba Calculadora de Timer, insira os valores de prescaler e ARR para ver a frequência, período e tempo de overflow resultantes
- Use a aba Calculadora PWM para inserir sua frequência e ciclo de trabalho alvo
- Clique em 'Encontrar Configurações Ótimas' para obter a melhor combinação de prescaler/ARR/CCR com o menor erro
- Revise as configurações alternativas que compensam entre precisão de frequência e resolução
- Veja o diagrama interativo de forma de onda PWM mostrando a temporização real
- Aplique os valores de preset de MCU diretamente nas abas de Calculadora de Timer ou PWM
Perguntas Frequentes
Por que a frequência PWM real é diferente do meu alvo?
Os registradores do timer (prescaler e ARR) só podem conter valores inteiros, então a frequência real é a aproximação alcançável mais próxima. Por exemplo, se você quer exatamente 50 kHz de um clock de 72 MHz, o ARR ideal seria 1439 (72M / 50k - 1), dando exatamente 50 kHz. Mas para 33 kHz, o ARR ideal seria ~2181,18 — arredondando para 2181 resulta em 33,003 kHz (0,01% de erro). A calculadora mostra a frequência real alcançável e a porcentagem de erro.
Qual é a diferença entre PSC+1 e valores de prescaler diretos?
MCUs STM32 e ARM similares usam PSC+1 como o fator de divisão real (PSC=0 significa dividir por 1, PSC=1 significa dividir por 2). MCUs Arduino/AVR usam valores de prescaler fixos como 1, 8, 64, 256, 1024 — você seleciona diretamente deste conjunto. O nRF52 usa prescalers potência de 2 (1, 2, 4, 8, ..., 512). Esta calculadora lida com todas as convenções e mostra valores prontos para registrador do seu MCU selecionado.
Como gero um sinal PWM de 50 Hz para servo motores?
Servo motores requerem um sinal PWM de 50 Hz (período de 20 ms). Para STM32F103 a 72 MHz: defina prescaler como 71 (divide por 72, resultando em clock de timer de 1 MHz), depois ARR como 19999 (20000 contagens = 20 ms). Para uma faixa típica de servo de 1-2 ms de largura de pulso, CCR varia de 1000 a 2000. Para Arduino a 16 MHz: use prescaler 64 com timer de 16 bits, ARR=4999, resultando em exatamente 50 Hz.
O que acontece se eu precisar de um timer muito lento (segundos ou minutos)?
Para períodos longos, maximize tanto os valores de prescaler quanto ARR. Um timer de 16 bits pode contar até 65535, e com o prescaler máximo, você pode alcançar períodos de vários segundos. Para STM32 a 72 MHz com PSC=65535 e ARR=65535: período = 65536 × 65536 / 72M ≈ 59,6 segundos. Para períodos mais longos, use timers de 32 bits (STM32F4/H7) que podem contar até 4 bilhões, ou encadeie múltiplos timers.
Ferramentas Relacionadas
Calculadora de Código de Cores de Resistores
Decodifique as faixas de cores de resistores para encontrar valores de resistência
Experimente →Calculadora de Vida Útil de Bateria
Estime quanto tempo sua bateria vai durar com base na capacidade e consumo de corrente
Experimente →Calculadora de Resistor para LED
Calcule o resistor correto para qualquer circuito de LED
Experimente →