Problema con transistor tip120 e motore Dc

Salve a tutti,sono nuovo del forum,sono Andrea, uno studente di un istituto informatico, avrei un 'piccolo problema'...

Di recente ho comprato un 'vecchio' elicottero Rc Walker w5 con il quarzo rx bruciato, la mia idea era togliere la scheda originale dell'elicottero e pilotarlo con una arduino, aggiungendo poi vari sensori per il rilevamento di altezza, accellerometro ecc, in modo che resti stabile autonomamente.

Per la gestione dei motori pensavo di utilizzare un transistor tip120(per ogni motore), allo stesso modo del tutorial del seguente link (https://duardino.wordpress.com/2011/03/27/tutorial-arduino-3-gestiamo-un-motore-dc/).

Fin qui tutto bene, il problema nasce quando provo a mandare il motore al 100% delle sue possibilità: il motore gira molto più lentamente di quanto non dovrebbe fare. Nello sketch inserisco come riga di comando di prova la seguente istruzione: analogWrite(transistor, 255); in modo che la potenza sia al massimo, ma se collego il motore direttamente all'alimentazione (7,4v batteria lipo)(corrente nominale del motore se non erro), le eliche dell'elicottero girano ad una velocità quasi doppia.

Ho provato a misurare l'assorbimento di corrente ed ho notato che tramite transistor risulta circa 2,80 A, mentre se lo collego in modo diretto all'alimentazione arriva a 4,80 A. Il problema è che a me serve la potenza totale per poter sollevare e gestire l'elicottero per il peso che aggiungerò con il progetto... Ho provato in oltre ad utilizzare una scheda shield Motor per gestire tutti i motori ma non li fa proprio girare(alimentandola esternamente dalla batteria 7,4v).

Sapete indicarmi come posso muovermi per aumentare l'amperaggio in uscita dal transistor?

Grazie infinite!! Spero di non aver sbagliato sezione e modo di postare.

Ciao Andrea, non vorrei dire una stupidata ma, ammesso che il tip lavori in interdizione/saturazione e non in zona attiva (cioè la Ib sia sufficinetemente alta da mandare il transistor in salturazione), mi sembra che la Vce(sat) del TIP120 per Ic di 5A sia 4V. Comunque Vce(sat) non scende sotto i 2V. Questo comporta una diminuzione della tensione applicata al motore e probabilmente la perdita di prestazioni che hai riscontrato.

Infatti con Vcc alimentazione, Vm tensione sul motore eVce(sat) tensione tra collettore e emettitore del tip:

Vcc = Vm + Vce(sat)

Quindi:

Vm = Vcc - Vce(sat) = 7.4V - 4V = 3.4V

Credo ci siano due soluzioni che prevedono entrambe di modificare il circuito: 1) Aumentare la Vcc cambiando batteria 2) Ridurre la Vce(sat) cambiando il TIP

Io sceglierei proprio di cambiare dispositivo, magari usando un MOSFET, più adatto a questo tipo di applicazione.

Tra l'altro in una applicazione come la tua in cui la carica della batteria significa capacità di volo dissipare quasi la metà della potenza sul tip è un peccato!

Grazie infinite per la risposta!!!

Ordinato i Mosfet e spero sia risolto il problema, a giorni arriveranno, comunque da bravo principiante non avevo controllato il datasheet dei componenti, transistor e shield motori, che effettivamente hanno un limite molto inferiore di amperaggio di quello che necessito io…

E' strata trovata una soluzione? Ho lo stesso problema il TIP122 tira fuori dalla batteria solo 1.2A, Ho letto che con un IRFZ44N si risolve il problema, in alternativa sto usando un 40N03P di recupero, ha caratteristiche superiori all'IRFZ44N ma la corrente che riesco a prendere è aumentata di poco ora si attesta a 1.5A. Devo raggiungere i 4A, come potrei fare?

Abbondate con gli Ampere :P

Scherzi a parte, scegliete sempre un mosfet con una portata in corrente il piu alta possibile, non perche' non li regga, ma perche', per i mosfet di potenza, piu e' alta la corrente di targa, piu e' bassa la RdsON (cioe' la resistenza del mosfet quando e' in stato di conduzione completa), quindi a parita' di corrente nel circuito, meno caduta di tensione e meno potenza dissipata in calore dal mosfet ;)

Esempio banale ...

