MODULATORE PWM 500KHz



Il progetto di questo modulatore PWM è stato ideato dal sig. Masashi Miyagawa della Texas Instruments (file sboa212b.pdf), io mi sono limitato a realizzarlo su scheda e ad aggiungere dei componenti per generare un "dead time" nel caso si volesse usare questo modulatore per realizzare un amplificatore in classe D. Ho inoltre sostituito alcuni componenti  perché non possedevo in laboratorio quelli usati nel progetto originale, ho poi aggiunto una resistenza e una linea per il feedback globale sempre nel caso si volesse utilizzare questo modulatore per realizzare un amplificatore in classe D, lo schema è rappresentato nella seguente figura:



PANORAMICA VELOCE DEL CIRCUITO
Per la panoramica del circuito fare riferimento allo schema a  blocchi rappresentato nella seguente figura:



Il sistema è alimentato con una tensione singola di +5V, molto conveniente dato che questa tensione viene fornita dai comuni carica batteria per cellulari. Il modulatore funziona con polarizzazione a metà tensione di alimentazione, ovvero a +2.5V, dove si appoggia il segnale audio.
Il comparatore riceve  il segnale triangolare fornito da IC5B e il segnale sinusoidale fornito dal integratore IC1A, alla sua uscita è presente in segnale PWM e PWM INVERTITO, entrambi questi due segnali vanno al generatore di "dead time" costituito dall'integrato IC3, all'uscita di questo integrato sono presenti gli stessi segnali PWM e PWM IVERTITO ma con i loro fronti sfasati tra loro di un certo tempuscolo regolabile mediante trimmer in modo che mai, per qualsiasi ragione,  i due segnali si trovino allo stesso livello contemporaneamente.
L'uscita PWM del comparatore  IC2  viene sommata, tramite R8,  al segnale AUDIO IN  invertita di 180° in modo da realizzare una retroazione negativa locale. Questa retroazione non serve solo a linearizzare  il sistema, aumentare la banda audio e ad abbassare la distorsione armonica del segnale audio in uscita (per recuperarlo occorre mettere un filtro LC o sull'uscita PWM o sull'uscita PWM INVERTITO) ma serve soprattutto a far funzionare il modulatore; senza questa retroazione l'integrato IC1A sarebbe un integratore puro e per qualsiasi disturbo in ingresso la sua uscita si bloccherebbe o alla tensione di alimentazione negativa o a quella positiva, ma anche se questo non dovesse accadere esso sfaserebbe comunque il segnale di ulteriori 90° che si sommerebbero ai 180° dovuti all'inversione dell'ingresso invertente rendendo il circuito praticamente inutilizzabile. Essendo invece inserito in una catena chiusa esso si comporta solo come un filtro passa basso e la natura della sua inversione di 90° viene cancellata dalla retroazione in modo che la fase tra ingresso e uscita sia di 180° almeno fintanto la frequenza più alta del segnale audio (20KHz) sia molto al di sotto della frequenza di taglio del sistema. Come ho scritto prima ho aggiunto una linea con resistenza (R4) per una retroazione globale, ovvero una retroazione che parte dal punto centrale dei mosfet (o dai capi dell'altoparlante) invece che dall'uscita PWM del comparatore, nel caso si volesse usare questo modulatore per pilotare un finale in classe D, in questo caso R8 va tolta. Tenete conto però che andrebbero fatte delle modifiche alla polarizzazione di questo circuito per la incompatibilità della tensione presente al punto centrale dei  mosfet (sia nel caso che il finale sia alimentato da tensioni singole o duali) e i +2.5V che servono per far funzionare questo modulatore.
Entro ora nei particolari del funzionamento:

GENERATORE DI SEGNALE TRIANGOLARE
I componenti che costituiscono il generatore del segnale triangolare sono i seguenti: IC5B, IC4, R9, R7,  R10, C8.
Le forme d'onda sono le seguenti: sul punto B c'è un segnale ad onda quadra, sul punto C c'è un segnale ad onda triangolare e sul punto A c'è lo stesso segnale con livello diverso.

Ipotizzo che il livello del segnale sul punto B sia appena andato zero, il condensatore C8 si scarica linearmente (verso della corrente da p2 a p1) partendo da un certo valore ti tensione alla quale si era caricato precedentemente, in questa fase il terminale P2 è a potenziale maggiore del terminale P1, Sul punto C c'è la stesso segnale presente ai capi ci C8 ma invertito di pendenza, ovvero c'è una rampa che cresce linearmente. Quando sul punto A il livello di questa rampa crescente (diminuito in valore dal partitore R10, R7 a causa del livello a zero volt dell'onda quadra) eguaglia la tensione di riferimento VREF (2.5V) IC4 commuta la sua uscita portando il livello della onda quadra a +5V, allora il condensatore C8 si carica linearmente (verso della corrente da p1 a p2) partendo da un certo valore ti tensione alla quale si era scaricato precedentemente, in questa fase il terminale P1 è a potenziale maggiore del terminale P2, Sul punto C c'è la stesso segnale presente ai capi ci C8 ma invertito di pendenza, ovvero c'è una rampa che decresce linearmente. Quando sul punto A il livello di questa rampa decrescente (aumentato in valore dal partitore R10, R7 a causa del livello a +5V volt dell'onda quadra) eguaglia la tensione di riferimento VREF (2.5V) IC4 commuta la sua uscita portando il livello della onda quadra di nuovo a zero volt e il ciclo si ripete.
Il livello presente sul punto A è impostato, come detto, dal partitore R10, R7 che determina l'ampiezza massima del segnale triangolare sul punto C, tale livello va deciso in base a due considerazioni; se si scegliesse una ampiezza troppo bassa qualsiasi disturbo, anche di lieve entità, presente sul punto D genererebbe elevati valori di duty-cycle portando instabilità al sistema e conseguenti indesiderate oscillazioni. Se si scegliesse una ampiezza troppo vicino alla tensione di alimentazione  gli integrati lavorerebbero con segnali troppo vicini ai 5V e potrebbero generare distorsioni. In genere si sceglie il massimo livello tra 80% al 90% dell'alimentazione, io ho deciso per il 90% ovvero per un massimo livello di picco di 4.5V (Vtri_picco), ricordatevi che il segnale triangolare è appoggiato ad una continua di 2.5V quindi il valore picco-picco del segnale triangolare è:

Vtri_picco-picco =
(Vtri_picco - VREF) * 2 = (4.5 - 2.5) * 2 = 4Vpp

La formula per determinare la resistenza R10 una volta fissata, ad esempio, R7 a 10K è la seguente:

R10 =
Vtri_picco-picco  * R7 / VHL_quadra = 4 * 10000 / 5 = 8K che approssimo a 8K2

dove VHL_quadra è il picco dell'onda quadra sul punto B che ovviamente, essendo il comparatore alimentato a +5V, è 5V

La frequenza di switching è stata scelta di 500KHz (fs), con la formula seguente determino la capacita di C8 per questa frequenza, fissando a priori R9 a 5K6:

C8 = R7 / (4 * fs * R10 * R9) = 10K / (4 * 500KHz *8.2K * 5.6K) = 109pF che approssimo a 100pF

con 100pF il mio circuito lavora con una frequenza di switching di 515KHz, quindi un po' più alta di quella scelta in partenza, se volete che il segnale triangolare abbia una frequenza precisa di 500KHz basta che mettiate un trimmer capacitivo in parallelo a C8, ad esempio un trimmer da 5 -12pF non richiede una regolazione critica e va benissimo.

La tensione VREF è pari a 2.5V, deve essere costante e fornita da una sorgente a bassa resistenza, in questo circuito ho usato IC5A, sarebbe bene usare per  R11 e R12 resistenze con una tolleranza di 1% e basso coefficiente di temperatura.

Qui sotto la forma d'onda triangolare sul punto C e quella quadrata sul punto B:



Lo slew rate del segnale triangolare si determina con la seguente formula:


SW = (VHL_quadra - 2.5) / (R9 * C8) = 2.5/ (5600 * 100pF) = 4.4 V/uS

l'operazionale IC5B deve avere un slew rate almeno 5 volte maggiore, ovvero 22 V / uS


Considerando almeno 10 armoniche per ricostruire il segnale triangolare l'operazionale IC5B deve avere una larghezza di banda di:

GBW = 19 * fs  19 * 500KHz = 9.5MHz

NOTA:
19 perché l'onda triangolare è costituita solo da armoniche dispari

Per quanto riguarda il comparatore IC4 bisogna sceglierne uno con tempo di propagazione (tp) almeno 10 volte inferiore al periodo del segnale triangolare ovvero

tp <= T / 10 = 1 / (500KHz * 10) <= 200nS

INTEGRATORE IC1A (FILTRO PASSA BASSO)
Il motivo principale per il quale si usa un integratore piuttosto che un filtro attivo passa basso è per il suo elevato guadagno in continua; in un modulatore PWM la costanza  della tensione continua
(2.5V su punto D) sulla quale si appoggia in segnale audio da convertire è importantissima, se non fosse costante nel tempo il modulatore darebbe errori nella conversione. Con un elevato guadagno a catena aperta (garantito appunto da un integratore) a catena chiusa la retroazione mantiene questa tensione quasi rigorosamente a 2.5V.
Quando si analizza il circuito con catena chiusa l'integratore perde alcune delle sue caratteristiche; la fase tra ingresso e uscita, che nell'integratore preso a se stante è di 90°, viene portata a 180° valore per il quale un sistema retroazionato negativamente deve funzionare, inoltre la sua risposta in frequenza, che notoriamente è decrescente al crescere della frequenza, viene, per così dire, livellata dalla retroazione (almeno lontano dalla frequenza di taglio del sistema), in poche parole l'integratore viene visto, in catena chiusa, come un filtro attivo passa basso ma con altissimo guadagno in continua.

A IC1A si sommano sul suo pin invertente il segnale audio proveniente da una sorgente esterna con il segnale retroazionato sfasato di 180°, qualsiasi differenza tra ingresso e uscita viene corretta dalla retroazione (compresa, come ho detto, le variazioni in continua che si discostano da 2.5V)
Ho aggiunto una resistenza e un ingresso feed back che ho chiamato esterno, questo ingresso può essere usato quando con questo modulatore si pilota un finale in classe D, in questo caso questo l'ingresso va collegato o al centro dei mosfet finali o dopo il filtro LC (in parallelo all'altoparlante)), il valore della resistenza R4 va scelto in base  alla potenza di uscita del finale  e la resistenza R8 non va montata. Vanno però cambiate le polarizzazioni di questo circuito!
Per avere 2.5V sul punto D (VD) occorre alimentare il pin non invertente di IC1A con una tensione pari a metà VREF (1.25V), questa tensione si ricava mediante il partitore R2, R3, anche per queste due resistenze vale lo stesso discorso che ho fatto per R11, R12.
A questo punto basta impostare  R8 e R1 a 10K (valore scelto arbitrariamente) per avere un guadagno dell'ingresso non invertente di IC1 pari a 2:

