Come controlla la luminosità di una lampada 12V-55W con un circuito da
20x13mm.
Osservando
mainboard e schede varie che vanno in pensione "all'isola ecologica"
perchè obsolete oppure afflitte da qualche guasto, si nota che possono essere
fonte di componenti di un certo interesse. In particolare, MOSFET di una
certa potenza o anche piccoli MOSFET SMD, oltre a componenti passivi, come
bobine, condensatori a basso ESR, vari tipi di operazionali, gate driver e
altro.
Da qui l' idea di riutilizzarli in qualche piccolo circuito. Niente
di nuovo, giusto un piccolo divertissement per vedere cosa si può
ricavare da quello che normalmente buttiamo.
Siccome
alcuni dei componenti recuperati erano dei NE555, ne è nato questo progetto.
Un
controller PWM dalle prestazioni ragionevoli, per regolare la luminosità di
lampade o LED o la velocità di piccoli motori, può essere benissimo
realizzato a livello hobbistico (e non solo) senza il solito micro o DSP e le
relative ore di debug, con il classico 555. Come detto, ninete di nuovo.
Per prima cosa una occhiata a quello che c'è dentro, con particolare
attenzione alle uscite.
|
Osserviamo che l' uscita OUTPUT (pin 3) è un
totem pole (Q22-Q24, sink & source 200 mA), mentre l' uscita DISCHARGE
(pin 7) è un open collector (Q14, sink); il foglio dati non specifica
chiaramente la corrente gestibile dal pin 7, ma, data l'esistenza di un limite
per la resistenza di collettore, si può supporre che sia attorno ai 20 mA. La
massima tensione di alimentazione del chip è 18V, il che lo rende adatto per
l' uso a 12/15V.
|
La configurazione base come astabile è questa:
|
Il
tempo di carica del condensatore C, tempo in cui il pin 3 è a livello alto,
è dato da th = ln(2)*(Ra+Rb)*C
Il tempo in cui il pin 3 è a livello basso, ovvero C si scarica, è dato da
tl = ln(2)*Rb*C.
La frequenza è data da f = 1.44 / [(Ra+2Rb)*C
Questo fa si che il fattore DF del duty cycle sia sempre maggiore del 50%,
dato che i tempi di carica e scarica sono asimmetrici: DF = (Ra+Rb) /
(Ra+2Rb).
Anche
se Ra fosse zero, il tempo di carica non potrebbe essere minore di quello
determinato da Rb.Non che Ra possa essere realmente zero, in quanto, in fase di scarica, quando
l'open collector al pin 7 (Q14 nello schema interno del 555) va in conduzione,
costituisce il suo carico di collettore; e non può essere neppure minore di
tanto per non superare la massima corrente ammissibile dal transistor. Questa
limitazione non è negativa per motori che solitamente necessitano di una
tensione minima di avviamento; ad esempio, i motori senza spazzole delle
ventole per PC richiedono almeno il 50% della tensione per partire con
sicurezza.
|
Nel caso di regolazioni di lampade, LED e altro, invece, può essere utile
poter arrivare a meno del 50%.
Possiamo applicare una variazione allo schema precedente, tratta dalle
application del vecchio book "555 556 Timer" di Signetics o dall'
AN170 di Philips, che consente di ottenere un duty cycle variabile in un range
percentuale molto ampio, pur mantenendo la frequenza di oscillazione
abbastanza costante ed utilizzando un numero minimo di parti.
|
Innazitutto,
utilizziamo un potenziometro per fare variare il DF variando Ra e Rb, con
Inoltre
inseriamo un diodo D1 in parallelo alla Rb. Questa è la chiave per ampliare
il range del duty cycle: la resistenza interna (in conduzione) di D1 è minore
del valore di Rb (per sicurezza, con R2 da almeno 1kohm in su), quindi il
condensatore C1 si carica attraverso D1 e Ra (sarebbe da considerare per
correttezza il parallelo tra la resistenza del diodo e Rb, ma si può
trascurare) e si scarica attraverso Rb e il transistor open collector al pin
7. In questo modo è possibile ottenere DF << 50%.
|
Dato
che sono da considerare abbastanza leganti le resistenze R1, R2 e P1, se si
vuole realizzare un variatore con duty cycle 1-99%, occorre un rapporto 100:1
tra la resistenza variabile e le altre due per ottenere un DF tra 1% e
99% e anche R1= R2 per la simmetria degli estremi del range. Limitare
il range sarà in ogni caso possibile variando i valori delle resistenze.
Non
è possibile eliminare nè R1, nè R2. In particolare non si può omettere la
R1dato che, come abbiamo detto, con il cursore 2 tutto verso il terminale 1,
si cortocircuiterebbe il pin 7 alla tensione positiva, con esiti nefasti per
il Q14. Il valore scelto di 1K fa passare 12 mA @ 12V, il che rientra nelle
possibilità del transistor. Valori minori non portano particolare vantaggio,
mentre valori maggiori sono possibili. Altrettanto per la R2 che costituisce
il limite del circuito di scarica. Nelle prove è stato scelto
R1=R2=1K e P1=100k, in quanto valori facili da recuperare. Si possono comunque
usare anche altri valori; una nota riporta che, anche se non verificato in
nessuna delle prove fatte, è possibile sia necessario avere R2 > 2k7 per
assicurare l' oscillazione, ad esempio R1=R2=5k e P1=500k e così via,
aggiustando C1 per la frequenza voluta, che è f= 1.44 / [(R1+P1+R2)*C1].
Peraltro, R1 può assumere un valore diverso da R2 e P1 altrettanto: questo ha
come solo risultato un più o meno leggero restringimento del campo di
variazione del DF.
Dato
che nella fase di carica interviene anche la tensione di conduzione di D1, è
opportuno mantenerla più bassa possibile. Si possono usare benissimo diodi
correnti, genere 1N4148, ma uno Schottky con bassa tensione di conduzione
consente una migliore linearità. Tra l' altro, questi piccoli diodi sono
comuni sulle schede SMD; l' unico problema sono le dimensioni estremamente
piccole (solitamente SOD-323 e simili) che ne rendono non semplice la
manipolazione.
Sarebbe
auspicabile anche un ulteriore diodo analogo a D1 posto in serie a R2 nel
senso della corrente di scarica; però non è strettamente necessario.
La frequenza di oscillazione è data, quindi, essenzialmente da C1. Nelle
prove è stato usato un valore di circa 1.7kHz.
Una frequenza minore è possibile, come pure una maggiore, variando C1.
Vanno
tenuti presenti almeno tre punti:
- E' più facile che valori di frequenza bassi possano generare disturbo nel
campo audio (leggi: fastidioso fischio o ronzio).
- Però, maggiore è la frequenza, maggiori sono le perdite di commutazione
del MOSFET e quindi il suo riscaldamento e
- maggiore frequenza, maggiore effetto dell' induttanza del carico, comprese
quelle parassite; in particolare, per un motore, l' aumento della frequenza
genera un aumento della reattanza induttiva con una conseguente perdita di
rendimento
In
sostanza, la scelta della frequenza migliore dipenderà dalla natura del
carico. Per illuminazione, va bene qualunque valore che non provochi
sfarfallio; valori elevati sono inutili per lampade a filamento, data l'
inerzia termica dello stesso, mentre nel caso di motori si dovrà procedere
per tentativi, in relazione al motore utilizzato; in genere valori tra 250Hz e
8kHz possono andare bene.
Come ovvio
in questo genere di circuiti molto semplificati, agli estremi della
regolazione del potenziometro il valore varierà. Per avere una frequenza
costante occorre utilizzare una configurazione più complessa, con il
generatore di frequenza separato da quello del duty cycle, ad esempio con due
555 o un paio di operazionali.
Volendo
mantenere la frequenza più costante, basta aumentare leggermente le
resistenze limite nella scarica: si ottiene una frequenza (in questo caso di
circa 1.7kHz) con variazione inferiore 4% su una gamma dal 2 la 98%.
Questo
circuito ha il vantaggio di avere come uscita il pin 3, che totem pole ed è
in grado di assorbire ed emettere corrente (sink Q24 and source Q22), mentre
una uscita sul pin 7 è solo un open collector (current sink, ma non source, a
cui deve pensare un pull-up). Si può comandare direttamente un carico da
almeno 100 mA (LED, piccola lampadina, motorino, ecc).
ricordando il diodo in parallelo al carico
se induttivo e probabilmente anche uno in serie, dato che il 555 è sensibile
alle extra tensioni sull' uscita.
Se vogliamo ottenere qualcosa di più, il pin 3 però si presta bene a
comandare un buffer costituito da un transistor:
Oppure da un MOSFET N:
La scelta del transistor dipende dalla
corrente di carico. Si potranno comandare certamente tutti i piccoli e medi
transistor, ma anche qualcosa con basso guadagno, dato che dal pin 3 si può
prelevare una certa corrente. O anche darlington. La R3 limiterà la corrente
alla base a seconda della corrente di collettore e del guadagno del
transistor.
Però la caduta di tensione sulla Vcesat finisce per dare origine, a pari
corrente sul carico, ad una dissipazione di calore maggiore che non la Rdon di
un MOSFET. E il pin 3 è sufficientemente adatto a pilotare il gate di
un MOSFET, il quale, carico capacitivo, richiede un impulso di corrente
(carica del condensatore) per la conduzione e uno di scarica per il blocco.
Inoltre è ben difficile trovare transistor di una certa potenza su schede PC,
dato che i progettisti, ovunque sia stato possibile, hanno utilizzato MOSFET.
E dunque MOSFET sia.
In
particolare, scegliendo un componente a bassa resistenza di conduzione, si
possono minimizzare drasticamente le perdite per effetto Joule in conduzione e
commutazione.
In questo senso, l' uso di una frequenza non elevata permetterà al MOSFET di
raffreddarsi nelle fasi di off, anche se i fronti di commutazione non sono
ottimali. Comunque il circuito presenta tempi di salita e discesa della
tensione sul gate dell' ordine dei micro secondi, quindi assai buoni per un
driver non dedicato.
Il
numero minimo di componenti consente di applicare il concetto di partenza,
ovvero quello di realizzare un qualcosa di piccolo, tassativamente solo con
parti recuperate: MOSFET di piccole dimensioni sono facilmente estraibili da
qualsiasi elettronica tanto complessa da richiedere un VRM on board.
In questo caso è stato usato un FDS4410, in SO-8, come il 555,
pure recuperato dalla stessa fonte. Il foglio dati del componente dichiara
10A, 30V e 0.0135 ohm ed è Logic Level.
Altrettanto
recuperate sono resistenze, condensatori e diodi. Il D1 è un piccolo Schottky
in SOD-323, mentre il D2 è un fast recovery della serie SC. Di
nuovo c'è solo lo stampato.
|
Il
risultato è un "francobollo" da 20 mm x 13 mm.
I componenti SMD consentono
una costruzione compatta e miniaturizzata al massimo. In particolare
il MOSFET è in package SO-8, come il 555. |
Nella
foto, a confronto con la lampadina da 12V-21W che comanda.
Nonostante
le dimensioni, il "francobollo" è in grado di pilotare un paio di
ampere senza che il MOSFET diventi molto più che tiepido. Con uno stampato di
superficie maggiore che faccia da dissipatore, la corrente può aumentare
sensibilmente.
|
Volendo
ottenere qualcosa di più, è stata fatta una seconda versione con un
MOSFET in TO-251, dato che uno dei comuni elementi in D2Pack
o altro per SMD avrebbe costretto, per mantenere piccole le
dimensioni, a incidere anche la seconda faccia del circuito stampato
(e non ne avevo proprio voglia: si tratta di un "divertissement"
e non di uno lavoro).
Qui
è stato usato un IDP09N03LB, che dichiara 50A, 30V e Rdon = 9.1 mohm,
oltre ad essere Logic Level.
|
Vanno bene
anche altri modelli simili che sono diventati molto comuni nei VRM delle
schede madri a partire da un paio di anni a questa parte.
Rispetto ai transistor in package TO-220, questo TO-251 consente prestazioni
elevate, ma in un volume assai ridotto. Non dispone però di un sistema di
fissaggio ad un dissipatore, che non è previsto, anche se il tab può essere
saldato sul cs che fungerà da dissipatore.
Questa
versione comanda lampade da 55W (circa 5A) senza alcun riscaldamento sensibile
del MOSFET.
Il
MOSFET è montato sull' altra faccia del circuito, faccia che è priva di
piste.
Questo
è lo stampato, con le stesse dimensioni circa del precedente
Non è
stato previsto alcun sistema di raffreddamento del MOSFET per dimostrare come
sia possibile operare su potenze non minimali anche con componenti molto
miniaturizzati.
Ovviamente
il carico potrà essere costituito da LED o altro, nei limiti di corrente del
transistor usato. Non dovrebbe essere necessario ricordare che un diodo in
parallelo al carico risulta indispensabile per carichi induttivi e, sostengo
io, per ogni genere di carico, fossero pure LED, dato che
un fatto induttivo è sempre presente, anche solo nei collegamenti, fatto che
viene amplificato dalla rapida commutazione.
In
particolare, dato che il MOSFET blocca la corrente in un solo senso, nel
comandare motorini a collettore particolarmente "rumorosi" (dal
punto di vista elettrico) potrebbe rendersi necessario inserire un diodo (Schottky)
nel senso della conduzione in serie al drain, per evitare la ri circolazione
di correnti che renderebbero problematico il PWM.
Tenere
presente che all' accensione, il filamento di una lampada assorbe una corrente
molte volte maggiore di quella a caldo, mentre nel comando di un motore, il
blocco del rotore può portare ad altrettanto elevate sovra correnti.
Solitamente anche piccoli MOSFET come quelli usati, però, sopportano correnti
impulsive eccezionali, per cui il problema reale è quello di un sovraccarico
che si prolunghi nel tempo oltre i millisecondi (mentre un corto circuito del
carico è senz'altro mortale).
Dati i
limiti del 555, la tensione massima è meglio che non superi i 15V, il che va
benissimo per una alimentazione a 12V. Questo combina anche con i MOSFET
recuperati da schede madri che hanno una Vds tipicamente attorno ai 20-40V.
Il circuito funziona anche a tensioni minori, ad esempio a 5V, senza
alcuna modifica, ma va tenuto presente che, al di sotto di 8-9V, il MOSFET
deve essere tassativamente un Logic Level, altrimenti non ci sarà sufficiente
tensione di gate per il pilotaggio. E consiglio un Logic Level anche nel caso
di alimentazioni superiori a 10V, dato che questo assicura una completa
conduzione e la minima resistenza di on.
Peraltro, buona parte dei MOSFET presenti sulle schede madri è Logic Level.
D2 è il
diodo di protezione sul carico; va bene un solito 1N4004, ma molto meglio
uno Schottky o un fast; e dovrebbe essere in linea con la corrente commutata,
per cui su un carico da 6 A il diodo dovrebbe essere proporzionato e il 4004
va scartato a priori.
R3 non è
indispensabile nel caso di un MOSFET, ma può servire ad evitare eccessiva
corrente nel gate e ridurre possibili fenomeni di oscillazione. Nella versione
con il MOSFET SO-8 è assente; nell' altra è stata usata una resistenza da 10
ohm. Se si utilizza un transistor a giunzione (NPN, darlington o meno, con
corrente di collettore adeguata al carico scelto) occorre calcolare la R3 per
la corretta corrente di base in funzione del guadagno (tra qualche centinaio
di ohm per transistor a basso guadagno e vari kiloohm per i darlington).
R4 e C2
sono un filtro che disaccoppia un minimo l' alimentazione del 555 da quella
principale, dove circolano i forti impulsi di corrente. R4 deve avere un
valore basso dato che limita anche la la corrente al driver del MOSFET.
Importante, comunque, effettuare collegamenti tra controller, alimentazione e
carico con cavi di sezione adeguata e in modo ordinato. Le basettine nelle
foto hanno due contatti diversi per il carico e l' alimentazione positiva, da
riunire sulla sorgente di alimentazione.
A questo
proposito, è opportuno segnalare che un circuito del genere commuta la
corrente al carico da 0 al massimo in pochi microsecondi e viceversa, ad una
frequenza di centinaia o migliaia di hertz. Ci sono proprio pochi
alimentatori, se non di ottima marca, che possono supportare questo senza
andare in tilt, a causa della loro impedenza interna, sopratutto quando la
corrente del carico si avvicina al massimo erogabile dall' alimentatore.
Questo porta ad un funzionamento sballato del circuito PWM, oltre che ad un
possibile danno all' alimentatore. Nel caso ricadeste in questa condizione, è
necessario ridurre l' impedenza di uscita dell' alimentatore.
Qui una soluzione.
In
quanto alla corrente massima comandabile, è ovvio che dipende dal transistor
utilizzato, mentre non c'è, teoricamente, una corrente minima di carico e il
circuito può essere usato anche per comandare LED da poche decine o centinaia
di milliampere (il pin 3 di 555 da solo può gestire direttamente 100 mA senza
problemi).
Tenere presente, però, che correnti oltre i 5-6A richiedono cavi di sezione
adeguata e il MOSFET può cominciare a riscaldarsi.
Nel
campo dei 2-5A, se i MOSFET scaldano sensibilmente, può esserci qualche
problema nel pilotaggio del transistor o nel carico:
- la tensione di pilotaggio del MOSFET non è sufficiente per ottenere la
minima Rdon. Un Logic Level non dovrebbe avere questo problema nello schema
indicato. Non sono neppure molto adatti i MOSFET per alta tensione (ad esempio
quelli ricavati da un alimentatore PC perchè possono avere una Rdon
abbastanza elevata).
- la frequenza di commutazione è elevata: provare a ridurla decisamente. Se
il calore si riduce, è indice che la causa sono le perdite in commutazione.
- il carico, tipicamente se si tratta di un motore, ha problemi alla frequenza
di commutazione scelta (risonanze, effetti induttivi, problemi sul collettore,
ecc.). Un controllo oscilloscopico della forma d'onda applicata permette di
verificarlo. Molto probabilmente lo Schottky in serie risolve il problema.
Nota:
teoricamente, nello schema, servirebbe anche un condensatore tra il pin 5 e la
massa, non trascurabile per una applicazione "seria", mentre qui è
stato ignorato, peraltro senza alcuna conseguenza.
Realizzazione.
La
realizzazione in SMD è dovuta alla disponibilità di questi componenti (ormai
la maggior parte dell' elettronica è SMD e i componenti su foro si avviano
all' estinzione), ma nulla vieta di utilizzare 555 in DIP e MOSFET o
transistor in TO-220, resistenze comuni e un montaggio tradizionale, anche su
millefori.
Un
consiglio chi realizza circuiti di piccole dimensioni: utilizzate vetronite a
basso spessore (0.8-1 mm), che semplificare la vita all' auto costruttore.
Per
quanto riguarda il recupero dei componenti SMD dalle schede, questo richiede
una trattazione a parte, ma, evitando di arrostire il tutto con temperature
eccessive, devo dire che si tratta di una operazione per niente complicata e
che dà una percentuale di scarti assolutamente trascurabile. Avendo
un dissaldatore ad aria calda o uno a pincettes, la cosa è extra semplice. Ed
è più complicatao staccare i componenti con terminali dai fori delle schede
multistrato che non quelli in superficie.
Componenti, che non sono critici.
R1= R2 = 1K
P1 = 100 k
R3 = 10 - se si usa un BJT va calcolata per limitare la corrente di base
R4 = 10
C1 a seconda della frequenza desiderata
C2 = 47 uF o più
IC1 = 555
Q1 = MOSFET SO-8 Logic Level o MOSFET TO-251 Logic
Level
oppure un NPN , anche darlington, a seconda della corrente di carico
D1 = schottky a bassa corrente
D2 = schottky o fast recovery proporzionato al carico
Se
volete realizzare il tutto con tecnica normale, basterà utilizzare componenti
per montaggio su foro; il layout dello stampato, a parte le dimensioni, è lo
stesso: semplicemente le piste vanno sul lato opposto ai componenti.
Estensioni
E'
possibile modulare il PWM attraverso la tensione al terminale 5 (control
voltage) e realizzare così un sistema a feedback per un controllo di tensione
o corrente. In questo modo si potranno realizzare alimentatori switch mode o
sistemi a corrente costante (ad esempio per LED).
Può essere un campo da sperimentare.
Documentazione.
|