Full bridges a transistor
|
Per il comando di motori bidirezionali con velocità
regolabile, vari PIC dispongono di un modulo PWM+ che consente di
comandare direttamente un Half-bridge o un Full-bridge.
L'hardware tipico di
ponte Full-bridge è composto da switch che si
possono chiudere a coppie, alimentando un carico:
La disposizione ad H degli elementi del circuito da
origine al nome H-bridge.
Gli interruttori sono
denominati A, B, C e D. Se tutti e quattro
sono aperti, nessuna corrente scorre nel carico. Se sono chiusi
A e D, al carico è applicata una tensione e
la corrente scorre in un senso, detto forward
(avanti) Se sono chiusi B e C, al carico è
applicata la tensione opposta e la corrente scorre in senso
inverso (reverse)..
Questo permette di
invertire la direzione di un motore applicato come carico.
Se,
in aggiunta, moduliamo con un PWM uno switch (tipicamente D
nel forward e B nel reverse possiamo anche variare la
velocità di rotazione.
Ovviamente non deve
mai prodursi la situazione in cui A/B o C/D
sono entrambi chiusi: questo metterebbe in corto circuito
l'alimentazione.
Invece è
possibile ere contemporaneamente B/D (oppure A/C) per produrre una frenatura elettrica del motore che si
troverebbe chiuso in corto circuito.
Il modulo ECCP/PWM+ dei PIC
consente di generare i segnali necessari in modo automatico.
Dal punto di vista
realizzativo, il ponte ad H si può costruire utilizzando
al posto degli interruttori dei transistor come MOSFET o BJT, che
garantiscono velocità di commutazione elevate.
Sono possibili diverse
topologie, usando BJT N e P o MOSFET N e P.
Se la scelta di MOSFET è
quella attualmente molto valida, nulla vieta di utilizzare
transistor PNP e NPN, componenti comuni che, probabilmente, ogni
hobbista ha nel cassetto.
H-bridge
a transistor NPN-PNP.
Iniziamo
con uno schema molto semplice.
Si
tratta di un ponte a transistore BJT pensato per comandare piccoli
carichi a tensione uguale a quella del microcontroller,
tipicamente 5V, e adatto per la didattica o per comandare piccoli
motori da un centinaio di milliampere,ottimo sia per la sua
semplicità, sia per l'impiego di parti comuni, sia per il
costo estremamente limitato.
Il funzionamento è
semplice: i transistor PNP QA e QC hanno la base
mantenuta alla V+ attraverso i pull-up R3 e R7,
che li mantengono bloccati. Per
portare in conduzione il transistor occorre applicare un livello
basso.
Per gli NPN QB e QD, mantenuti bloccati da R4/R5, occorre applicare un
livello alto per la conduzione.
Questa situazione consente di avere il ponte bloccato in mancanza di
segnali di controllo.
Il connettore JP1 consente di collegare l'alimentazione del
ponte ed il motore, mentre il JP2 va collegato ai pin del
microcontroller ed alla massa; si potrà anche alimentare il ponte
dalla Vdd o viceversa.
In ogni caso la tensione V+ deve avere valore
non superiore alla Vdd, altrimenti non sarà possibile
mandare in completa conduzione QA e QC
Usando il modulo ECCP/PWM+ di un PIC, la configurazione richiesta per il
corretto comando del ponte è:
CCP1M3:0 |
Livello logico |
Direzione |
P1A |
P1B |
P1C |
P1D |
1110 |
P1A/1C attivi L P1B/1D attivi H
P1A/1C inattivi H
P1B/1D inattivi L |
Forward |
attivo
L |
inattivo
L |
inattivo
H |
attivo
PWM |
Reverse |
inattivo
H |
attivo
PWM |
attivo
L |
inattivo
L |
I
componenti.
I
4 transistor : QA e QC sono PNP per usi generali,
in grado di portare almeno 500mA o più; ideali sono modelli
a bassissima Vcesat, come ZTX751, ZTX718, ma si potranno usare
comuni BC327, 2N2907, 2N4403, ecc QB e QD sono NPN, come sopra.
Si potranno usare ZTX749, ZTX450 o più comuni BC337, BC639,
2N2222, 2N4401 e simili (osservare le piedinature, che possono
essere diverse anche per componenti nello stesso package TO92).
I
diodi forniscono un percorso per la corrente inversa
quando l'alimentazione di un carico induttivo viene interrotta ad
ogni ciclo. Dovrebbero essere dei fast o ultra fast recovery,
genere 1N4448, 1N4936, 1N4933, 11EFS2, FR102 e simili o anche Schottky, tipo
1N5817. Se non disponibili si
potrà ripiegare su 1N4001 o 1N4148 .
R1-2-6-8 sono da 1k e R3-4-5-7
da 10k. Se necessario abbassare la tensione di conduzione di QA e
QC si potranno portare R1 e R8 a 470ohm. Un condensatore da
10-100nF può essere aggiunto in parallelo al motore per
ridurre il rumore della commutazione.
F1
è un fusibile ripristinabile da 300-400mA (opzionale) che protegge
i componenti in caso di corto circuito o eccesso di carico.
La realizzazione è
semplice, sia su millefori che su breadboard; anche un circuito
stampato è di facile realizzazione.
Nel prototipo sono stati usati 2N4401/2N4403 (R1/R8 = 1K, R2/R6
= 10k). I resistori possono essere sia su THD che SMD (saldati
sul lato rame).
Con una corrente statica di 100mA al carico, la caduta di
tensione sui PNP è circa 0.085V e sugli NPN 0.052V, con
alimentazione 5.0V, il che rientra ampiamente nelle condizioni di
sicurezza e non produce riscaldamento dei transistor.
H-Bridge
Darlington.
Se abbiamo bisogno di trattare
una corrente maggiore con una tensione diversa da quella di
alimentazione del microcontroller, possiamo realizzare questo
schema:
Si tratta sempre di una soluzione a transistor, del genere che
normalmente è recuperabile con facilità a basso costo.
Abbiamo sempre una configurazione a transistor NPN-PNP, dove usiamo
dei darlington di potenza che consentono di trattare correnti
maggiori del circuito precedente.
Inoltre, isoliamo il comando dei darlington con optoisolatori.
La massa del microcontroller e quella del ponte sono separate. Questo consente:
- di avere la tensione di alimentazione del motore del
tutto separata da quella del microcontroller,
- eliminando il problema
di accoppiamenti indesiderati e disturbi
- e garantendo una
separazione galvanica fra logica e potenza per almeno 1500V ( a
seconda della qualità della realizzazione del circuito stampato).
Si potrà applicare una tensione di 12-48V o più a seconda dei
transistor usati, mentre la corrente, dotandoli di radiatore, può
arrivare a 3-4A.
Il funzionamento è semplice: gli opto isolatori OK1A e 2A
comandano le basi dei PNP. Questi sono normalmente alla
V+ da R3/R7 che mantengono i darlington bloccati. Alimentando un
opto, il relativo transistor andrà in conduzione.
Per gli NPN, mantenuti bloccati da R4/R5, alimentando un opto
OK1B o 2B, il relativo transistor andrà in
conduzione.
Questo consente di avere il ponte bloccato in mancanza di segnali di
controllo.
Il connettore JP1 permette di collegare l'alimentazione del
ponte ed il motore, mentre il JP2 va raccogli i segnali dai
pin del microcontroller, più la Vss.
L'isolamento galvanico tra le due sezioni consente di avere la Vdd
separata dalla alimentazione del motore, che potrà assumere un
valore più alto. La massima tensione applicabile dipenderà dalle
caratteristiche dei transistor.
In serie agli optoisolatori possiamo aggiungere dei LED come
indicatori di stato.
Usando il modulo PWM+, la configurazione richiesta per il
corretto comando del ponte è:
CCP1M3:0 |
Livello logico |
Direzione |
P1A |
P1B |
P1C |
P1D |
1100 |
P1A/1C attivi H P1B/1D attivi H
P1A/1C inattivi L
P1B/1D inattivi L |
Forward |
attivo
H |
inattivo
L |
inattivo
L |
attivo
PWM |
Reverse |
inattivo
L |
attivo
PWM |
attivo
H |
inattivo
L |
I componenti:
I
4 transistor : QA e QC sono PNP, mentre
QB e QD sono
NPN.
Si potranno usare le coppie TIP125/6/7 + TIP120/1/2
(40/80/100V 5A) oppure TIPTIP145/6/7 + TIP140/1/2 (60/80/100V 10A),
ma anche BDX53/54 e simili.
Da considerare che la massima corrente ammissibile per il componente
non è quella massima erogabile dal ponte, dato che, all'aumentare
della corrente, aumenta anche il calore prodotto. Per poter trattare
correnti oltre 1A occorre un dissipatore adeguato.
Gli
optoisolatori sono generici e possono essere singoli (PC814,
PC817, 4N35, TLP521-1, PS2501-1, ecc) , doppi (PC827, ILD2, TL521-2,
PS2501-2, ecc) o quadrupli (ILQ1, PC849, TLP521-4,
PS2501-4, ecc) a seconda della disponibilità.
Nel prototipo sono stati impiegati dei duali, PC827 o TLP521-2.
Prestare attenzione al fatto che i modelli di opto multipli possono
avere diversa piedinatura.
Se
si inseriscono i LED, per una tensione di alimentazione del
microcontroller di 5V, le resistenze R9-10-11-12
potranno essere da 120/150 ohm. Senza, si potrà salire a 470 ohm o
più, a seconda della sensibilità degli opto. Le resistenze devono
far circolare la corrente nominale che tipicamente è 10-20mA.
I
diodi forniscono un percorso per la corrente inversa
quando l'alimentazione di un carico induttivo viene interrotta ad
ogni ciclo. La scelta obbligata è per fast o ultra fast recovery,
genere 1N4936, 1N4933, 11EFS2 , UF5404, UF3003, ES3A MUR320 e simili
oppure Schottky 1N5817, IN5822, ecc..
R1-2-6-8 sono da 1k e R3-4-5-7
da 10k.
Un condensatore C1 da
10-100nF può essere aggiunto in parallelo al motore per
ridurre il rumore della commutazione.
Il
condensatore C2 va aggiunto allo scopo di fornire la corrente
di spunto alle commutazioni senza caricare la sorgente di
alimentazione. Il suo valore dipenderà dalla corrente assorbita dal
motore e può essere dell'ordine di centinaia o migliaia di
microfarad.
La realizzazione è
semplice, sia su millefori che su breadboard, anche se un circuito
stampato è di facile realizzazione.
Qui è stato utilizzato un dissipatore (recupero da un alimentatore ATX)
che funge anche da supporto meccanico per i transistor.
|
Nel prototipo sono stati usati
TIP122/TIP127.
Attenzione: usando un dissipatore comune ai
vari transistor, occorre
interporre un pad isolante (mica o plastica termo
conduttiva) e la relativa ranella plastica,
oltre al compound (pasta termica) per tutti i transistor.
Kit adatti all'isolamento sono prodotti da AAVID, Fisher,
ecc e sono facilmente reperibili in rete e dai rivenditori di
componenti elettronici. |
I diodi sono FE5C, ma si può usare anche ogni altro Fast
Recovery adeguato..
Con una corrente statica di 2A a 12V e il radiatore in fotografia i
transistor non sono soggetti a riscaldamento paricolare.
H-Bridge MOSFET.
Se abbiamo bisogno di trattare
correnti elevate, i MOSFET offrono ottime caratteristiche come
switch.
Possiamo realizzare un ponte "tutto MOSFET":
l ponte è composto da due coppie di MOSFET complementari : 2
canale N (Q3-Q4) e 2 canale P (Q1 e Q2).
Le resistenze polarizzano alla tensione positiva (R5 e R6) e
negativa (R7 e R8) i gate dei MOSFET, mantenendoli bloccati quando
manca un segnale di comando, ad esempio se gli ingressi P1A/B/C/D
non sono collegati al microcontroller oppure i pin del
microcontroller sono in tri-state. Questa precauzione è
indispensabile per evitare conduzione dei transistor non desiderata
prima della presa di controllo da parte dei segnali del PWM.
Il microcontroller può comandare i MOSFET P in quanto si tratta di
elementi logic gate e la tensione di alimentazione è la stessa
della Vdd.
Se si usasse una tensione maggiore occorrerebbe inserire dei gate
driver. Questo non è un problema, ma si complicherebbe
il circuito.
Durante il funzionamento, se il segnale P1A
è a livello basso, il MOSFET Q1 entra in conduzione,
collegando il capo del motore MA alla tensione positiva.
Applicando un PWM positivo a P1D
il capo MB sarà collegato alla massa attraverso Q4:
il motore gira in funzione della polarità applicata segnale (MA + e
MB -). Contemporaneamente P1C
è a livello alto e blocca Q2 , mentre P1B
a livello basso blocca Q3.
L'inversione della direzione di rotazione si ottiene scambiando le
coppie di segnali ai gate dei MOSFET. Quando conducono Q2 e Q3,
il capo MB è collegato al positivo e MA alla massa,
invertendo la polarità su motore e quindi il senso di rotazione.
Questi segnali ai giusti livelli sono generati dal modulo ECCP/PWM
in modalità Full-bridge.
Usando il modulo PWM+, la configurazione richiesta per il
corretto comando del ponte è:
CCP1M3:0 |
Livello logico |
Direzione |
P1A |
P1B |
P1C |
P1D |
1110 |
P1A/1C attivi L P1B/1D attivi H
P1A/1C inattivi H
P1B/1D inattivi L |
Forward |
attivo
L |
inattivo
L |
inattivo
H |
attivo
PWM |
Reverse |
inattivo
H |
attivo
PWM |
attivo
L |
inattivo
L |
Le resistenze R1/2/3/4 limitano la corrente nel gate.
Quattro diodi proteggono dagli spikes di commutazione con un
condensatore in parallelo al motore per ridurre il rumore del
collettore. C2 provvede a limitare i disturbi sulla tensione di
alimentazione.
I componenti:
Q1, Q2 |
MOSFET P logic gate |
ad es. NDS6020P |
Q2, Q3 |
MOSFET N logic gate |
ad es. FQP20N60L |
R1,2,3,4 |
150ohm |
|
R5,6,7,8 |
10k |
|
C1 |
10-100nF |
|
C2 |
10-100uF |
|
Diodi |
Fast recovery o Shottky |
ad es. FR104, 1N5822, 1N4448 |
Sono stati usati MOSFET in contenitore TO-220 perchè si tratta di
elementi di facile reperibilità e basso costo.
Questo ponte può comandare correnti di qualche ampere.
Un possibile circuito stampato a faccia singola:
I resistori sono SMD saldati sul lato rame.
Se vogliamo implementare il ponte
con MOSFET non-logic gate, di più facile reperibilità e di costo
minore, oppure applicare tensioni maggiori di quella di
alimentazione del microcontroller, occorrerà inserire dei gate driver, ovvero
integrati appositamente progettati a questo scopo.
Peraltro, con gate driver potremmo utilizzare anche due coppie
di MOSFET N, che hanno il vantaggio di un costo ed una reperibilità maggiore
degli elementi P e una tensione di conduzione un poco minore.
I diodi dei ponti.
Quando alimentazione delle bobine del carico viene interrotta ad ogni ciclo, l'energia magnetica immagazzinata deve trovare un percorso per lo scarico. Ciò si traduce nella
produzione di una alta tensione inversa ai suoi capi.
Se non viene fornito un percorso attraverso cui scaricarsi, si rischia di
distruggere le giunzioni dei transistor per sovratensione inversa.
I diodi, in questa applicazione, creano il percorso a bassa impedenza.
Va considerato che esistono numerose tipologie di diodi, adatte
ognuna per specifiche applicazioni.
Un diodo a recupero veloce inizia a condurre rapidamente quando
è imposta una inversione della polarità.
Più veloce, meglio è, perché questo limita la tensione inversa
generata al momento della interruzione della corrente in un carico
induttivo, come un motore o un avvolgimento.
Un diodo Schottky è realizzato con una tecnologia diversa, tesa a
produrre una bassa caduta di tensione durante la conduzione. Si
tratta comunque di diodi veloci, con una caratteristica di recupero veloce-morbido
e quindi adatta.
Per contro, presentano una corrente di dispersione superiore e una
tensione di blocco limitata a causa della struttura della giunzione.
I diodi per uso generico come raddrizzatori sono i meno indicati
per questa applicazione, dato che hanno una limitata velocità
di conduzione.
Ne risulta che, nel caso dei ponti di
comando per motori, la giusta scelta è quella di diodi fast
recovery o ultra fast recovery oppure Schottky. Ci sono modelli a
basso costo e di facile reperibilità, come la serie FR10x o gli
schottky 1N582x. Usare diodi generici tipo 1N400x è meglio che niente, ma si tratta
di una scelta provvisoria.
Per inciso, anche se realizzassimo il
ponte con MOSFET, che hanno un diodo integrato tra drain e source,
diodi esterni sono comunque necessari, dato che quelli interni sono
a bassa velocità e possono non essere in grado di svolgere la
funzione necessaria.
Per quanto riguarda i parametri dei
diodi, la tensione dovrà essere in grado di supportare quella di
alimentazione del ponte considerando anche possibili sovratensioni
dovute alle commutazioni.
Una valutazione precisa richiede un certo volume di calcoli, che
può essere evitato applicando un margine di sicurezza ampio (es.
Vbridge 24V, Vdiodo >= 80V).
La corrente si può valutare come pari a quella del carico, sempre
con un margine di sicurezza (ad es. corrente nel motore 1A, corrente
diodo >= 1A).
|