Tips & Trick - PIC

 

 

10 modi per assassinare il vostro microcontroller

I microcontroller sono componenti di una notevole robustezza elettrica, dato che i progettisti ne hanno previsto l'uso in ambienti e condizioni tanto consumer quanto industriali.
Hanno una buona resistenza agli eccessi di corrente e tensione, comprese i problemi ESD, ma, anche se può essere difficile distruggere completamente un microcontroller, si può almeno provare a danneggiarlo affinchè funzioni in modo instabile o parziale.

 

  1. Invertire la tensione di alimentazione

    "...ma appena me ne sono accorto, l' ho subito spento..." e, in effetti, il problema è -per quanto tempo?-. 
    Il microcontroller, componente a tecnologia MOS complementare, alimentato al contrario, si comporta come un diodo, ovvero è attraversato da una corrente che è limitata solo dalla resistenza dell' alimentatore. E conosciamo tutti la legge di Ohm.
    Il chip si scalderà alquanto e solo interrompendo l'alimentazione prima che della fusione di parti del silicio, sarà possibile salvarlo.
    Va detto, altresì, che il chip maltrattato può funzionare ancora, ma spesso non in modo affidabile.
    Per evitare il problema durante le prove, basta inserire in serie alla Vdd un diodo (-0.7V per diodi ordinari, genere 1N4001; -0.4V per i più costosi Schottky, genere 1N5817).

  2. Cortocircuitare gli I/O

    I pin come uscite hanno una corrente massima di circa 25mA, ma non sono a prova di cortocircuito. Anche qui si parla della durata del cortocircuito, ma in ogni caso evitiamo con cura i corto circuiti dei pin tra di loro e con l' alimentazione. Sopratutto se i pin interessati sono più di uno la probabilità del guasto sale.
    Per evitare errori, durante le prove, basta inserire in serie all agli I/O piccole resistenze (33-47 ohm) che non disturbano il funzionamento, ma salvano i pin da extra correnti
     
  3. Usare montaggi volanti o breadboard pessime

    L' elettronica integrata è fatta per essere utilizzata su circuiti stampati. Certamente possiamo usare montaggi volanti o millefori, ma diventa tassativo evitare i corto circuiti di cui al punto precedente e, sopratutto, i contatti malfatti che causano instabilità di funzionamento.
    In questo senso, l' esperienza rileva che la stragrande maggioranza delle breadboard da poco prezzo sono un pessimo investimento: basta un contatto allentato per impedire il funzionamento del circuito e si finisce per perdere ore e ore a cercare cause, magari nel programma, mentre esse sono solo nella realizzazione pessima. E sappiamo come, durante questo tempo, si rischia di fare qualche danno. 

  4. Eccedere nella corrente che il chip deve trattare.

    Certamente ci sono disponibili 25mA per pin, ma non su tutti i pin contemporaneamente! Il foglio dati indica quale è la corrente massima  che il chip può trattare. Richiederne di più è una via per avere un riscaldamento inutile del chip ed abbreviarne la vita.

  5. Non usare resistenze di limitazione della corrente dei LED

    Pare un punto d'onore presentare sul WEB circuiti in cui LED e display a 7 segmenti sono alimentati senza resistenze di limitazione della corrente. Questa sciocchezza si basa sul fatto che la corrente è applicata per brevi periodi e il valore medio rientra nei parametri. Ma non rientra quello di picco e anche se il duty cycle è basso e quindi il materiale sovraccaricato ha tempo di raffreddarsi, non si tratta sempre di una buona scelta: al minimo si ridurrà la vita dei componenti, forse anche di molto. Solo per risparmiare pochi cent.

     
  6. Applicare al chip o ai pin tensioni superiori alla Vdd o inferiori alla Vss.

    Qui il problema può essere assai grave: la maggior parte dei pin di I/O hanno all' interno diodi,  ma questi sono previsti per la protezione da ESD. Alimentare il chip con 5.5V e forse anche 6V lo farà riscaldare inutilmente , ma alimentarlo con 12 o 24V, o collegare queste tensioni ai pin, vuol dire distruggere il chip in frazioni di secondo.
    Analogo risultato si ottiene non applicando diodi di protezione su carichi induttivi, come relays o motori, dove sono presenti tensioni inverse anche elevate.
       
  7. Variare connessioni con l' alimentazione presente

     Certamente si tratta di circuiti in corrente continua, ma, nel momento in cui stacchiamo una connessione e/o ne creiamo un'altra, entrano in gioco fenomeni induttivi/capacitivi in grado di creare sovratensioni che possono facilmente distruggere il chip. Togliete sempre l' alimentazione prima di fare qualsiasi manovra sui componenti e le connessioni del circuito.

     
  8. Applicare più di 13.5V al pin di MCLR

    Nei PIC, il pin MCLR svolge la funzione di ingresso della Vpp durante la programmazione HV. E' probabile che la Flash sia scrivibile anche con soli 9V, ma Microchip ne consiglia 13.5. I tools ufficiali (Pickit, ICD, RealIce) si attengono ai valori indicati dai fogli dati, ma, usando programmatori di terze parti o usato costruiti, bisogna essere ben certi che non si superino questi valori: se una Vpp troppo bassa impedisce la corretta programmazione del chip, una eccessiva ne riduce la vita.
    In particolare, v a tenuto presente che chip LF a bassa tensione necessitano di una Vpp minore di 12V.
     
  9. Non prevedere la possibilità di ESD

    Le cariche elettrostatiche, anche solo a causa della triboelettricità prodotta dal corpo umano e dagli abiti (body model)  raggiungono facilmente 1500V e più. Certamente l' energia è generalmente molto bassa e ci sono i diodi di protezione integrati, ma gli spessori del silicio sono a livello di micron e basta un attimo di troppo per perforarli. 
    Usate le comuni protezioni contro il pericolo dell' elettricità statica quando maneggiate i chip ed inserite in serie ai pin configurati come ingressi delle resistenze di limitazione della corrente nei diodi di protezione; valori da 100 a 1000 ohm sono adeguati.

    Anche l'uso di saldatori di scarsa qualità e non isolati è un modo per ottenere guasti "inesplicabili".

 

  1. Non considerare che il circuito, se deve lavorare fuori dal Laboratorio, si troverà in un ambiente ostile.

    Calore, umidità, sbalzi di tensione di alimentazione, tensioni indotte da cablaggi malfatti: tutte cose che, sul banco del Laboratorio, è difficile riscontare. Ma, una volta provato il circuito, una volta sul campo può portare a pessime sorprese: il sistema resetta a caso, si pianta, salta da un punto all' altro del programma apparentemente senza senso.
    Questo succede perchè tra la situazione del laboratorio e quella di un possibile ambiente reale di funzionamento possono esserci considerevoli differenze, dovute essenzialmente alla presenza sul campo di fonti di disturbo elettromagnetico (motori, relè, teleruttori, ecc.), ma anche loop di terra, calore eccessivo, condensazione dell' umidità atmosferica, alimentazione irregolare.
    Prima di agire senza costrutto, cercate di capire quali possono essere le cause dei problemi ed agite di conseguenza: un apparecchio che funziona male può essere causa di danni non solo per se stesso, ma anche per quanto vi è collegato.
     
     

Per contro:

- è difficile creare danni se si utilizza un metodo di lavoro ordinato, un saldatore a bassa tensione dotato di terra e un minimo di considerazione per l'elettricità statica, evitando cablaggi volanti instabili o breadbord di qualità scadente 

- non si crea alcun danno al chip eseguendo calcoli matematici come la divisione per 0.

In conclusione, se il vostro circuito a microcontroller appena realizzato su breadboard o millefori si rifiuta di funzionare o non funziona correttamente, avete probabilmente una sola via: verificare le connessioni e la loro qualità (causa più probabile in assoluto) o gli errori nel cablaggio (seconda causa probabile) o nella progettazione.

Buon Lavoro.


 Possono anche interessarvi queste pagine: "15 preconcetti sui PIC".


 

Copyright © afg . Tutti i diritti riservati.
Aggiornato il 24/05/18 .