Esercizio 26demodulazione di un segnale PWM con filtro RC, ripple, PWM come convertitore D-A (temi d'esame luglio 2026, dicembre 2020 e luglio 2020)
In questa pagina 4
Testo (temi d'esame luglio 2026 problema P3; esercizi del 4 dicembre 2020 problema 4; luglio 2020 problema 5).
(i) Un microcontrollore genera un segnale PWM che commuta tra e ( V), con periodo s; è demodulato da un filtro RC (, nF) seguito da un inseguitore di tensione (). Determinare: (a) la massima corrente erogata o assorbita dal microcontrollore; (b) la relazione statica tra il duty-cycle e il valore medio del segnale all'uscita; (c) il ripple residuo all'uscita del demodulatore con . Se il modulatore (leading edge) ha una risoluzione di 11 bit: (d) il valore in volt dell'LSB, cioè la minima variazione della tensione media apprezzabile; (e) la frequenza di clock del modulatore digitale; (f) la rappresentazione interna di .
(ii) Si vuole usare il modulatore PWM di un µC come D/A rudimentale. I dati (16 bit, frazionario senza segno) sono generati a 1 kHz. Il segnale PWM va da 0 V (basso) a 5 V (alto), frequenza 20 kHz, clock del contatore 16 MHz. Determinare: (a) i bit equivalenti del segnale analogico prodotto; (b) il duty-cycle per il dato ; (c) la tensione media all'uscita del filtro per quel dato; (d) la frequenza di modulazione per una risoluzione di 10 bit.
(iii) Un LED è comandato in PWM (clock 10 MHz, modulatore a 16 bit): prescaler e valore di reset per una frequenza di modulazione il più possibile vicina a 200 Hz con risoluzione di almeno 10 bit.
Teoria usata: Modulazione PWM - duty-cycle, risoluzione e demodulazioneLa PWM trasferisce un segnale modulante $V^$ nella larghezza degli impulsi di un'onda quadra a frequenza fissa: con duty-cycle $d=t_1/T$ e livelli $\pm\frac E2$ la media è $V_{med}=(d-\frac12)E=E,\frac{V^}{V_p}$. L'informazione sta nel valor medio; il resto dello spettro (armoniche della portante) si elimina con un passa-basso (demodulazione). Il modulatore digitale è un timer: contatore + comparatore, $N=f_{clk}/f_{PWM}$ conteggi per periodo, risoluzione $n=\log_2N$ bit (massima frequenza per $n$ bit: $f_{clk}/2^n$), registro di compare = duty-cycle. Servono almeno 8 bit per evitare cicli limite.Modulazione PWM - duty-cycle, risoluzione e demodulazione →, PWM e ADC - ritardo di risposta e sincronizzazioneUn modulatore PWM digitale ritarda la risposta: il duty-cycle si aggiorna una volta per periodo (al massimo si attende $T_{PWM}$; $T_{PWM}/2$ se si aggiorna a ogni semiperiodo). Perciò il controllo digitale deve avere banda ben sotto $f_{PWM}$ (cross-over $\lesssim f_{PWM}/10$, margine di fase $\ge60^\circ$). Si campiona di solito a $f_c=f_{PWM}$: viola Shannon, ma se l'ADC è sincronizzato con la portante (trigger dal timer PWM) l'aliasing estrae il valor medio, senza ripple. Il campionamento va fatto a metà del tempo di ON (leading edge: $\frac{DT}2$, in generale a metà dell'impulso) o al picco/valle del contatore (PWM simmetrica).PWM e ADC - ritardo di risposta e sincronizzazione →.
(i) Demodulatore RC
La costante di tempo del filtro è s (la frequenza di taglio del filtro kHz è 12,6 volte più bassa della portante kHz). L'inseguitore (, nessun carico) ripete la tensione sul condensatore.
(a) Corrente. Il microcontrollore pilota in serie a : . A regime con il valor medio di è 0 con un ripple di circa V: subito dopo un fronte la tensione ai capi di è al più V, (con : mA). In ogni caso la corrente è sotto 0,66 mA (, valore che si avrebbe solo con carico al valore opposto).
(b) Relazione statica. Il valor medio dell'uscita è il valor medio della PWM: : va da V () a V (), V per .
(c) Ripple. picco-picco (il calcolo esatto con gli esponenziali dà V). La tensione sul condensatore sale e scende in modo triangolare di V attorno a 0.
(d) LSB. Il valor medio varia tra e ( V) con valori: .
(e) Clock. Con 11 bit di risoluzione il periodo contiene conteggi: .
(f) Duty 50%. (registro di compare), con registro di periodo 2048 (o 2047).
(ii) PWM come DAC
(a) Conteggi per periodo: ; bit equivalenti . (b) Dato su 16 bit (0.16 U): (41,4%): il registro di compare vale . (c) Tensione media . (d) Per 10 bit servono conteggi: . (Con 9,64 bit un dato a 16 bit viene troncato: i 6,4 bit bassi sono persi.)
(iii) LED
Per Hz con clock 10 MHz: : prescaler minimo 1 e valore di reset (periodo) , con risoluzione bit ( ✓). (A 200 Hz il LED non sfarfalla per l'occhio umano, che non percepisce modulazioni sopra circa 100 Hz.)
Errori comuni
- Dimenticare che la PWM bipolare ha valor medio , non .
- Applicare la formula del ripple quando (qui : è un'approssimazione, errore 0,5%).
- Calcolare i bit effettivi con il clock del processore invece del clock del contatore e del periodo.
- Dire che un dato a 16 bit su un PWM a bit venga riprodotto senza perdita.
Versione ripasso
Testo. PWM V a 20 kHz su RC ( kΩ, 10 nF): corrente, valor medio, ripple, LSB, clock; PWM come DAC a 16 MHz; PWM per un LED (luglio 2026, dicembre 2020, luglio 2020).
- (i) µs; – mA; ; ripple V p-p ( esatto); mV; MHz; .
- (ii) , bit; , V; 10 bit kHz.
- (iii) LED: prescaler 1, reset ( bit).
- Errori: media bipolare; ripple con ; bit dal clock sbagliato; dato a 16 bit su 9,64 bit (Modulazione PWM - duty-cycle, risoluzione e demodulazioneLa PWM trasferisce un segnale modulante $V^$ nella larghezza degli impulsi di un'onda quadra a frequenza fissa: con duty-cycle $d=t_1/T$ e livelli $\pm\frac E2$ la media è $V_{med}=(d-\frac12)E=E,\frac{V^}{V_p}$. L'informazione sta nel valor medio; il resto dello spettro (armoniche della portante) si elimina con un passa-basso (demodulazione). Il modulatore digitale è un timer: contatore + comparatore, $N=f_{clk}/f_{PWM}$ conteggi per periodo, risoluzione $n=\log_2N$ bit (massima frequenza per $n$ bit: $f_{clk}/2^n$), registro di compare = duty-cycle. Servono almeno 8 bit per evitare cicli limite.Modulazione PWM - duty-cycle, risoluzione e demodulazione →).