Help pilotaggio MOSFET

Ciao a tutti, sto utilizzando un dsPIC33F per generare un PWM (0-3.3V a 16kHz) per pilotare un LED di un'optoisolatore (6N137). Se osservo l'onda generata dal dsPIC senza LED vedo esattamente 0-3.3V in uscita.

1) Quando ci collego il LED dell'optoisolatore l'onda è invece tra 0-2.7V. Come mai ? E' dovuto a qualche resistenza di pull-up con cui sono fatte le porte del dsPIC ? Se si è sufficiente che abbassi la resistenza che ho messo per limitare la corrente a 4mA ?

2) Secondo voi riesco a pilotare un MOSFET che necessita di una Vgs = 5V con CISS = 1350pF direttamente con l'optoisolatore oppure necessito comunque di un driver ? Se si cosa mi consigliate di fare ?

Grazie a tutti, Pasquale.

Reply to
Pasquale
Loading thread data ...

semmai di pull-down! ma non credo... penso piuttosto che lo stadio di ingresso dell'optoisolatore presenti un'impedenza verso massa (alla tua frequenza di lavoro) tale da chiedere più della corrente che quel pin del pic può dare e di conseguenza la tensione si siede

interponi uno statio amplificatore tipo bjt polarizzato saturo e vedi che succede

-ice-

Reply to
ice

Pasquale ha scritto:

il transistor di OUT del PIC, quando conduce corrente, ai suoi capi,ovvero tra D e S produce una caduta di V proporzionale alla corrente che lo attraversa. se guardi sul datasheet trovi le relative curve.

devi usare dei mosfet logic-level e poi guardare sul datasheet le curve di conduzione con una Vgs di 3.3V

Reply to
emilio

La corrente la decidi in base alle caratteristiche dell'optoisolatore. Se è più alta di quella che può fornire il pic devi amplificarla in qualche modo, per esempio con un transistor o dei driver integrati

Non ce la fai perchè con Vgs = 3,3V probabilmente il mosfet non si chiude bene. Devi usare o un mosfet logic level oppure un amplificatore con un bjt o un driver, alimentati a 5V. Per il problema velocità dipende da quanto devi pilotarlo velocemente. Considera che un mosfet con quella capacità di ingresso, a 10kHz e 3,3V, necessita di 0,3mA di pilotaggio, che diventano 3 a 100kHz e 30 a 1MHz

Ciao CG

Reply to
CG Audio Laboratories

Io ho fatto così :

1) Caduta di tensione del LED dell'optoisolatore 1.4V; 2) Voglio una corrente di 3.5mA (il dsPIC33F eroga fino a 4mA) =>

(3.3V-1.4V)/3.5mA = 542 ohm;

La resistenza che ho messo è all'incirca quella sopra scritta (mi pare

530 ohm). Ora il dsPIC33F riesce ad erogare 3.5mA quindi ho pensato di non avere problemi. In realtà mi trovo un PWM 0-2.7V ed una corrente di 2.6mA. Come posso risolvere per ottenere 3.5mA ? Abbasso la resistenza da 540 ohm ?

Infatti pensavo di utilizzare un MOSFET logic level ed in uscita all'optoisolatore avere un PWM 0-5V per pilotare la Vgs. Dalle caratteristiche dei mosfet come posso ricavare in base alla frequenza quanta corrente mi serve per avere commutazioni più o meno veloci ?

Grazie a tutti, Pasquale.

Reply to
Pasquale

Beh non è mai bello avvicinarsi alle caratteristiche massime!!

No, devi amplificare. Se abbassi la resistenza metti ancora più in crisi lo stadio di uscita, che evidentemente è già al limite

Decidi tu: o metti un buffer integrato oppure un bjt o un mos amplificatore di corrente Con il buffer basta interporlo tra uscita e circuito da pilotare, mentre con un transistor (se non vuoi cambiare il programma ne servono 2) va fatto un piccolo circuito con qualche resistenza

La capacità di ingresso del mosfet la puoi vedere (con buona approssimazione) come una reattanza capacitiva in ohm. La calcoli così : Xc = 1/(2*pi*f*C) [ohm] = 1/ ([Hz]*[F]) Dopodichè calcoli la corrente come se il carico fosse una semplice resistenza

Ciao CG

Reply to
CG Audio Laboratories

Scusa ma hai problemi di corrente in uscita dall'optoisolatore o dal dsPic?

Il tuo circuito non è dsPIC-->Opto-->Mosfet?

Non ho capito il collegamento tra la capacità del mosfet e l'uscita del dsPic.

Reply to
MrRipple

MrRipple ha scritto:

Scusa... avevo letto male.... ora ho capito...

Reply to
MrRipple

"CG Audio Laboratories" ha scritto

Questo se fossimo in regime sinusoidale. Meglio fare Qg (total gate charge) *f.

Ciao OlMirko

Reply to
Strelnikov

Per prima cosa rigrazio tutti per le considerazioni interessantissime. Tanto per entrare nel vivo mi inoltro lo schema che vorrei implementare in modo da fare delle domande più specifiche :

formatting link

1) Come già da voi detto per evitare di far erogare il massimo della corrente dal dsPIC33F potrei pilotare il LED con un BJT cosa mi consigliate di mettere ? Vorrei evitare, il più possibile ritardi di commutazione.

2) Cosa ne pensate del collegamento del gate all'optoisolatore ? Secondo voi potrei collegare il gate direttamente al piedino 6 dell'optoisolatore oppure la scarica della capacità di gate mi può danneggiare l'optoisolatore per la corrente in ingresso all'optoisolatore stesso ?

Grazie a tutti, come potete vedere dal nome del file...help. ;)

Reply to
Pasquale

"Pasquale" ha scritto

Io non vedo bene il valore di R3, ma se è 1K la puoi senz`altro abbassare parecchio. Guarda nel datasheet del'opto, ci sarà pure un valore massimo di corrente in uscita; con R3 avvicinati pure a quel valore, tanto alle tensioni che hai in gioco stiamo parlando di energie bassisime...

Reply to
Strelnikov

Pasquale ha scritto:

una domanda: ai messo l'optoisolatore per avere l'isolamento galvanico? perchè se non ti serve,puoi mettere un driver x mosfet che ti risolve tutti i problemi (la Vout del DSCpic rimane quella ch'è, il mosfet viene pilotato correttamente....) emi

Reply to
emilio

Ma l'optoisolatore è ancora collegato direttamente al PIC ? Non avevi problemi di corrente di drive? A frequenza così bassa (16kHz) se proprio c'è, l'anello debole di una qualsiasi catena a discreti è proprio l'optoisolatore

Ma no! Come ti hanno già detto puoi metterla tranquillamente più bassa Non ho proprio capito il valore scelto per R2, e perchè con una frequenza PWM così bassa hai usato un optoaccoppiatore così veloce (=costoso). Inoltre in condizioni statiche assorbirai un bel po' di corrente. Guardando il datasheet :

formatting link

in figura 10 vedi che con 4kohm di carico sei intorno ai 100ns di tempo di commutazione, che stra-avanza per il tuo PWM. Probabilmente funziona bene anche con 10k. In questo modo, mettendo R3 da 2k e R4 da 12k ottimizzi i comportamenti riguardo alla scarica della capacità di ingresso del mos.....ma sono ragionamenti superflui per frequenze di lavoro così basse!!!

Io avrei messo un optoaccoppiatore più economico, e nel caso di un NPN in uscita, un PNP per pilotare il mos, o direttamente un MOS P-channel (così che se devi fare un qualcosa che devono collegare degli elettricisti fa sempre piacere vedere la massa a comune)

Ciao CG

Reply to
CG Audio Laboratories

Si per ora l'ho lasciato così perchè non so cosa metterci. Un BJT andrebbe benissimo ma non saprei su che modello orientarmi. Pensavo anche magari a qualche operazionale in configurazione trigger di schmitt, esitono già come IC, oppure devo farlo con l'operazionale etc. ? E' vero che 16kHz non è una frequenza altissima però se i componenti sono più veloci possibili è meglio : quando genero il PWM variando il duty-cycle anche a valori di duty basso posso garantire una buona commutazione.

Ho messo R2 = 1k per via dei tempi di commutazione, dalla figura 10 sembravano essere migliori di quelli per R2 = 4k. Quindi dici di mettere :

R2 = 4k; R3 = 2k; R4 = 12k;

Non riesco a capire come ottimizzo la carica/scarica della capacità di Gate. Non è troppo poca la corrente che mi passa verso il gate con queste resistenze troppo alte ? Mi interessa molto questo aspetto, è vero che nel mio caso è superfluo ma in futuro può tornare utile.

Hai ragione. Mi sto facendo un pò di esperienza.

Grazie mille.

Reply to
Pasquale

Esatto. L'ho messo per avere l'isolamento galvanico. In questo modo posso anche avere le due masse separate che nel mio caso torna utile.

Reply to
Pasquale

Se sei a 16kHz, quando hai messo componenti in grado di lavorare a più di

100kHz sei a posto (praticamente qualsiasi bjt o mos di piccola potenza). Trigger di schmitt? Operazionali? Ma no... bjt npn come per esempio BC817 (SMT, SOT-23) o BC547 (PTH, TO-92) vanno benissimo. Ricordati comunque che quando puoi non è mai male limitare lo slewrate!!! Più i tuoi fronti sono ripidi e più è largo lo spettro dei disturbi che generi. Limitando dissipi qualcosina in più però fai molto meno rumore, e se piloti un motore quest'ultimo gradisce :)

Non ci siamo capiti ed io ho avuto troppa fretta (sia di fare i conti sia di scrivere) :) Come avevi fatto tu puoi mettere R2 = 1k , R3 = 1k e R4 toglila (ricordati che il gate è bene non rimanga flottante perchè potrebbe fare scherzi: se lo provi su una breadboard collegalo a massa tramite una R, magari molto alta). Per il perchè vedi dopo :)

Un mos non vuole corrente di pilotaggio, vuole una tensione, e presenta una capacità di ingresso da caricare/scaricare. Con meno di 1,5nF, come nel tuo caso, la scarica avviene tramite il bjt dell'optoisolatore, mentre la carica attraverso 2k in serie. Il transitorio di carica/scarica durerà qualcosa meno di 3*tau , con tau = RC (costante di tempo), vale a dire : 2*1,5*10^-6 cioè 3us, mentre le scariche 1*1,5*10^-6 cioè 1,5us (ipotizzando il bjt dell'opto ideale). Non sarebbe male, però, usare un driver di potenza, così da avere i transitori di carica /scarica quasi identici e risparmiare corrente sull'optoaccoppiatore, che si comporta già sufficientemente bene con 4k

Invece del mos a canale N, avresti potuto mettere un canale P: Drain = VCC Source = carico (l'altro capo del carico a massa) Gate = collettore del transistor di uscita dell'optoaccoppiatore

Emettitore del transistor di uscita a massa e collettore con pull-up verso VCC, del valore calcolato in base alla capacità di ingresso.

Ciao CG

Reply to
CG Audio Laboratories

"CG Audio Laboratories" ha scritto

Ovviamente è un refuso... scusa se correggo per evitare confusione a Pasquale ovviamente intendevi: source=vcc drain=carico gate=collettore

Anche in questo caso vale di non dimenticare un r relativamente alta tra g e s.

Ciao OlMirko

Reply to
Strelnikov

Già.....devo imparare a rileggere ciò che scrivo :-D

Ciao CG

Reply to
CG Audio Laboratories

Grazie mille. Quindi ricapitolando :

1) Prendo il BJT (BC817 oppure BC547) npn e collego la Base all'uscita del dsPIC (0-3.3V, max 4mA); 2) Collettore verso Vcc (Vcc anche 5V) tramite una resistenza di pull-up di 300ohm; 3) Anodo del LED al collettore, catodo verso massa. 4) Emettitore verso massa ;

In questo modo quando l'uscita del dsPIC è 3.3V il BJT è chiuso, il collettore è a massa ed il è spento. Se l'uscita del dsPIC è 0V, il BJT è aperto ed il LED si accende tramite la resistenza di 300ohm che mi fa avere una corrente di (5V-1.4V)/300 = 12mA

- E' corretto ?

- Riesco a pilotare il BJT con l'uscita del dsPIC ?

- Quando il BJT è chiuso ci passa una corrente di circa 5V/300 = 16mA. Va bene ?

Dici che 3us ed 1.5us come tempi vanno bene ? Per una frequenza di 16kHz ho un periodo di circa 60us ed un semiperiodo per un onda al 50% di 30us. Sommanso 3us+1.5us = 4.5us vuol dire che fino ad un duty del 12% (o anche

88%) riesco a salire e scendere completamente. Giusto ? Va bene una cosa del genere ? Dato che ho bisogno di identificare il motore non vorrei avere di mezzo non linearità dovute proprio al circuito di pilotaggio. Forse con un driver tipo MAX4427 posso migliorare un pò le cose. Help.

Grazie mille vi prego di portare pazienza ;).

Pasquale.

Reply to
Pasquale

....tramite una resistenza opportunamente calcolata

Perchè? Più semplicemente Vcc---R---Aled Kled---Cbjt Ebjt---GND

La R dovrà essere calcolata in base alla corrente che vuoi far scorrere nel led dell'optoisolatore, e di conseguenza potrai calcolare la R tra l'uscita del micro e la base del bjt

ok

Con il tuo schema probabilmente guadagni qualcosa in velocità di commutazione ma sprechi corrente in condizione di bjt chiuso.

certamente, con la R di base ovviamente

Puoi evitarla

Il fatto è che una quadra a 16kHz per non essere stondata deve portarsi dietro almeno la terza armonica (o parte di questa)... Questo significa che se scendi oltre il limite per cui il circuito passa-basso non riesce ad arrivare alla tensione di pilotaggio comunque passa una parte di energia, e come ti ripeto, il motore gradisce

Se ci dicessi meglio l'applicazione forse si potrebbe capire se fare una cosa semplice o se richiedi alta precisione. Con un driver come quel max non stondi un bel niente ma potrebbe essere uno spreco (1,61$ sono tanti per un driver!!!!)!!! Devi fare un qualcosa "di riferimento" oppure semplicemente pilotare motori tipo ventole & affini ?

Ciao CG

Reply to
CG Audio Laboratories

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.