Progetti - PIC

 

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). 


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 17/04/20.