G+ = 1 + R8 / R1 = 1 + 10K / 10 K = 2

VD = VREF / 2 * G+ = 1.25 * 2 = 2.5V

Di C1 parlerò in seguito.

Per quanto riguarda la scelta dell'operazionale IC1A valgono le stesse considerazioni fatte per il generatore di segnale triangolare

COMPARATORE IC2
Il comparatore IC2 deve convertire il segnale audio in segnale PWM confrontando il segnale audio stesso presente sul punto D con il segnale triangolare presente sul punto C,

Per quanto riguarda la scelta del compratore valgono le stesse considerazioni fatte per il generatore di segnale triangolare.

GENERATORE DI DEAD TIME IC3
Il generatore di "dead time" è costituito da un invertitore TTL molto veloce (Tp = 9.5nS), su due dei suoi ingressi sono presenti i segnali complementari Q e QN, prendiamo in considerazione, ad esempio, in segnale Q; quando esso va alto l'uscita dell'invertitore va quasi istantaneamente bassa perché il diodo D2 bypassa il trimmer R6 (la resistenza dinamica del diodo è molto bassa e quindi C6 si carica subito), quando il segnale Q va basso l'uscita va alta dopo un certo tempo td deciso dal trimmer R6 e il condensatore C6. Esattamente uguale è la sezione relativa a QN. La formula per ricavare il tempo morto td è la seguente (in relazione al segnale Q):

