AVR Transistor Tester

Articolo originale di Mark Frejek (http://www.mikrocontroller.net/articles/AVR-Transistortester)
Stralci di traduzione casareccia ed aggiunte romanzate del sottoscritto.
Revisione tecnica di Oliviero Pozzi.



Tutti coloro che si dilettano di elettronica, che sono dei mostri di scienza o che fanno finta di esserlo, conoscono bene il problema:
per utilizzare un transistor in un circuito da costruire o riparare, o si utilizza un transistor nuovo acquistato oppure si apre il cassetto del materiale smontato e lo si cerca (se sei stato così bravo da archiviarlo in precedenza).
Se l'obiettivo è quello di sostituirlo con uno uguale il problema non sussiste (o non sussisterebbe visto che, anche se nuovo, è buona norma prima testarlo), altrimenti di prende un datasheet e se ne cerca uno equivalente da rimpiazzare, sia come caratteristiche che come piedinatura (se non si ha un datasheet si può sempre fare riferimento a Santo Gugle).
Questo modus operandi, sempre da noi adottato, potrebbe essere faticoso e scocciante.
Se poi avete smontato dei transistor da schede recuperate dove le sigle non sono visibili o sono criptiche e pressoché sconosciute, sicuramente neanche Santo Gugle potrà aiutarvi.
Potete fare prove su prove e ricavarne qualche dato, ma senza strumentazione specifica non andrete molto lontano ed, in ogni caso, avrete perso un mucchio di tempo (tanto al giorno d'oggi ci avanza ... ).

Ma non preoccupatevi, oggi vi presento la panacea del semiconduttore, l'apparecchio con il quale potrete testare con facilità estrema  transistor, fet, mosfet, triac, thyristori, diodi, doppi diodi, resistenze e capacità, tutto automaticamente, premendo solo un pulsante, grazie ad una tecnologia un po' lontana da quanto in genere appare sulle pagine di questo diario di bordo, un bel microcontrollore con tanto di display per la visualizzazione.

Udite, udite, anche ad un prezzo irrisorio!!!

Vi ho sbalorditi, attratti, incuriositi, allettati, ingannati, presi in giro?

Tranquilli, nulla di tutto questo, è che un po' di sana ironia fa sempre bene, come riconoscere i limiti della propria persona e del proprio operato.

Quella che vado a presentare  è la realizzazione di un progetto trovato in rete e che ha attratto me (che mi ritengo umilmente un'elettronica schiappa) ed Oliviero (che invece è un Gran Tecnico Elettronico): la costruzione di un transistor tester automatico facente uso di un microcontrollore della famiglia ATMega, in particolare un ATMega8.
Entrambi entusiasti di tentare una nuova sfida (per me lo è stata veramente perchè ho fatto capolino in una branca di elettronica che ho sempre consciamente tenuto a distanza) e di applicarla all'elettronica che noi pratichiamo, in particolare per me, per avere uno strumento valido e pratico per tutto il materiale che smonto e recupero e, soprattutto, utilizzarlo nella riparazione degli apparati a transistor che amo rimettere in vita.

Le prove, i componenti testati, gli errori riscontrati, dimostrano che lo strumento è valido, lo spettro di utilizzo è minore di quanto mi aspettassi ma, ognuno, ha lo spettro che si è cercato, per cui, voi, potreste esserne pienamente soddisfatti e questo conta molto più della mia opinione.

Avevo pensato di tradurre il documento originale e mettere a parte le mie osservazioni, ma poi ho pensato che non sarebbe stato nello spirito del sito dove tutto è, purtroppo per voi, permeato dalla mia presenza.
Pazienza, riporterò come al solito il racconto di una bella avventura .....

Internet è una bel mondo, virtuale all'apparenza, ma vivo qualora si decida di utilizzare l'aleatorietà dell'atomo e fissarlo in un qualcosa di reale per noi.
Così è avvenuto per questo progetto, scoperto, tradotto al volo dal tedesco, proposto ad Oliviero nella sua fattibilità, la sua velocità nel realizzare il prototipo e la sua pazienza nell'avermi avuto accanto per molto tempo, durante i test e durante la sua docenza sulla programmazione dei micro e sul software da utilizzare. Il vero lavoro l'ha fatto tutto lui, soprattutto nel sopportarmi per così tanto tempo, ed è per questo che ho deciso di mettere la nostra foto all'inizio dell'articolo, per ringraziarlo di tutto quello che ha fatto.
Salire alla ribalta di internet è qualcosa a cui tutti aspirano :-)

Basta parole strampalate, passiamo a qualcosa di più concreto.

Iniziamo con l'elencare le caratteristiche di questo apparecchietto:
Prima di continuare, vi mostro lo schema elettrico utilizzato da me e Oliviero: le modifiche sono scritte a mano, non vogliatemene, non ho avuto il tempo per farlo diventare "bello". Non sono riuscito a scansionarlo, causa passaggio a miglior vita dello scanner, se non è particolarmente leggibile, confrontatelo con l'originale che riporto di seguito.





Subito vi elenco i componenti da noi utilizzati:

R1,R3,R5 = 680 ohm, 1%
R2,R4,R6 = 470 Kohm, 1%
R7 = 2,2 Kohm
R8 = 220 ohm
R9, R11 = 10 Kohm
R10 = 3,3 Kohm
tutte le resistenze sono da 1/4W
C1,C2,C3,C4 = 100 nf
C4,C5 = 220 uf, min 16v
D1 = diodo led
D2,D3 = 1N4007
IC1 = 7805
IC2 = ATMega8
Display = HD44780 (qui potete scaricare il datasheet del display)
J1,J2,J3 = jumper manuali o dip-switch stile circuito integrato
S1 = pulsante di test
S2 = interruttore di accensione
Socket per stampato o tre coccodrilli per i componenti in test
Presa femmina per alimentatore esterno oppure clip per batteria a 9V.

Le figure che seguono mostrano la prima realizzazione da noi effettuata (fatte senza display).





Queste che seguono sono invece le foto della realizzazione al momento in funzione.









Rispetto allo schema originale, sono state effettuate delle aggiunte, sia per esperienza sul campo che per logica:
I tre jumper sono stati aggiunti qualora si utilizzassero alimentazioni differenti (da rete esterno o da batteria).
Il solo circuito in funzione senza led e retroilluminazione del display assorbe circa ai 10mA, inserendo il diodo led di segnalazione accensione si sale a 20mA, utilizzando la retroilluminazione del display si ottiene un assorbimento di circa 70mA. Il diodo D3 sull'alimentazione è per protezione contro l'inversione di polarità dell'alimentazione esterna, potrebbe essere un problema con l'alimentazione a batteria in quanto porterebbe al messaggio di batteria scarica prima del dovuto (0,6V circa ed il tester non funziona). Quando si va a batteria, la situazione dei jumper sarà: D1 e D2 aperti e D3 chiuso (il contrario, se si vuole, se alimentato esternamente).
Il diodo D2 è utilizzato per avere una caduta di tensione opportuna, in quanto la retro illuminazione necessita di 4,3V di alimentazione.
Sono stati aggiunti i condensatori di filtro disturbi e di stabilizzazione dell'alimentazione ai capi del regolatore di tensione ed è stato utilizzato un 78M05 al posto del 78L05 che supporta un assorbimento maggiore e stare così tranquilli per eventuali aggiunte, tipo la retroilluminazione e l'altro led che nel progetto originale non erano previsti. Non era previsto neanche il controllo del contrasto del display, aggiunto sostituendo la resistenza fissa con un trimmer di resistenza inferiore per ottenere una regolazione personalizzata.
Nel progetto originale erano previsti morsetti per i collegamenti esterni, nella versione definitiva sono stati implementati direttamente sullo stampato mille fori ed aggiunti i coccodrilli solo per i componenti con piedini grandi.

Circa il funzionamento del tester, vi consiglio di leggere l'articolo originale o altri articoli del genere utilizzanti però dei PIC.
A grandi linee, se ne può spiegare il funzionamento come l'analisi particolareggiata delle tensioni e dei tempi ai capi delle resistenze di ingresso, qualora venga ad esse collegato un componente; questo lavoro è svolto dal convertitore analogico/digitale presente nell'integrato.
Una tabella interna scritta nel programma consente di interpretare i risultati, specifici per il tipo di componente utilizzato.
Un'altra nota è quella delle resistenze di ingresso. Nella realizzazione, le resistenze sono da 5% di precisione, ma si consiglia di utilizzarle con precisione dell'1%. Questo perché il convertitore A/D calcola le tensioni ai capi delle resistenze stesse, per cui più accurata sarà la lettura, più accurato sarà il riconoscimento del componente di test.

Altro aspetto da analizzare, è quello del caricamento del software all'interno del micro controllore e delle modalità in cui questo possa avvenire. Qui potrebbe parlare un esperto nel campo ed elencare i pro ed i contro dell'una o dell'altra modalità.
Non è nelle mie capacità e non è nelle mie intenzioni stressare ulteriormente Oliviero per farmi fare un corso solo per questo.
L'unica azione che implementerò sarà quella di riportarvi i passi salienti della programmazione specifica del chip, con il software fornito dall'autore per il processore in questione, con il programmatore ed il software di trasferimento da me usato.

A tale scopo ho utilizzato il programma PonyProg (http://www.lancos.com/prog.html) nella versione 2.07c. Tale programma può essere scaricato liberamente, abbisogna di una porta seriale con protocollo RS232 e non può essere installato su piattaforme Microsoft a 64bit. Sto facendo dei test utilizzando un convertitore USB/RS232 per vedere se potete fare il lavoro anche se avete un notebook di ultima generazione oppure un netbook, vi farò sapere in seguito della sperimentazione.
Non entro nello specifico dell'utilizzo, io sono stato aiutato da Oliviero che aveva un suo programmatore, condizione necessaria e sufficiente per realizzare questo progetto (no programmatore no tester).

Il software è strutturato in due parti, la principale con estenzione *.hex (la flash) e l'altra con estensione *.epp (l'eeprom che contiene i messaggi a video). In particolare, per l'eeprom, fornisco due versioni, l'originale con il testo in tedesco e quella in italiano tradotta ed implementata da Oliviero e me.
Potete trovare i files da caricare qui, nello zip ho inserito tutti i files che servono.
Per la programmazione del chip servono anche i cosiddetti FUSE, che stabiliscono il clock interno e le modalità di trasferimento dei dati; di seguito trovate la schermata di configurazione.



Se tutto è andato bene, non sono stati commessi errori sulla costruzione dello stampato e la programmazione è andata a buon fine, il circuito funzionerà al primo colpo (garantito per esperienza diretta, sia per gli errori che per i successi).

Ed ora veniamo alla pratica vera e propria ed alla domanda che tutti vi sarete posti fino a questo momento:
ma 'sto coso funziona o no?
Risposta: quasi SI.
Il quasi SI è dovuto essenzialmente alle aspettative che mi ero figurato.

Per tutto quello che riguarda il silicio, nessun problema particolare è stato riscontrato, nell'identificazione dei terminali, delle caratteristiche e del funzionamento in generale.
Qualche problema con triac e thyristor, ma era specificato nelle premesse iniziali.
Per questi aspetti la risposta sarebbe stata: SI BELLISSIMO.

Io ero invece curiosissimo di vedere come controllare componenti al germanio, sia transistor che diodi e qui l'apparato da più interpretazioni che bisogna analizzare, semplicemente perché, a mio parere, non è stato implementata la routine di controllo per questi componenti (sia diodi che transistor).

Un altro test che ho fatto è stato quello del calcolo del parametro hFE dei transistor, confrontato con il test hFE dei multimetri digitali (perdonatemi ma ho solo materiale cinese).
La discordanza dei dati è stata pressoché nulla, qualche punto di differenza ma costante, imputabile alla percentuale di errore dei due strumenti e, credo soprattutto, al valore delle resistenze utilizzare che non erano all'1%.
Tutti i test effettuati sulla piedinatura (componente e datasheet alla mano) sono stati esatti.
Tutti i dati anomali oppure dati che non corrispondono alle attese del componente in esame, devono essere interpretati.

Per i risultati dei test sto approntando un nuovo articolo spero il più possibile esauriente nell'interpretazione dei risultati e dei test fattibili.

Per concludere, rinnovo il mio ringraziamento ad Oliviero ed esterno la mia felicità nell'aver partecipato alla nascita e crescita di questo tester, di cui sono pienamente soddisfatto (peccato per i componenti al germanio).
Sarebbe molto bello se qualcuno di voi avesse sotto mano o fosse in grado di modificare facilmente il programma da caricare già modificato per testare anche questi componenti vintage.

Buona sperimentazione a tutti.

Link al progetto originale di Mark Frejek:
http://www.mikrocontroller.net/articles/AVR-Transistortester

Link allo schema originale senza autospegnimento
http://www.mikrocontroller.net/articles/Datei:Transistortester_ohne_Abschaltung.png

Link al forum di discussione sul progetto
http://www.mikrocontroller.net/topic/131804