IRL540 ... corrente masima 28A (20A se surriscaldato), RdsON 77milliohm ... su un carico da 10A causerebbe una caduta di tensione di 770mV, con una dissipazione in calore di 7.7W ...

IRL3713 (solo come esempio), corrente massima dichiarata 260A, RdsON di 3 milliohm, caduta di tensione a 10A di 30 millivolt con una dissipazione di 0.3W ...

Ci sono molte "vie di mezzo" senza prendere per forza il 3713 comunque , l'ho usato come esempio perche' costa poco ;)

e poi é da prendere un logic level MOSFET se lo vuoi pilotare con i 5V di Arduino. ciao Uwe

uwefed: e poi é da prendere un logic level MOSFET se lo vuoi pilotare con i 5V di Arduino. ciao Uwe

Per quello ho usato il 3713 come esempio ... ha una tensione di soglia tipica di gate di 1.9V, massima di 2.5V, almeno stando al datasheet ;)

Inoltre lo si puo usare tranquilamente fino a 120A (il chip interno ne reggerebbe 260 di picco, ma il case TO220, come terminali, non puo reggere piu di 180A continui senza danneggiarsi, e stare sui 2/3 di tale valore e' il limite piu sicuro) ... servirebbe ovviamente un bel dissipatore, ma non esageratamente grande (a 120A provocherebbe una caduta di tensione di circa 0.36V, con una dissipazione di potenza in calore di circa 44W, meno della meta' del massimo consentito dal case TO220 correttamente dissipato ... anche se personalmente se ci dovessi pilotare 120A ne metterei almeno due in parallelo ;))

L'unico problema con questo triac e' se lo si vuole usare in PWM, perche' la capacita' di gate e' di circa 6nF, quindi per pilotarlo bene e con commutazioni veloci serve per forza un driver ... ma per usarlo ON/Off credo che sia una buona scelta ...

Ma potete spiegarmi la differenza tra il mio 40N03P che non va e un RFP30N06LE o IRFZ44N ?

io dovrei comandare il gate con un pwm di arduino e il motore usa sempre la lipo a 7.4V

non va in che senso ? ... il 40N03 dovrebbe andare bene ... posta uno schema dei collegamenti ...

Con un IRF630 prelevo dalla Lipo solo 1.2A e il mosfet scalda

col 30N03P prelevo 1.5A ma non scalda.

Al gate arrivano 4.9V.

Non riesco proprio a capire il problema

motor.jpg

L’IRF non e’ logic-level, ha bisogno di almeno 8V o piu sul gate, quindi con le logiche non ce lo piloti (ti rimane in zona lineare e scalda un casino) … l’altro dovrebbe andare bene, ma se lo usi ON/OFF, mentre se usi il PWM, la corrente di uscita dei pin della MCU non e’ sufficente a farlo commutare correttamente (non la tensione, proprio la corrente disponibile) … usa un driver, in formato IC, ce ne sono di diversi produttori … oppure fabbricalo con un paio di transistor NPN ed uno PNP collegato a “totem” e pilotati dal pin … una cosa tipo lo schema allegato … dato che i motori li alimenti con la batteria direttamente, servira’ il terzo transistor collegato in open-collector per pilotare correttamente il totem, ma ricordati che in questo modo il segnale PWM si inverte, quindi devi invertire anche la logica di pilotaggio …

Grazie Per la risposta, sinceramente vorrei realizzare una scheda quando più semplice e snella possibile. Quindi compro dei mos logic level che, mi confermi IRFZ44N RFP30N06LE?

Voglio chiederti un'altra cosa, la mia scheda prevede un L293, e un ponte è inutilizzato, quest'ultima la potrei utilizzare per comandare il gate del mio 30N03P in PWM?

Il 40N03 di cui parlavi prima e’ GIA un logic level … il problema nel tuo caso non e’ la tensione di gate, ma la corrente di commutazione, che senza un driver non e’ sufficente a far commutare velocemente il mosfet …

se il PWM non e’ troppo veloce, prova la soluzione con un solo transistor, e’ la piu semplice, anche se non la migliore (sempre con logica invertita) …

EDIT: dato che il 40N03 e’ di potenza, e tu usi una batteria da 7.2V, riduci la resistenza sul gate da 330 a 47 ohm

