MOSFET: ma come si dimensionano?

Salve a tutti! Sono qui per chiedervi aiuto perche son giorni che uso google con un problema enorme: fin troppi risultati e apparentemente (almeno ai miei occhi) contraddittori :sob: Premesso che di elettronica purtroppo ne capisco poco, vi spiego il mio problema: ho ordinato una striscia led rgb con i led indirizzabili singolarmente, una ws2811 12V da 1 metro con un consumo per metro dichiarato di 14.4W. Detto questo vorrei controllarla via pwm con un arduino nano , da quanto ho capito necessito di tre mosfet, tuttavia non capisco bene i criteri con il quale van dimensionati o scelti. Per casi simili a volte vengon consigliati alcuni mosfet, altre volte altri, altre volte ancora leggo dei tip120 che da quel che ho capito non è un mosfet ma un "semplice" transistor. quindi la mia domanda è: che devo prendere? come si sceglie quel che va preso? l unica cosa che mi sembra di aver capito è che nel caso serva un mosfet( e non un transistor quale quello citato prima),va preso logic level in modo che i 5v dell uscita dell arduino bastino a comandarlo. potete aiutarmi? grazie mille :slight_smile:

WS2811 è la sigla di un ic specializzato per il controllo dei led RGB, fa tutto lui e non serve nessun mos, tanto meno serve il pwm in quanto il controllo avviene tramite un bus seriale.
Basta che alimenti la striscia con la tensione richiesta, ci sono versioni sia a 5V che a 12V, le seconde sono composte da gruppi di tre led controllabili singolarmente, e invii i comandi per regolare colore e intensità dei led.
Sarebbe il caso che metti il link al prodotto che hai preso in quanto di queste strisce ne esistono molte varianti e senza sapere cosa hai acquistato esattamente è impossibile dirti esattamente cosa devi fare.

Come per qualsiasi altro componente, si dimensionano tenendo presente quanto devono reggere, e soprattutto quale risultato vuoi ottenere …

Prima di tutto, si, essendo le uscite di arduino al masismo a 5V, i mosfet servono del tipo logic-level (cioe’ che entrano in piena conduzione con meno di 5V sul gate, mentre i mosfet “standard” possono richiedere dai 9 ai 15V circa per entrare in piena conduzione) … quindi sui datasheet cercare prima di tutto quelli che hanno l’indicazione logic-level, o in assenza di questa, la Vgs piu bassa …

Poi, per carichi che richiedono alte correnti, i mosfet sono migliori per una serie di ragioni (a parte la velocita’ di commutazione piu elevata della media dei transistor) … prima di tutto, perche’ un transistor avra’ sempre una caduta minima di almeno 0.6V (un po di piu, fino a circa 1V per alcuni modelli), questo oltre a toglierti quel valore dalla tensione che devi comandarci (non molto importante magari se usi i 12V, ma inizia a diventare importante per tensioni basse), avra’ una dissipazione di potenza in calore data dalla caduta per la corrente circolante, e quando iniziano ad essere un po di Ampere, scalda parecchio la cosa … mentre il mosfet ha una RdsON (resistenza fra source e drain in condizioni di piena conduzione) che puo essere molto piu bassa, specie per i mosfet di potenza (puo arrivare a soli 4 o 5 milliohm in certi modelli), quindi la caduta di tensione dipende dalla corrente che circola e dalla RdsON …

E’ facile calcolare che, per ad esempio un transistor che debba pilotare 10A, la dissipazione minima di potenza in calore sarebbe di almeno 6W, con una caduta minima di 0.6V, mentre sempre come esempio, usando un mosfet di potenza con una RdsON di 10 milliohm, la caduta sarebbe di circa 0.1V, e la dissipazione di circa 1W … quindi per carichi a correnti alte, se non si vogliono usare dissipatori troppo grossi e perdere il meno possibile in tensione, i mosfet sono da preferire …

Anche perche’, se non li si deve usare in commutazione veloce (circuiti in PWM, ad esempio), dato che il gate funziona in tensione e non in corrente, per pilotare un mosfet da 100A basterebbe la poca corrente di un’uscita digitale, mentre per pilotare un transistor da 100A, servirebbe parecchia corrente e probabilmente una configurazione a darlington per avere abbastanza amplificazione (il che raddoppierebbe pure la caduta di tensione, fra l’altro)