td = - R6 * C6 * ln(1 - VTH / VCC)

dove VTH è il livello di soglia di IC3 (che per comodità si approssima a 2.5V) e VCC è 5V.
Qui sotto una istantanea del segnale Q e QN in uscita dell'invertitore, in questo esempio td è pari a 48nS:




SCELTA DEL CONDENSATORE C1
C1 assieme alla resistenza R8 determina la frequenza di taglio del sistema, per avere minima attenuazione e minimo scostamento dai 180° del segnale audio alla frequenza più alta (20KHz)  occorre scegliere una frequenza di taglio dalle 5 alle 10 volte più alta di 20KHz. Il progettista ha deciso per 159KHz, la formula per ricavare la capacità C1 è la seguente:

C1 = 1 / (2 * Pi * R8 * ft) =
1 / (2 * Pi * 10K * 159KHz) = 100pF

Qui sotto la foto del segnale sinusoidale a 1KHz preso sull'uscita Q tramite una cella LC, in giallo il segnale audio in uscita e in viola il segnale audio in ingresso:



Qui sotto il segnale a 20KHz, notate il piccolo sfasamento rispetto ai 180° tra il segnale in uscita e quello in ingresso. Esso è dovuto al filtro LC e non al sistema. Infatti nella foto successiva si nota come il segnale prelevato sul punto D sia a 180° con quello in ingresso:





Notate la scarica e carica di C1 sull'inviluppo della sinusoide, ovviamente questo segnale sovrapposto a 500KHz va via dopo il filtro LC in uscita.

Qui tutto il necessario per realizzare la scheda, la scheda rame è stata salvata con risoluzione di 600 d.p.i.

Fabio