I 'm cercando la migliore costante di tempo RC e la sua ragione in un PWM per convertire il segnale digitale ad analogico basano sul duty-cycle e frequenza e altri parametri. frequenza PWM è 10 kHz.
I 'm cercando la migliore costante di tempo RC e la sua ragione in un PWM per convertire il segnale digitale ad analogico basano sul duty-cycle e frequenza e altri parametri. frequenza PWM è 10 kHz.
Risposte:
Il miglior RC è infinito, quindi hai un'uscita DC perfettamente increspata. Il problema è che ci vuole anche un'eternità per rispondere ai cambiamenti nel ciclo di lavoro. Quindi è sempre un compromesso.
Un filtro RC del primo ordine ha una frequenza di taglio di
e un roll-off di 6 dB / ottava = 20 dB / decade. Il grafico mostra la caratteristica di frequenza per una frequenza di taglio di 0,1 Hz (blu), 1 Hz (viola) e 10 Hz (l'altro colore).
Quindi possiamo vedere che per il filtro da 0,1 Hz il 10 kHz fondamentale del segnale PWM è soppresso da 100 dB, non è male; questo darà un'increspatura molto bassa. Ma!
Questo grafico mostra la risposta al gradino per le tre frequenze di taglio. Un cambiamento nel duty cycle è un passo nel livello DC e alcuni cambiamenti nelle armoniche del segnale a 10 kHz. La curva con la migliore soppressione da 10 kHz è la più lenta a rispondere, l'asse x è secondi.
Questo grafico mostra la risposta di un tempo RC di 30 µs (frequenza di taglio 5 kHz) per un segnale del ciclo di lavoro del 50% 10 kHz. C'è un'enorme ondulazione, ma risponde alla variazione dal duty cycle dello 0% in 2 periodi, o 200 µs.
Questo è un tempo RC di 300 µs (frequenza di taglio 500 Hz). Ancora qualche increspatura, ma passando dallo 0% al 50% del ciclo di lavoro richiede circa 10 periodi o 1 ms.
Un ulteriore aumento di RC a millisecondi riduce ulteriormente l'ondulazione e aumenta i tempi di reazione. Tutto dipende da quanta ondulazione puoi permetterti e dalla velocità con cui vuoi che il filtro reagisca ai cambiamenti del duty cycle.
La pagina web calcola che per R = 16 kΩ e C = 1 mF abbiamo una frequenza di taglio di 10 Hz, un tempo di stabilizzazione al 90% di 37 ms per un'ondulazione picco-picco di 8 mV a V max 5.
modifica
Puoi migliorare il tuo filtro andando agli ordini più alti:
La curva blu era o semplice filtro RC con roll-off di 20 dB / decade. Un filtro del secondo ordine (viola) ha un roll-off di 40 dB / decade, quindi per la stessa frequenza di taglio avrà una soppressione di 120 dB a 10 kHz anziché 60 dB. Questi grafici sono piuttosto ideali e possono essere raggiunti al meglio con filtri attivi, come una Sallen-Key.
equazioni
Tensione di ripple picco-picco per un filtro RC del primo ordine in funzione della frequenza PWM e della costante di tempo RC:
E & OE. "d" è il duty cycle, 0..1. L'ondulazione è la più grande per d = 0,5.
La risposta del passaggio al 99% del valore finale è 5 x RC.
Frequenza di taglio per il filtro Sallen-Key:
Per un filtro Butterworth (massimo piano): R1 = R2, C1 = C2
Come ha detto Steven, è un compromesso tra l'attenuazione della frequenza PWM e il tempo di risposta. Questo è il motivo per cui una tale decisione deve iniziare con una specifica di ciò che si desidera dal segnale analogico risultante. Quale rapporto segnale / rumore deve essere o almeno quanto rumore alla frequenza PWM puoi tollerare? Quanto velocemente deve accontentarsi del livello di rumore di fondo? O viceversa, qual è la frequenza superiore a cui tieni?
Si noti che potrebbe non essere possibile soddisfare un particolare insieme di criteri con una particolare uscita PWM. Diciamo che volevi un output vocale di buona qualità. Diremo che è fino a 8 kHz e 60 dB rapporto segnale-rumore. Ciò non accadrà con nessun filtro analogico ragionevolmente trattabile con PWM a 20 kHz, e certamente non con nulla di semplice come un singolo R e C.
Ad esempio, lavoriamo all'indietro e vediamo quali dovrebbero essere i caratteri PWM per supportare l'esempio vocale sopra con un singolo filtro R, C. Abbiamo già detto che la frequenza di rolloff di -3 dB è di 8 kHz, quindi questo è ciò su cui abbiamo impostato R e C. La frequenza attenuazione di un singolo R, filtro C è:
F = 1 / (2 π RC)
Quando R è in Ohm, C in Farad, allora F è in Hertz. Dovrebbe essere ovvio che questa equazione può essere riorganizzata per risolvere qualsiasi R, C o F dati gli altri due. Tengo 1 / (2 π) = .15915 sempre in un registro nella mia calcolatrice perché questo calcolo arriva regolarmente in elettronica. Poi ho semplicemente dividerlo per due di R, C, F o per ottenere il terzo.
Abbiamo due gradi di libertà e l'equazione di cui sopra ne limita solo uno. L'altro può essere pensato come l'impedenza che si desidera avere il segnale risultante. Spariamo per circa 10 kΩ, che è ciò che faremo R solo per vedere a cosa viene fuori C:
1 / (2 π 8kHz 10kΩ) = 1,99 nF
Questo è fondamentalmente il valore standard del condensatore di 2 nF, quindi ci limiteremo a farlo. Se non fosse emerso un valore comune, ne avremmo scelto uno vicino e poi tornato indietro e regolato R di conseguenza. I resistori sono disponibili in variazioni molto più fini e con tolleranze più elevate rispetto ai normali condensatori, quindi di solito trovi un valore di condensatore vicino, quindi lascia che guidi l'esatto valore del resistore.
Quindi abbiamo optato per R = 10 kΩ e C = 2 nF. Si noti che ciò deriva dal requisito di frequenza superiore a 8 kHz. Non abbiamo più scelte da fare, quindi il tempo di assestamento e il rapporto segnale rumore saranno quelli che saranno. Tutto ciò che possiamo fare ora è determinare se sarà abbastanza buono, o viceversa, quali caratteristiche PWM sarebbero necessarie per supportare le specifiche del segnale di uscita.
Poiché la specifica era un rapporto segnale-rumore di 60 dB, ciò significa che il rumore deve essere inferiore a 1 parte su 1000 della tensione, il che significa che la frequenza PWM deve essere attenuata di così tanto. Un singolo filtro R, C attenua inversamente proporzionale alla frequenza dopo la frequenza di rolloff. Questa è un'approssimazione che si interrompe vicino alla frequenza di rolloff e sotto, ma è abbastanza buona nella maggior parte dei casi dopo un'ottava o due oltre la frequenza di rollof. In altre parole, 16 kHz saranno attenuati di 2 con qualche errore, 32 kHz di 4 con meno errori, e dopo ciò puoi praticamente dividere la frequenza di interesse per la frequenza di rolloff per ottenere l'attenuazione. Vogliamo che la frequenza PWM sia attenuata di 1000, il che significa che deve essere di 8 MHz o superiore. È alto ma fattibile con alcuni processori. Per esempio,
Ora diamo un'occhiata alla risoluzione PWM. Ancora una volta, questo è guidato dal segnale da 60 dB alle specifiche del rumore, che sappiamo già significa 1: 1000. Ciò richiederebbe una risoluzione PWM di almeno 999 (si ottiene sempre un livello di uscita in più rispetto alla risoluzione PWM). Ciò significa che il clock di PWM interno deve eseguire 999 volte la frequenza di uscita PWM a 8 MHz, o sostanzialmente 8 GHz. Non succederà con parti disponibili a magazzino ragionevolmente disponibili.
Tuttavia, esiste un modo per aggirare queste limitazioni, ovvero utilizzare più di un singolo filtro R, C. Quando voglio un bel segnale analogico, di solito ne uso due o tre in successione. Vediamo come l'utilizzo di tre filtri R, C successivi cambia le cose.
Inizialmente dicevamo che la nostra frequenza di interesse superiore era di 8 kHz, il che implica che possiamo tollerare un calo di 3 dB a meno che non diciamo diversamente. Un singolo filtro R, C si attenuerà di 3 dB alla frequenza di rolloff, quindi lo posizioniamo a destra a 8 kHz. Non possiamo avere tre filtri a 8 kHz poiché si attenuerebbero di 9 dB lì combinati. Quindi, spostiamo i filtri in base al numero di poli (filtri R, C separati in questo caso).
I tre filtri R, C (tre poli) sono quindi a 24 kHz. Sembra che abbiamo perso terreno a fare questo, ma il grande vantaggio è che le frequenze di cui sopra che sono ormai attenuati dal rapporto al cubo invece di appena il rapporto come con un unico polo. Anche in questo caso vogliamo che la frequenza PWM a essere attenuato dal 1000, che è 10 ^ 3, quindi abbiamo solo bisogno di essere 10 volte al di là delle frequenze Rolloff filtro che significa 240 kHz è abbastanza alto. Questa è una grande differenza da 8 MHz. Ora il clock PWM interno o la frequenza di slice PWM devono essere solo 240 MHz. È ancora alto ma raggiungibile.
Spero che questo ti abbia dato un'idea dei problemi. Se fornisci specifiche concrete, possiamo elaborare valori specifici per il tuo caso.
È possibile migliorare le prestazioni su un singolo RC utilizzando gli stadi RC in cascata. Non si possono ottenere le migliori prestazioni in un puro filtro passivo RC multistadio come si può ottenere dai filtri attivi, ma le prestazioni possono comunque essere migliori rispetto a un singolo stadio. Sfortunatamente, non conosco particolari buoni metodi per calcolare valori RC ottimali.
Un'altra cosa da notare è che mentre la modulazione della larghezza di impulso è la forma più comune di modulazione del duty-cycle, non è l'unica. Un approccio semplice che può essere molto utile nei casi in cui la tensione di uscita target non cambierà troppo spesso e in cui è più probabile che l'uscita sia vicina al centro dell'intervallo rispetto ai bordi, è generare un insieme di segnali calcolando (valore del contatore corrente "e non" valore del contatore precedente) e ANDing quel segnale con i bit del valore di dati desiderato, in ordine inverso (in modo che l'MSB del valore di dati venga AND'ed con la xor del presente contatore LSB e il precedente). L'uso di un tale approccio, ad esempio con modulazione del duty cycle a sei bit, significherebbe che un'onda del duty cycle 32/64 sarà rappresentata da una frequenza della metà del clock PWM, anziché un'onda quadra con una frequenza 1/64 dell'orologio PWM. Un ciclo di lavoro 33/64 sarebbe rappresentato principalmente da una frequenza della metà del clock PWM, ma con alcuni impulsi extra alti inseriti.
Ecco una demo di ciò di cui sto parlando.
Tutte le grandi risposte fornite finora, ben scritte e pertinenti, ma spesso la migliore risposta richiede una domanda migliore.
Quando si considera "la migliore quantità di RC?", Quali presupposti devono essere considerati per qualsiasi progetto;
Qual è l'impedenza del filtro rispetto all'impedenza della sorgente e del carico?
Se non critico, scegli R tra sorgente e carico. Ma dire se il driver CMOS ha un valore di 10 ~ 100 Ω e dire che il carico è 100KΩ, ma si desidera una precisione dello 0,3% sulla perdita CC, quindi scegliere R << 0,3% del carico R, o come lo chiamo "metodo del rapporto di impedenza" per considerazioni sul caricamento, quindi qui R <0,003 * 1e5 = 300Ω. Questa scelta di R non è critica, ma è necessario fare attenzione a non caricare il filtro, quindi è possibile scegliere in base ai rapporti di impedenza per un rapido calcolo sulla perdita CC e sul rifiuto CA.
Supponendo che si sa impedenza di un condensatore di impedenza criteri rapporto è una soluzione semplice. Altrimenti per trovare un'impedenza nel mezzo della sorgente e del carico, prendere in considerazione un metodo Rf = √ (Rs * Rl), dove Rf è il valore del filtro RC per la sorgente, Rs e caricare Rl come un metodo per l'intervallo medio.
La cosa bella del design dipende dai tuoi criteri, spesso ci sono più risposte "migliori" per il valore RC. :)
Determinare il miglior costante di tempo RC in PWM digitale a filtro passa-basso analogico?
La risposta migliore dipende da domande diverse;
? Qual è lo spettro dei dati originali? BW =? ? Quanto rifiuto è accettabile il corriere PWM? Atten = 40dB? 60? 10 ??
Progettare un filtro basato solo sulla costante di tempo trascura la maggiore importanza della comprensione della conservazione dei dati. È meglio definire il segnale originale in modo da poter progettare un semplice "filtro adattato ottimale". Dobbiamo preoccuparci della conservazione del segnale originale e del rifiuto del segnale portante (PWM f).
È possibile scegliere qualsiasi LPF di n. Ordine per abbinare il filtro al segnale originale. Semplici filtri a condensatore a 1 chip o filtri attivi forniranno i migliori risultati. Il tipo di LPF dipende dai criteri di corrispondenza del segnale originale.
Scegli Best = frequenza massima piatta. risposta, o ritardo gruppo mf o gonne più ripide o un filtro Nyquist a 1/2 PWM f.
Quindi il prossimo metodo migliore:
definire la quantità di jitter nella tensione da filtri RC imperfetti.
Se uno stava progettando un PLC VCXO per RF e utilizzava PWM per controllare il loop, potresti preoccuparti delle bande spurie dal PWM, quindi devi considerare un LPF con una tacca su PWM Questo è facile una volta ottenuta la risposta;
Quanto rifiuto è accettabile il corriere PWM