ForHosting KIT · Strumenti per sviluppatori

Calcolatore della risoluzione PWM in bit

Questo calcolatore indica quanti conteggi del timer e quanti bit interi sono disponibili alla frequenza PWM richiesta.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Inserisca il clock del timer in hertz, la frequenza PWM desiderata e un prescaler intero opzionale. Il risultato comprende frequenza dei tick, conteggi ideali e utilizzabili per periodo, valore massimo del contatore, risoluzione teorica e intera, frequenza ottenibile ed errore. È utile per pianificare i timer di un microcontrollore prima di scegliere i registri o scrivere il firmware.

Come clock e frequenza PWM determinano la risoluzione

Un timer hardware avanza a ogni tick e riparte al termine del periodo programmato. Nella PWM allineata al fronte, dividendo il clock di ingresso per il prescaler e per la frequenza richiesta si ottiene il numero ideale di stati del contatore in un periodo. Più stati consentono al registro di confronto di rappresentare più livelli distinti di duty cycle. La risoluzione è quindi il logaritmo in base due del numero di stati. Il calcolatore arrotonda per difetto i conteggi ideali, perché il timer non può eseguire una frazione di tick, e poi arrotonda il logaritmo per indicare i bit interi disponibili. Per esempio, 72 MHz e 20 kHz senza prescaler producono 3,600 conteggi, circa 11.81 bit teorici e 11 bit interi. Il valore massimo del contatore è inferiore di uno, dato che normalmente il conteggio va da zero ad ARR o TOP inclusi. Aumentare la frequenza riduce i tick per ciclo; diminuirla offre passi di duty più fini.

Come leggere i valori calcolati

Imposti timer_clock_hz sul clock che alimenta realmente la periferica prima del suo prescaler. Non usi automaticamente la frequenza della CPU: spesso i microcontrollori derivano il timer da un bus periferico e alcuni alberi di clock applicano un moltiplicatore. pwm_frequency_hz è la frequenza di uscita desiderata nella modalità allineata al fronte. prescaler deve essere un intero positivo e vale uno per impostazione predefinita. timer_tick_hz è il clock diviso per il prescaler. ideal_counts_per_period mantiene il rapporto matematico, mentre available_counts_per_period contiene la parte intera utilizzabile. max_counter_value sottrae uno. resolution_bits indica i bit completi e theoretical_resolution_bits conserva la frazione. actual_pwm_frequency_hz usa il periodo intero e può superare leggermente l’obiettivo; frequency_error_percent misura lo scarto. L’automazione via API costa $0.002 per elemento riuscito. Il calcolo è deterministico e non usa rete o database di dispositivi.

Come applicare il risultato a un timer reale

Consideri il risultato una verifica di fattibilità e lo confronti con il manuale del microcontrollore. Un registro di periodo a 16 bit non può accettare un valore massimo superiore a 65,535, anche se il rapporto tra le frequenze offre più stati; aumenti il prescaler o applichi separatamente il limite hardware. Un risultato di 10 bit non impone un massimo esattamente pari a 1,023: significa che trovano posto almeno 1,024 posizioni. La PWM center-aligned conta spesso in salita e in discesa, introducendo un fattore vicino a due; utilizzi quindi l’equazione specifica del dispositivo. Consideri anche dead time, sincronizzazione, contatori di ripetizione e variazioni del clock nelle modalità a basso consumo. Se conta soprattutto la frequenza esatta, provi combinazioni vicine di prescaler e periodo. Per passi più fini riduca la frequenza PWM o aumenti il clock. La risoluzione matematica descrive livelli selezionabili, non precisione analogica: ritardi, jitter, driver e carico possono ridurre le prestazioni effettive.

Dimensionare un timer per LED

Verifichi che una frequenza priva di sfarfallio lasci abbastanza livelli per variazioni uniformi della luminosità.

Pianificare firmware per motori

Confronti la frequenza di commutazione con la risoluzione intera disponibile nel timer di controllo.

Scegliere il prescaler del timer

Valuti come il divisore modifica tick, intervallo del contatore, frequenza ottenibile e granularità.

Quale formula usa il calcolatore?

Per PWM allineata al fronte: conteggi = floor(clock / prescaler / frequenza PWM), bit = floor(log2(conteggi)).

Perché la risoluzione teorica è frazionaria?

Il logaritmo può trovarsi fra due potenze di due; i bit interi indicano il maggiore intervallo binario completo disponibile.

Perché la frequenza reale differisce dall’obiettivo?

Il periodo ideale può includere una frazione di tick. La conversione in conteggi interi può aumentare la frequenza ottenibile.

Il calcolo vale per PWM center-aligned?

Il risultato diretto presume l’allineamento al fronte. I modi centrati di solito contano sia in salita sia in discesa.

Viene applicata la larghezza del registro?

No. Confronti max_counter_value con il limite fisico, per esempio 65,535 per un registro di periodo a 16 bit.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/elec/pwm-resolution

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/elec/pwm-resolution \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"timer_clock_hz":72000000,"pwm_frequency_hz":20000}'
{
  "timer_clock_hz": 72000000,
  "pwm_frequency_hz": 20000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.pwm_resolution",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →