Cerca

modulo attività

modulo tecnica

Misurazioni sulle uscite digitali di Arduino.

apparato di misuraE' noto, o almeno è importante sapere, che le uscite digitali di Arduino hanno dei limiti di corrente: non possono ammetere correnti superori a 40mA circa sia in "source mode" che in "sink mode" (nota 1).

Quando si collega un carico sui pin digitali occorre verificare che la corrente massima assorbita/erogata non superi il suddetto valore .... altrimenti?

Altrimenti si può danneggiare il microcontrollore anche se questo ha un proprio sistema di protezione contro le sovracorrenti.

 

Si possono effettuare misurazioni per comprendere meglio il problema.

Con l'uso di un reostato (resistore variabile), di un amperometro e di un voltmetro sono state efettuate misurazioni a R variabile in modo da verificare il valore della tensione di uscita al variare della corrente.

Apparato di misura.

L'apparato di misura comprende (foto a lato)apparato di misura2:

- la scheda Arduino

- un PC per impostare il valore in uscita sul pin prescelto

- un voltmetro (giallo) ed un amperometro (nero) digitali

- due reostati in serie: una da 1000Ω ed uno da 100Ω in modo da coprire la gamma di correnti desiderata a partire da 5mA per arrivare a 100mA.

Con il reostato da 1000Ω si ottiene la minima corrente di 5mA avendo a disposizione 5V.

Per ottenere 100mA occorre portare la resistenza a 50Ω; la cosa è fattibile anche con il reostato da 1000Ω ma si va a lavorare sugli utimi millimetri del filo il che produce una regolazione poco accurata; un reostato da 100Ω lavora nella parte centrale del filo e quindi è poaaibile una migliore regolazione.

 

 

 

 

 

 

 

Misurazioni in sink mode

Schema elettrico di misura a destra: la resistenza è collegata tra il pin a 5V ed il pin-out di Arduino.Arduino outSink

Con un qualunque programma si imposta un pin digitale in uscita al valore "LOW": la corrente è entrante nel pin di Arduino (entrante significa che il pin è un pozzo = sink).

Si modifica il valore della resistenza variabile e si misurano tensione VR e corrente IR.

La tensione Vpin verso GND è la differenza tra 5V e VR.

Le misurazioni sono state rilevate e con una macchina fotografica e sono visibili a questo link.

Il risultato è riportato sul grafico sottostante.grafico sinkMode

 

 

Misurazioni in source mode

Schema elettrico di misura a destra: la resistenza è collegata tra il pn-out di Arduino e GND.Arduino outSource

Con un qualunque programma si imposta un pin digitale in uscita al valore "HIGH": la corrente è uscente dal pin di Arduino (uscente significa che il pin è una sorgente = source).

Si modifica il valore della resistenza variabile e si misurano tensione VR e corrente IR.

Le misurazioni sono state rilevate e con una macchina fotografica e sono visibili a questo link.

Il risultato è riportato sul grafico sottostante.grafico sourceMode

Conclusioni

Con l'aumentare della corrente, il valore di tensione si sposta da quello esistente a vuoto. Questo risultato è pienamente spiegabile col fatto che i MOSFET che impongono la tensione del pin digitale hanno una resitenza che produce la caduta di tensione che si osserva.

Se il valore logico “alto" si ha per tensioni pari a 5V, cosa accade alla logica collegata al pin quando la corrente è così elevata da portare il pin a tensioni di molto inferiori a 5V? Si nota che in source mode a 60mA la tensione del pin vale 3V! Questo valore è interpretato come valore logico alto o basso? A 80mA il pin è con output "HIGH" ma la tensione è di 1V che corrisponde, invece, al valore "LOW" per i circuiti logici collegati eventualmente al pin: correnti troppo elevate producono cadute di tensione così elevate da non rendere utilizzabili le uscite per operazioni logiche.

 

note

nota 1: spiegazioni qui.