EDIT: scusa Astro, mi era sfuggito che usava gli RGB con i chip, pensavo a striscie standard :stuck_out_tongue:

Forse hai fatto un po' di confusione.

Il WS2811 è un driver per LED RGB che, tramite PWM da lui stesso generato, provvede a fornire una corrente costante ai tre canali (colori) del LED.

Il comando si fornisce con un segnale seriale TTL (uscita digitale di Arduino) che consente di variare la luminosità (256 livelli) di ogni colore attraverso un codice a 24bit.

La striscia contiene per ogni LED RGB già il suo WS2811 e relativi resistori per limitare la corrente.

Tu devo solo applicare la tensione prevista (nel tuo caso a 12V) con un alimentatore da circa 1.2A per ogni metro della striscia.

Cioè, se la striscia è lunga 5m, l'alimentatore dovrà essere da 6A.

Per variare la luminosità di ogni singolo LED devi usare l'apposita libreria, e connettere il DAT ed il GND.

grazie mille per le rapidissime risposte! Il link è questo: link (si, ho puntato all economia per la striscia ma è per iniziare ad imparare,da universitario non ho granche come budget :cold_sweat: ) quindi da quel che ho capito non si deve gestire come un banale led con la porta pwm, ma basta gestirla tramite libreria per comandarla non solo per il colore ma anche per la luminosità. Inoltre per vari motivi quali velocità di commutazione e dissipazione conviene un mosfet, ora la domanda è: come si sceglie il modello esatto? Perche ho visto varie risposte anche qui sul forum e mi è parso di vedere che i mosfet fossero sovradimensionati (ripeto:agli occhi di un ignorante in materia) rispetto la reale necessità. è forse perchè si cerca di tenere la RdsON il piu bassa possibile?

Esatto, considera inoltre che in ogni caso è bene sovradimensionare, per far lavorare i componenti in modo tranquillo e sicuro. Immagina di dover percorrere un tratto di strada a 180 km/h; una utilitaria si sforzerà molto (ammesso che ci arrivi, a quella velocità), una berlina con un motore 2500 lo farà tranquillamente, se poi usi una Ferrari, ricordati di mettere almeno la seconda...

Dirai: "ma il prezzo di acquisto di quelle vetture è molto diverso". Esatto. Guarda invece i prezzi dei MOSFET.

Mentre il transistor opera con un controllo in corrente e, quindi, si deve tenere in considerazione il guadagno (hfe) per determinare la corrente necessaria da fornire alla base per ottenere una certa corrente sul collettore, il MOSFET opera in tensione.

Puoi considerare in prima approssimazione che il gate sia un condensatore: occorre una certa tensione per farlo condurre (tensione di soglia VGth) ed una certa corrente per caricare la capacità: ecco perché si inserisce un resistore sul gate da 220 ohm per limitare la corrente di carica che, teoricamente, sarebbe infinita.

Quando il MOSFET va in conduzione, l'unico limite alla corrente che fluisce tra il drain ed il source è la resistenza RDSon: più è bassa, minore è la dissipazione termica del MOSFET.

Quindi i criteri per la scelta del MOSFET sono due (oltre ad altri, ovviamente): VGth e RDSon.

Ripeto, quelle strisce non hanno bisogno di MOSFET o transistore. Hanno il controller giá montato. Metti una resistenza d 330 Ohm tra Arduino e Din della striscia senó si rompe il primo WS2811 quando sono accesi i 5V ma non i 12V. Ciao Uwe

cyberhs: Quindi i criteri per la scelta del MOSFET sono due (oltre ad altri, ovviamente): VGth e RDSon.

Il terzo criterio é la corrente di carico che deve pilotare. Non ha senso usare un MOSFEt da 100A per accendere un LED da 20mA. Non é un problema di usare un MOSFET sovradimentsionato ma perché usarne uno da 4€ al posto di uno da 0,3€? Il quarto é il prezzo e il quinto criterio é quello che si ha in casa o quello che ha il negoziante dietro l'angolo in negozio.

