Introduzione
In ricerca e sviluppo, le caratteristiche di trasferimento dei componenti elettronici discreti, come diodi, resistori e transistor, sono essenziali per ottimizzare le prestazioni di circuiti e sistemi. In alcuni casi, i valori forniti dai datasheet dei componenti sono sufficientemente accurati per progettazioni standard, tuttavia, in situazioni più specifiche, come quelle legate a circuiti di rilevamento analogico, è fondamentale eseguire misurazioni dirette dei componenti acquistati. Per esempio, la resistenza di un resistore può essere facilmente misurata con un alimentatore da banco, ma per dispositivi più complessi, come diodi e transistor, è necessaria una tracciatura completa della curva corrente-tensione (IV, current voltage curve). Questi dati sono indispensabili per estrarre parametri chiave come la tensione di rottura, le correnti di dispersione e la resistenza ON-state, utili per simulazioni e progettazioni accurate.
Gli strumenti professionali utilizzati per queste misurazioni, come i parametri analizzatori di semiconduttori ad alta precisione, sono in grado di eseguire misurazioni elettriche IV e capacità-tensione (CV, capacitance-voltage) con una precisione straordinaria, raggiungendo range di femtoampere (fA) e femtofarad (fF). Tuttavia, questi strumenti risultano costosi, ingombranti e spesso richiedono tecnici specializzati per essere installati e utilizzati correttamente. Un altro limite significativo è la difficoltà nel trasporto, che rende complicato il loro utilizzo in ambiti multidisciplinari dove potrebbero essere necessarie misurazioni in situ, come per esempio nelle cliniche mediche. In molte applicazioni pratiche, non è sempre richiesta una precisione estrema nelle misurazioni di corrente o capacità, specialmente quando le prestazioni del circuito dipendono principalmente dalla resistenza ON-state dei dispositivi in gamme di corrente dell’ordine di milliampere (mA) o ampere (A). Inoltre, le soluzioni di misura automatizzate comunemente impiegate nei laboratori, come LabVIEW, sebbene efficaci, richiedono strumenti aggiuntivi e costosi per il controllo remoto e lo sviluppo di codici specifici per gestire gli strumenti impiegati. Questo scenario rende evidente la mancanza di un sistema portatile ed a basso costo che sia in grado di misurare, tracciare e analizzare automaticamente i parametri dei dispositivi elettronici, soddisfacendo così le esigenze di ingegneri e ricercatori.
Un'alternativa efficace si basa sull'utilizzo di un Arduino Nano per la misurazione delle caratteristiche di trasferimento di componenti elettronici come resistori, diodi e MOSFET. Tale approccio sfrutta un circuito di pilotaggio e misurazione della tensione/corrente, economico e facilmente riproducibile, in grado di garantire risoluzioni di misura paragonabili a quelle di alimentatori DC commerciali di alta qualità. Lo scopo dell'articolo è quello di spiegare i passi necessari alla sua realizzazione insieme alla creazione di un'interfaccia MATLAB per acquisizione e analisi dei dati raccolti.
Sottosistema MATLAB-Arduino
Un diagramma a blocchi del sistema sviluppato è visibile nella Figura 1. La scansione di tensione viene stabilita dal PC e inviata all'Arduino Nano tramite connessione USB. Dopo la misurazione del dispositivo in prova (DUT, Device Under Test), i dati misurati vengono trasferiti al PC. Poiché l'USB del PC fornisce un'alimentazione a 5 V per l'Arduino Nano, un'alimentazione separata viene utilizzata per alimentare gli altri sottosistemi. Una volta ricevuto il messaggio dal PC, l'Arduino Nano comunica con un DAC AD5761 a 16 bit tramite il protocollo di comunicazione SPI (Interfaccia Porta Serial, Serial Port Interface). Dopo la calibrazione del DAC, l'uscita del DAC viene inviata ad un circuito di pilotaggio della tensione che utilizza un anello di retroazione per garantire che la tensione sul DUT (VDUT) sia uguale alla tensione di misura richiesta dal DAC (Vm). Successivamente, la corrente attraverso il DUT viene misurata utilizzando un sensore di corrente shunt INA219.
Il funzionamento dettagliato del circuito di pilotaggio della tensione e di misurazione della corrente, è descritto nelle sezioni successive. In breve, la corrente misurata dal DUT viene inviata tramite un'interfaccia I2C all'Arduino Nano e successivamente trasferita al PC. Una volta completata la misurazione, un'app MATLAB visualizza automaticamente i dati in un grafico e li salva in un file CSV. Sia il DAC AD5761 che il sensore di corrente INA219 sono stati scelti per la loro affidabilità commerciale e precisione. Il DAC AD5761 ha un errore massimo di uscita di 1 mV, mentre il sensore INA219 ha un errore di risoluzione di 0,1 mA, con un errore percentuale di 0,005% sull'intero intervallo (20 V, 2 A). Come verrà mostrato nelle sezioni successive, l'errore totale del sistema dipende dalle parassitiche interne, che devono essere considerate per il calcolo dell'errore complessivo del sistema.
Interfaccia Arduino - MATLAB
Il trasferimento dei dati tra Arduino Nano e MATLAB avviene tramite una connessione asincrona universale (UART) utilizzando una porta USB che collega l'Arduino Nano al PC. La connessione viene stabilita avviando una comunicazione UART su MATLAB mediante la funzione integrata serialport(). Tramite questa funzione, è possibile impostare la porta COM e il baud rate come parametri, permettendo lo scambio di dati tra MATLAB e Arduino Nano.
L'Arduino Nano è stato programmato per ricevere una stringa contenente le impostazioni di misura (MS), che possono essere definite dall'utente direttamente da MATLAB. Per esempio, nel caso della misurazione di un MOSFET, una stringa contenente otto parametri seguiti da un carattere di terminazione viene inviata all'Arduino Nano. Il formato della stringa MS per un MOSFET include parametri quali la tensione di inizio e di fine misurazione (VG,start e VG,stop), gli step di tensione (VG,step), e i valori di limite di corrente (Ilim). Ogni parametro è separato da una virgola, e la trasmissione viene conclusa con un carattere "X". L'Arduino Nano è programmato per decodificare la stringa e identificare le impostazioni in base ai separatori di virgola. Una volta decodificata, l'Arduino esegue la misurazione elettrica comunicando con il DAC, mentre un sensore di corrente shunt misura la corrente attraverso il DUT. Successivamente, i dati misurati (MD) vengono inviati al PC. Prima dell'invio della stringa di impostazioni da MATLAB, il sistema verifica che le misurazioni richieste possano essere eseguite dall'Arduino Nano. Al termine della misurazione, l'Arduino riporta la tensione di uscita a 0 V e attende ulteriori istruzioni per eseguire nuove operazioni. Considerata la semplicità delle operazioni e le guide disponibili sul sito, questi passaggi sono lasciati al lettore.
Codice di misura per Arduino
L'Arduino Nano utilizza un microcontrollore Atmega328P che esegue codice in C/C++ ad una frequenza di 16 MHz con logica a 5 V. La connessione UART tra l'Arduino Nano e il PC viene realizzata tramite un circuito integrato (IC) FT232, che funge da interfaccia USB-UART prodotta da FTDI. Un diagramma di flusso che illustra l'esecuzione del codice dell'Arduino Nano, e il circuito di misurazione è riportato nella Figura 2.
Dopo l'accensione, l'Arduino Nano è programmato per attendere una serie di comandi inviati tramite la connessione UART. A seconda delle informazioni ricevute, vengono eseguite diverse funzioni. Se non viene ricevuta alcuna stringa o se la stringa ricevuta è invalida, non vengono eseguite misurazioni elettriche, consentendo l'inserimento o la sostituzione di dispositivi nel circuito. Una volta ricevuta una stringa di impostazioni valide (MS), l'Arduino Nano applica la tensione al DUT in base alle impostazioni fornite e invia una stringa di dati misurati (MD) al PC contenente VDAC (tensione applicata dal DAC) e IDUT (corrente attraverso il DUT). Per garantire una misurazione accurata, viene utilizzato un ritardo di 5 millisecondi per assicurarsi che la corrente nel DUT abbia raggiunto uno stato stazionario prima di essere misurata.
Pilotaggio DTU e codice di misura
Il circuito di pilotaggio e misurazione del DUT è composto da due sottocircuiti principali. Un sottocircuito analogico viene utilizzato per pilotare il DUT, mentre la corrente viene misurata tramite una resistenza shunt posta sul lato del collettore di un transistor a giunzione bipolare Darlington (DPBJT). Nel sottocircuito digitale, vengono utilizzati due convertitori DAC per impostare la polarizzazione sul DUT, mentre un IC di monitoraggio di corrente/tensione/potenza viene impiegato per misurare la tensione sulla resistenza shunt. Per quanto riguarda il sottocircuito digitale, due DAC AD5761 a 16 bit vengono utilizzati per impostare le tensioni di pilotaggio sul DUT. L'AD5761 consente di applicare tensioni che vanno da 0 a 20 V con una precisione a 16 bit, supportando un'interfaccia logica a 5 V con l'Arduino Nano. Quando si vuole misurare dispositivi a tre terminali, si possono impiegare due DAC AD5761. Questi richiedono una connessione tramite interfaccia seriale periferica (SPI) per comunicare con l'Arduino Nano, e sono necessari due pin digitali per gestire le linee di selezione del dispositivo (slave select). Una volta applicata la tensione al DUT, un IC INA219 per il monitoraggio di corrente/tensione/potenza misura la corrente attraverso una resistenza shunt da 100 mΩ posizionata sul lato del collettore del DPBJT BDX33C, con elevato guadagno di corrente diretta. Questo IC comunica con l'Arduino Nano tramite l'interfaccia I2C.
Il DAC AD5761 è in grado di fornire una risoluzione a 16 bit per una determinata tensione, ma questa può essere ottimizzata specificando l'intervallo di tensione di uscita. Ad esempio, la risoluzione massima del DAC è di 305 μV quando è programmato per un intervallo di 0-20 V, ma aumenta a 76,3 μV quando si imposta un intervallo di 0-5 V. Pertanto, l'AD5761 viene programmato in modo da massimizzare la precisione della tensione di uscita in base alla tensione di misurazione massima specificata dall'utente, scegliendo tra gli intervalli disponibili: 0-5 V, 0-10 V, 0-16 V, e 0-20 V. La Figura 3 mostra il circuito nella sua interezza.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2965 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.