Prova Transistor automatico

Descrizione

Come tutti i bravi appassionati di elettronica, nei cassetti del laboratorio riposano decine o centinaia di transistor, di segnale, di media potenza, di potenza e di alta frequenza. Spesso questi sono recuperati da schede o da confezione di componentistica mista, con sigle inusuali e di difficile reperimento su internet (es. 2S317).
Che fare ? buttarli nel cestino o provare ad usarli ?...la ricerca del datasheet è perlomeno ardua.
Però è un peccato buttarli (piange sempre un pò il cuore) e per certe applicazioni non critiche, averli disponibili può fare comodo; questo vuol dire armarsi di tanra pazienda e di un multimetro e cominciare a spulciarli per capire, innanzitutto, se sono NPN o PNP, e poi sapere come sono messi i piedini. Operazione snervante, per la quale anche la funzione di transistor tester dei nuovi multimetri serve a poco (occorre sempre provare un pò di combinazioni).
Ecco allora l'idea di farsi un prova transistor digitale automatico.



Caratteristiche

Gli obiettivi di progetto sono semplici:

All'inizio avevo ideato un progetto che impiegava diversi commutatori analogici comandati da una CPU per inviare ai pin le diverse tensioni e correnti; sulla carta tutto ok, ma la reperibilità di 'analog switch' adatatti e la necessità di avere 2 tensioni di prova complicava non poco la vita. La scelta è stata quindi di utilizzare direttamente le tensioni di uscita del uP, commutate in modo da ottenere tutte le 6 possibili combinazioni richieste, con in aggiunta altri 3 pin usati come interuttori per inserire o meno un'ulteriore resistenza su ciascun terminale del transistor. L'obiettivo di semplicità circuitale è stata ampiamente raggiunta: tolto il display LCD e pochi pezzi per l'alimentazione, il circuito richiede solo un PIC e 6 resistenze!
Ho utilizzato un PIC 18F2580 soprattutto per la disponibilità; la velocità di clock (interno), la dotazione di RAM e EPROM e il numero di pin sono in esubero; anche un 18 pin sarebbe bastato. 9 Pin del PIC sono usati dal rivelatore e 6 pin comandano il display LCD. Un pin è utilizzato per l'avvio della misura, mentre un ulteriore pin (opzionale) comanda l'accensione del 'backlight' del display LCD, anche per ridurre i consumi. In totale, sono usati al massimo 17 pin. L'utilizzo di un PIC a 28 pin lascia spazio per modifiche e rende più 'mentalmente' facile la comprensione dello schema.



Teoria di funzionamento

Transistor tester La figura a fianco visualizza lo schema logico di implementazione.
Ciascun terminale del transistor in prova è collegato tramite un deviatore a una tensione di +5V oppure a massa (ovvero di -5V rispetto all'altro capo).
In serie ai terminali è inserita una resistenza di valore elevato (10 KOhm) con in parallelo, tramite un interuttore normalmente chiuso, un'altra resistenza di basso valore (120 Ohm). A riposo, la resistenza in serie ai pin è quindi di circa 120 Ohm (118 per esattezza), sufficienti a non superare per ciascun pin del uP la corrente massima tipica di 25 mA, considerando che 2 resistenze saranno sempre inserite per ciascuna coppia di pin.
Ai capi del transistor sono prelevate le tensioni inviate ai convertitori ADC del PIC.
NOTA BENE la metodologia di misura è totalmente empirica: le mie conoscenze e gli strumenti di simulazione (Circuit Maker) non mi permettono di capire 'perchè' leggo certe tensioni. Di conseguenza, l'approccio è stato misurare nella realtà le tensioni di interesse, metterle in una tabella (tavola delle verità) e identificare i pattern significativi.
I valori sono discriminati in funzione di 3 soglie di tensione (Vminima, Vmassima e Vsoglia), stabiliti sempre empiricamente, per scartare i valori fasulli e stabilire la polarità del transistor.

Metodo di misura

La procedura è suddivisa in 3 fasi:


Firmware

Il programma è scritto in Basic (PicSimulatorIDE di Oshon Software) tranne 4 routine in Assembler:
- le routine 'peeks' e 'pokes' per leggere/scrivere il vettore Seq (costruito da Init all'inizio programma) contenente tutte le possibili combinazioni di segnali.
- le routine 'peekr' e 'poker' per leggere/scrivere i valori letti dall'array temporaneo 'immres' alla matrice 'result'

La lettura dei valori sui pin, effettuata tramite gli ADC0..ASC2, è il risultato mediato di 4 consecutive letture spaziate di 1 msec; questo per correggere eventuali incertezze dovute alla capacità dei terminali.
I valori letti sono posti nell'array a 3 posizioni 'immres'.
Per la verifica di validità dei valori sono fissate 3 soglie: Vmin=100mV circa, Vmax=4.9V circa e Vthr=2.75V circa.
Valori inferiori a Vmin sono considerati 0; valori superiori a Vmax sono considerati 5V. Vthr serve a stabilire la demarcazione tra i valori tipici dei transistor NPN (valori superiori) e PNP (valori inferiori).

Il cuore del programma sono le 3 fasi sopra descritte.
Nella Fase 1 ('Scan'), le 6 possibili combinazioni di segnali sono applicate sequenzialmente ai terminali di prova.
La tripletta di valori letti è copiata da 'immres' alla matrice 'result'

Nella Fase 2 ('Analyze') i valori in Result sono analizzati per scartare quelli fuori dai limiti fissati da Vmin e Vmax. I restanti valori sono confrontati con Vthr per stabilire se sono assegnabili a un NPN o un PNP. La pratica dimostra che ci saranno 2 letture di un tipo e 1 del dell'altro. La coppia di letture omologhe stabilisce la polarità NPN o PNP del transistor.
Un vettore ('Valid') ricorda quali combinazioni hanno prodotto i risultati accettabili per l'ulteriore analisi.
La seconda parte della Fase 2, identifica il pin che ha il valore maggiore (per gli NPN) o inferiore (per i PNP) rispetto agli altri 2 terminali; questo pin è la base ('pinb').

La Fase 3 ('Analyze2') deve identificare i pin E e C del transistor; questa è l'operazione più complessa e basata sui riscontri delle prove fatte, senza alcuna analisi teorica.
Come detto prima, ci saranno 2 combinazioni (righe della matrice Result' che hanno valori accettabili.
La semplice inversione di polarità applicata ai pin E e C non è sufficiente per ottenere risultati evidenti.
La soluzione trovata è di escludere la resistenza di basso valore dal terminale di base (gia identificato); per far ciò, il pin del PIC che comanda questa resistenza viene posto come Input, ovvero ad alta impedenza. Il risultato è che la base viene ora pilotata da una resistenza di 10KOhm, mentre gli altri pin hanno un resistenza di circa 120Ohm.
Una nuova lettura delle tensioni porta a scoprire che un pin, diverso dalla base, avrà un valore inferiore (per gli NPN) o superiore (per i PNP) al valore sulla base. Questo pin è l'Emettitore, mentre l'altro è ovviamente il Collettore. Tutti i pin sono stati identificati.
Se non si arriva a questo punto significa che il transistor non è connesso oppure è danneggiato, da qui la segnalazione sul display di errore.


Estensioni

Per il funzionamento del dispositivo, quanto illustrato è sufficiente e si riflette nello schema elettrico con i componenti base.
A complemento del progetto, e per estendere funzionalità e praticità d'uso, sono previste funzioni e componenti aggiuntivi (questi indicati nello schema con 'sezioni opzionali').
Essi consistono in:



Costruzione

La costruzione è totalmente lasciata alla creatività e capacità del costruttore (entrambe scarse nel mio caso!). Ho trovato ad una fiera un contenitore di un dispositivo accessorio per telefonia; ha le dimensioni quasi giuste, una finestra per display 'quasi' giusta e dei fori per pulsanti. Non è elegantissima, ma abbastanza pratica.



Schema Prova Transistor Cicuito stampato Prova Transistor Disposizione componenti Prova Transistor
Schema elettrico Cicruito stampato Disposizione componenti in 3D
Prototipo Prova Transistor Realizzazione Prova Transistor Progetto completo Prova Transistor
Prototipo al lavoro Realizzazione Progetto completato


Download

File compresso contenente schema elettrico, circuito stampato (versione EagleCad 5.x e immagini JPG> + Elenco componenti + file sorgente in Basic 'PicSimulatorIde' + eseguibile: » scarica