Ciao Uwe

scusatemi tanto, forse non ho capito bene. il mosfet non è necessario per pilotare la striscia led? basta inserire una resistenza al din (ai din, non dovrebbero essere 3? uno per colore?) e pilotare il tutto tramite libreria?

Ciao, il DIN è il bus di comunicazione seriale e con la resistenza eviti di danneggiare arduino dato che è alimentato a 5v contro i 12 della striscia. https://www.adafruit.com/datasheets/WS2811.pdf

Stefano

La striscia che hai indicato ha un integrato ogni 3 LED che li pilota in PWM nei 3 colori. La striscia ha 3 fili o contatti: massa, alimentazione e entrata dati (Din) / usciata dati (Dout) dall'altra parte. Devi usare la libreria fastLED o la libreria Neopixel. I WS2812 / WS2812B sono dei LED con il controller WS2811 integrato, chiamati da Adafruit anche Neopixel. http://fastled.io/ https://github.com/FastLED/FastLED/wiki/Overview https://learn.adafruit.com/adafruit-neopixel-uberguide/overview

Ciao Uwe

cam9500: Ciao, il DIN è il bus di comunicazione seriale e con la resistenza eviti di danneggiare arduino dato che è alimentato a 5v contro i 12 della striscia. https://www.adafruit.com/datasheets/WS2811.pdf

Stefano

No, la resistenza non é per proteggere l' uscita di Arduino ma per evitare che si rompe il WS2811 (il primo della striscia) in caso di mancanza alimentazione (12V) e di presenza di tensione sul pin dati.

Ciao UWe

Come ti hanno gia detto, il mosfet non ti serve, l’ingresso DIN e’ un’ingresso dati, e ci pensano i chip gia presenti nei singoli led a pilotarli …

Per quanto riguarda invece il sovradimensionamento dei mosfet (che NON servono a te in questo caso, e’ solo per rispondere a quella domanda), lo si fa perche’ piu e’ alta la corrente sopportata dal mosfet, piu e’ bassa la sua RdsON … ovviamente, tutto dipende dall’uso che ne vorresti fare, come giustamente detto anche da uwe, non avrebbe senso usare un mosfet da 100A per pilotarci un led, mentre invece avrebbe senso usare un mosfet con corrente massima molto alta se tu dovessi, per esempio, pilotarci un carico che richieda parecchi Ampere, soprattutto se la tensione da commutare fosse bassa …

Per fare un’esempio, metti di avere un carico (qualsiasi carico resistivo) che richieda 15A a 12V in modo continuo quando acceso … potresti pensare di usare un comune IRL540, perche’ regge tranquillamente 20A continui e 28 massimi, quindi meno dei tuoi 15 richiesti, ma ha una RdsON media di circa 0.1 ohm a quella corrente … il che significa che avrebbe una caduta di tensione interna di circa 150.1=1.5V (quindi sul carico ne arriverebbero 10.5 anziche’ 12), e che a 15A finirebbe per dissipare in calore 1.515=22.5W (con un buon dissipatore robusto ce la farebbe pure, ma senza ventilazione in pochi minuti potresti cuocerci sopra un’uovo :P) … se invece usassi, ad esempio, un IRL3713, la cosa sarebbe molto diversa … il datasheet riporta corrente massima 170A e RdsON 0.003 ohm … potresti pensare che e’ esagerato usare un mosfet da 170A per pilotarne solo 15, pero’ la sua RdsON di soli 3 milliohm ti causerebbe una caduta di tensione sul mosfet di soli 150.003=0.045V, praticamente insignificante, ma soprattutto la potenza dissipata dal mosfet sarebbe di soli 0.04515=0.675W … praticamente non servirebbe neppure usare un dissipatore, se il mosfet fosse in una posizione in cui circola aria naturalmente, o al massimo, se dovesse fare molte comutazioni in poco tempo, un piccolo dissipatorino da un paio di cm basterebbe ed avanzerebbe pure … per questo con carichi ad alte correnti e’ sempre meglio esagerare ed usare mosfet che reggano come minimo 10 volte, o piu, la corrente che serve … non per la corrente in se, ma per il resto dei vantaggi :wink: