Caduta di tensione misurata su ponte H e transistor

Ciao a tutti,

La mia è più un’osservazione che una domanda, in quanto vorrei condividere risultati misurati e pareri da parte di chiunque come me si sia trovato di fronte allo stesso dilemma: avendo a disposizione più metodi per comandare un carico, sia esso un motore od una striscia LED, qual è quello più efficiente in termini di resa tra tensione in ingresso ed in uscita?

Ho a disposizione i seguenti: ponte H L293NE (quello presente nello starter kit di Arduino per intenderci, datasheet), ponte H L298N (questo) ed un mosfet IRF520 (questo).

Innanzitutto controllo che gli strumenti che sto utilizzando funzioni correttamente: ho un potenziometro, per variare la V in ingresso tramite Arduino, un multimetro, per misurare la V in uscita ai piedini del mio utilizzatore e due diverse sorgenti di V per mediare i risultati ottenuti (5,5 ed 8V)

La prima buona notizia è che i miei strumenti funzionano correttamente, vale a dire impostando un valore al potenziometro (lo ruoto fintanto che leggo da seriale valori compresi tra 255 a 50) la tensione misurata in uscita è direttamente proporzionale con il mio ingresso (andamento lineare, come mi aspettavo, vedi la linea tratteggiata in giallo del grafico allegato)

Il primo ostacolo arriva quanto utilizzo il ponte H L293NE e vedo che la V attesa (ovvero quella che mi aspetto arrivi ai capi del mio motore misurata da multimetro) è inferiore a quella “teorizzata” facendo semplicemente un rapporto tipo V nominale da sorgente esterna/rotazione potenziometro. Come detto prima ho mediato i risultati ottenuti con due alimentazioni esterne diverse, una batteria da 9V (un po’ vecchia, quindi 8V) e 4 pile AA ricaricabili da 5,5V totali.
Leggendo un po’ qua e là scopro che tipicamente un ponte H, alimentato ad esempio con 12V, soffre di una caduta di tensione di circa 2V, per cui introduco nei miei calcoli un fattore di correzione lineare del 17%

Ripeto l’esercizio con l’altro ponte a mia disposizione, il L298N, e vedo che si comporta come nel caso precedente. Trovo qualche discrepanza per livelli bassi di V quando vado a mediare i risultati di più prove ottenute col L293NE e vedo una curva (in verde, nel grafico allegato) che è più spostata verso il caso “ideale”.

I risultati migliori li ottengo con il mosfet: già dopo un paio di prove vedo una curva (in blu, nel grafico allegato) che “insegue” l’andamento lineare, senza applicare fattori di correzione.

Quindi, visto che sono andato un po’ troppo lungo e sono il primo che detesta scrollare la rotella del mouse per arrivare alle conclusioni, RIASSUNTO:

  • Il mosfet IRF520 sembra, in relazione ai carichi del mio esercizio sotto i 10V, lo strumento con una minore dispersione di potenza e con una caratteristica di funzionamento “quasi” lineare, nel grafico allegato V restituita vs input da potenziometro
  • I due ponti H hanno una caduta di V che arriva fino al 35%, ma sono anche l’unica soluzione per chi debba controllare anche il senso di rotazione di un motore. Probabilmente il valore di caduta di tensione del 17% considerato non va applicato linearmente, anche perché si tradurrebbe in un “guadagno” nei range di V più bassi

Qualcuno di voi è arrivato alle mie stesse conclusioni? Qualche idea che potrebbe essermi sfuggita?

Grazie e buona Pasqua!
Andrea

Se si deve controllare un motore in modo NORMALE perché usare un ponte H?

LO so, lo so: è più comodo, è più piccolo (non sempre), è già fatto, consente il freno motore, etc. etc.

Ma per interfacciare ad Arduino un motore di cui si debba SOLO comandare velocità e senso di rotazione perché non usare SOLO un mosfet, un transistor e un relè? Con UN pin che regola la velocità e UN pin che regola il verso? Con una tensione di alimentazione QUALSIASI e SENZA NESSUNA caduta di tensione?

Meditate, gente, meditate...

Ciao, P.

Buona Pasqua!

Non capisco il circuito che stai usando.

ho un potenziometro, per variare la V in ingresso tramite Arduino,

La prima buona notizia è che i miei strumenti funzionano correttamente, vale a dire impostando un valore al potenziometro (lo ruoto fintanto che leggo da seriale valori compresi tra 255 a 50) la tensione misurata in uscita è direttamente proporzionale con il mio ingresso (andamento lineare, come mi aspettavo, vedi la linea tratteggiata in giallo del grafico allegato)

Ho capito bene Hai un partitore resitivo fatto con il potenziometro; leggi la tensione tramite un entrata analogica e il valore letto lo mandi al PC via seriale e piloti un uscita PWM del Arduino.

Il primo ostacolo arriva quanto utilizzo il ponte H L293NE e vedo che la V attesa (ovvero quella che mi aspetto arrivi ai capi del mio motore misurata da multimetro) è inferiore a quella "teorizzata" facendo semplicemente un rapporto tipo V nominale da sorgente esterna/rotazione potenziometro.

Piloti allora il L293 in ingresso con la PWM e misuri la tensione del uscita rispetto a cosa? senza carico solo staticamente col multimetro?

Hai un sacco di errori concettuali, di ragionemento e apprensivi.

"leggere qua e la". sbagliato. Il documento di riferimento non sono cose scritte da qualcuno su internet ma unicamente il datasheet del componente. Questo e solo questo fa testo.

Le uscite analogiche danno un segnale PWM ovvero una tensione pulsata dove si regola il rapporto acceso - spento. Non é una tensione analogica o lineare.

La perdita di tensione sui transistori di potenza dipende dalla corrente che il dispositivo deve dare al carico.

Ho a disposizione i seguenti: ponte H L293NE (quello presente nello starter kit di Arduino per intenderci, datasheet), ponte H L298N (questo) ed un mosfet IRF520 (questo).

Secondo me nessuno di questi semiconduttori é adatto per pilotare un carico grosso da Arduino.

Il MOSFET non é del tipo Logic Level. 5V sul Gate non garantiscono la totale conduzione del MOSFET. La perdita di tensione tra Source e Drain dipende dalla tensione del Gate-Source e dalla corrente che il MOSFET deve pilotare.

Sia il L293 che il L298 sono integrati di concetto antiquato. Usano dei BJT come transistori di potenza. Questo comporta che la perdita di tensione sui Ponte é molto grande. (sono stati progettati in tmpi dove non erano ancora disponibili dei MOSFET di potenza da integrare in un ponte H.

Sempre per la corrente continua massima (0,6 o 1A per il 293D/293 e 2A per il 298) la perditá di tensione sui Transistori di potenza interni: Per il L293 é specificata tipicamente 2,6V max 3,6V Per il L298 È specificata tipicamente 3,7V max 4,9V La tensione di alimentazione motore sul 293 deve essere uguale / maggiore della tensione di alimentazione logica; La tensioen motore del 298 deve essere 2,5V maggire della tensione alimentazione logica.

Per questo visto che hai usato una gatteria 9V scarica / 5,5V non hai rispettato le specifiche del 298 e non avrai messo un carico nominale massimo consentito.

Inoltre sia il 293 che il 298 sono circuiti digitale e percui non ha senso fare delle prove modificando la tensione delle entrate.

Riasumendo Usa dei Logic Level MOSFET anche di correnti elevate. Hanno delle resitenze on molto basse. Per pilotare motori con un ponte H usa degli integrati con circuiti di uscita MOSFET.

Ciao Uwe

Ciao Uwe,

Grazie mille intanto per la risposta, sei stato molto chiaro e preciso

Piloti allora il L293 in ingresso con la PWM e misuri la tensione del uscita rispetto a cosa? senza carico solo staticamente col multimetro?

Esatto, piloto il modulo controllo motore con un pin PWM e misuro la tensione che viene applicata al mio carico, un motore DC 6V questo il link del datasheet che ha un assorbimento senza carico inferiore a 0,3A

L'utilizzo del MOSFET mi è chiaro; il mio dubbio non è tanto quale sia il modo migliore in assoluto per controllare un motore/carico, ma quale tra gli strumenti che già ho mi permette di avere il miglior risultato. Avevo già il sospetto che applicare un valore di caduta di tensione lineare fosse errato, grazie per avermi spiegato il motivo tecnico

Non capisco però quando dici:

non hai rispettato le specifiche del 298 e non avrai messo un carico nominale massimo consentito.

il modulo L298 può controllare fino a 2A, come anche da te confermato, e fino a 40 Vdc per cui mi sento tranquillo ad usarlo per il mio esperimento, dal momento che difficilmente andrò a lavorare oltre i 9V e 0,5A di assorbimento sotto carico (il motore da 6V di cui sopra è solo una cavia, nel mio progetto i valori nominali sono questi)

Tra l'altro mi sono appena reso conto che la funzione PWM su tale modulo non funziona con una alimentazione a 5V, diventa quindi un semplice on/off Nei miei test di prima avevo sempre e solo alimentato il L298 con la batteria da 9V

Quindi, dal momento che non riesco a trovarne evidenza dai documenti ufficiali, ricordi se sul forum o hai evidenza di qualcuno che abbia ricavato una curva di funzionamento come quella che stavo impostando io, però a questo punto non in funzione della V in ingresso, ma a seconda del carico applicato?

Grazie Andrea