Cosa (non) fare per danneggiare Arduino

Nell’articolo di oggi vedremo diverse cose da (non) fare per danneggiare Arduino.

Un primo segnale che ci permette di capire che Arduino abbia problemi o sia danneggiato ci giunge nel momento in cui si tenta di carica il proprio sketch sul proprio microcontrollore si riceve un messaggio di errore  “programmer not in sync”. Per avere conferme di questo sospetto si devono effettuare test elettronici e test a livello software.

Modo n° 1: fare un corto fra i pin di I/O e massa

Come

Configurate un pin di I/O come output e poi impostatelo su high. Collegate il pin a massa. Avete creato una condizione di sovracorrente sul pin di I/O, che si distruggerà.

Perchè

Ecco il percorso che segue la corrente (lo schema è quello dell’Arduino UNO, che potete scaricare da qui):

La scheda tecnica del microcontrollore indica in 40 mA il valore massimo di corrente per singolo pin. Con una resistenza interna mediamente di soli 25 ohm per pin, un corto a massa può far passare fino a 200 mA di corrente, più che sufficiente per distruggere il pin del microcontrollore.

Modo n° 2: mettere in corto i pin fra di loro

come

Configurate 2 pin di I/O come output e poi impostatene uno su high e l’altro su low. Adesso collegate tra di loro i pin. Avete creato una condizione di sovracorrente su entrambi i pin di I/O che li distruggerà entrambi.

Perchè

Il percorso della corrente è simile a quello illustrato nel Modo n° 1 qui sopra con la differenza che il percorso di ritorno verso massa è attraverso il microcontrollore.

Modo n° 3: applicare una sovratensione ai pin di I/O

Come

Applicate una tensione superiore a 5,5 V a qualunque pin di I/O. Il pin di I/O si distruggerà.

Perchè

Questo metodo sfrutta i diodi di protezione ESD (ElectroStatic Discharge) integrati nel microcontrollore. Ecco il modello di un pin di I/O del microcontrollore così come riportato sulla scheda tecnica dell’ATmega328P:

Non appena la tensione presente sul pin di I/O è maggiore di quella di alimentazione (5 V) di circa 0,5 V, il diodo superiore inizia a condurre corrente. Questo comportamento va bene per instradare un fenomeno di sovratensione di breve durata, come una scarica elettrostatica (ESD, electro-static discharge), ma quel diodo non è stato previsto per essere in condizione di continuo. Semplicemente si brucerà e non proteggerà più il pin.

La figura qui sotto mostra il percorso della corrente quando una sovratensione è applicata ad un pin di I/O:

Se il diodo di protezione interno si guasta aprendosi allora la sovratensione distrugge il pin di I/O. Se il diodo di protezione si guasta facendo un corto, allora la situazione è anche peggiore perché in questo caso la sovratensione è applicata all’intero circuito di alimentazione a 5 V dell’Arduino. Questo significa che essa raggiungerà altri componenti, come il chip che gestisce l’interfaccia USB, distruggendoli tutti.

Modo n° 4: applicare un’alimentazione invertita sul pin Vin

Come

Alimentate il vostro Arduino tramite il pin di alimentazione Vin ma invertite la polarità dell’alimentazione sui pin Vin/GND. Distruggerete diverse periferiche dell’Arduino.

Perché

Non c’è nessuna protezione per l’inversione di tensione dell’alimentazione sulle tensioni applicate al pin Vin. La corrente perciò scorrerà dal pin GND dell’ATmega328P e raggiungerà il pin 5V ed il regolatore di tensione a 5 V, e poi arriverà al pin Vin. La stessa cosa accadrà con il microcontrollore 8/16U2. Entrambi i microcontrollori nonché il regolatore di tensione verranno distrutti.

Modo n° 5: applicare più di 5 V al pin 5V

Come

Applicare una tensione di 6 V o superiore al pin 5V. Molti componenti dell’Arduino verranno distrutti, e questa tensione potrà anche presentarsi sulla porta USB, potendola danneggiare.

Perché

Non c’è nessuna protezione sul pin 5V. La tensione viene direttamente messa in collegamento con il microcontrollore ATmega328P, il microcontrollore ATmega8/16U2 usato come interfaccia per l’USB, ed il regolatore a 5 V, e tutti sono essere danneggiati dalle tensioni superiori a 6 V e dalle correnti che possono transitare. Ecco il percorso attraverso il microcontrollore ATmega328P:

Questa è una convinzione comune errata che il regolatore a 5 V dell’Arduino garantirà che la tensione a 5 V rimarrà a 5 V, indipendentemente dalla tensione fornita. NON LO FARA’! L’unica cosa che il regolatore a 5 V può fare è controllare corrente che arriva dalla porta USB o dal connettore jack esterno. Se la corrente proviene da una fonte esterna fornita direttamente al pin 5V, il regolatore non può fare nulla.

Un’altra conseguenza derivante dall’applicare più di 5 V al pin 5V è il possibile danno alla porta USB del PC. Se l’Arduino è alimentato via USB allora questa tensione troppo elevata può provocare un ritorno di corrente verso la porta USB attraverso il MOSFET T1 usato come selettore per l’alimentazione.

Modo n° 6: applicare più di 3,3 V sul pin 3V3

Come

Applicare una tensione pari o superiore a 3,6 V sul pin 3V3. Qualunque shield  a 3,3 V collegato, o altri dispositivi alimentati da questo pint, verranno distrutti. Se vengono forniti 9 V o più allora anche il regolatore a 3,3 V dell’Arduino verrà distrutto e la corrente potrà anche fluire attraverso la porta USB del PC.

Perchè

Il pin 3V3 non ha nessun circuito di protezione. La tensione arriva direttamente al regolatore a 3,3 V dell’Arduino ed a qualunque shield o componente alimentato da questo pin. Se la tensione è maggiore di 9 V, il regolatore a 3,3 V verrà distrutto e potrà accadere che la corrente possa scorrere sulla linea a 5 V, e da lì arrivare anche alla porta USB del PC. La sovratensione distruggerà anche i 2 componenti collegati alla linea a 5 V: i microcontorllori ATmega328P e ATmega8/16U2.

arduino

Modo n° 7: fare un corto fra Vin e massa

Come

Alimentate l’Arduino dal jack esterno e poi fate un corto fra il pin Vin e massa. Il diodo di protezione dell’Arduino verrà distrutto e le piste sul PCB dell’Arduino potranno fondere e distruggersi.

Perché

Non c’è nessuna protezione che limita la corrente sul pin Vin. Un corto circuito fra Vin e massa mette effettivamente in corto il jack esterno, facendo superare la corrente gestibile dal diodo di protezione.

arduino

La quantità di corrente che transita è limitata solo dalla resistenza delle piste del PCB dell’Arduino e dalla capacità dell’alimentatore utilizzato. Se la corrente è sufficientemente elevata, il diodo D1 si distrugge e le piste del PCB possono fondere a causa del calore prodotto dall’elevata corrente.

Modo n° 8: applicare l’alimentazione al pin 5V con un carico su Vin

Come

Se state alimentando la scheda con 5 V applicati al pin 5V e avete un circuito connesso al pin Vin (o avete cortocircuitato Vin a massa) allora la corrente tornerà indietro al regolatore a 5 V distruggendolo.

Perché

Non c’è nessuna protezione contro le tensioni inverse sul regolatore a 5 V per cui la corrente può scorrere dal pin 5V fino al regolatore e poi a qualunque cosa connessa al pin Vin.

arduino

Modo n° 9: applicare più di 13 V al pin di reset

Come

Applicare più di 13 V al pin RESET. Il microcontrollore ATmega328P si danneggerà.

Perché

Il pin RESET è collegato direttamente al pin di reset del microcontrollore ATmega328P. Anche se questo pin tollera 13 V, tensioni maggiori lo possono danneggiare.

arduino

Modo n° 10: superare la corrente totale ammessa dal microcontrollore

Come

Impostate almeno 10 pin di I/O come output con segnale high e fate scorrere attraverso ognuno di essi 20 mA (ad esempio, accendendo 10 LED). Avete in questo momento superato il quantitativo massimo di corrente ammesso dal microcontrollore ed esso si danneggerà.

Perchè

Non basta limitare la corrente di ogni singolo pin di I/O: il quantitativo totale di corrente erogato da tutti i pin di I/O non può eccedere i 200 mA, stando alla scheda tecnica dell’ATmega328P.

arduino

Articolo orginale: http://ruggedcircuits.com/html/ancp01.html

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.