Nel primo schema col totem che mi hai suggerito (usando 2 NPN 2N2222 e un PNP 2N5401) una volta completato, il motore parte con solo la lipo ed arduino spento. Ho sostituito quella resitenza da 100ohm collegata alla batteria con una da 100k ed ho tolto il condensatore, il motore quindi non parte subito ma viene controllato dalla MCU, ma la corrente si ferma sempre a 1.5A con la lipo, mentre se fornisco i 12V riesco a prelevare la corrente che mi serve.

Con il secondo schema, NPN 2N2222, non ottengo miglioramenti max 1.5A.

Il problema è che io devo gestire tutto con la lipo da 7.4v

Con alimentazione a 12V anche il semplice collegamento del pwm arduino e resistenza sul gate mi fa avere le correnti che voglio.

Tieni presente, come gia avevo detto, che la logica di quegli schemi e’ invertita … se dai 1 alla base del transistor, il motore si ferma, con 0 (o nulla collegato) il motore funziona … per quello ho detto che bisogna invertire anche il pilotaggio del PWM …

Con il primo schema, dato che non hai i 12V ma solo 7.4 della LiPo, la resistenza da 100 ohm puoi ridurla a 47 … ma se vuoi che NON parta quando colleghi la batteria, devi dare il 5V alla base del transistor prima … in alternativa, puoi invertire di nuovo il segnale con un’altro transistor collegato allo stesso modo …

Il condensatore puoi metterlo da 10u, serve per stabilizzare la tensione fra i due collettori del totem (ovviamente NON e’ collegato al centro)

mosdriver-noninv.png

Caro Etemenanki, la domanda è, volendo utilizzare il PWM di arduino, motore da 4A e una lipo da 7.4V e non usare troppi IC ma uno schema semplice,

cosa devo usare/comprare?

Se usi il PWM di arduino, che va a 480Hz circa, la soluzione piu semplice che mi viene in mente e’ questa, anche se di certo non e’ quella che preferirei io (+V e’ la batteria, come secondo transistor usane uno che regga un po di corrente, non un 2N2222, e se scalda troppo usa 100 ohm invece di 47 per la resistenza del gate) … se ancora non va, allora c’e’ decisamente qualcos’altro di strano …

esempio-mos-pwmlow.png

Nulla da fare. Sempre 1.5A Ma se comprassi un RFP30N06LE sarebbe sempre la stessa cosa dato che è sempre un logic level?

Assurdo però che non riesca a prendere più ampere da sto transistor

E poi scusami, ma noi stiamo ragionando sulla corrente in ingresso al gate, ma i mosfet non sono pilotati in tensione?

Franckx: E poi scusami, ma noi stiamo ragionando sulla corrente in ingresso al gate, ma i mosfet non sono pilotati in tensione?

Aspetta, stai facendo confusione ...

I mosfet sono pilotati in tensione, ma sicome il loro gate si comporta virtualmente come un condensatore, ogni volta che gli cambi stato, hai un "picco" di corrente, proprio come se tu collegassi o scollegassi un condensatore da una tensione o da una massa ... la durata di questo picco e la sua intensita' e' data dalla costante RC del valore di capacita' di gate e della resistenza in serie al gate, come per qualsiasi altro circuito RC ... inoltre, minore e' la corrente disponibile per caricare e scaricare il gate, maggiore sara' la lunghezza di questa curva ... e durante questa curva, prima che la tensione raggiunga la soglia, il mosfet non funziona in zona di saturazione, ma in zona "lineare", comportandosi come una resistenza variabile ...

Ora, se il mosfet lo usi ON/OFF (cioe' semplicemente come interruttore per accendere o spegnere saltuariamente un carico), la cosa non e' molto influente, in quanto tale funzionamento e' saltuario, e quindi la potenza extra dissipata e' altrettanto saltuaria ... ma se inizi ad usarlo in PWM, hai centinaia (o migliaia, o decine di migliaia, dipende dalla frequenza) di queste commutazioni al secondo, e qui la cosa inizia a dare problemi ... in PWM, bisogna sempre fare in modo che la commutazione sia il piu veloce possibile, altrimenti va "persa" in calore un bel po di energia ... e se vuoi che il gate cambi stato il piu velocemente possibile, devi per forza fornirgli una corrente adeguata (o detto brutalmente, ridurre la costante RC il piu vicino possibile allo zero) ... per questo il gate richiede corrente, non durante la conduzione o l'interdizione del mosfet, ma durante la commutazione ... piu hai corrente per pilotare il gate in transizione, piu e' veloce la commutazione, meno tempo il mosfet lavora in zona lineare, meno dissipa potenza in calore invece di darla al carico ...