Di Giovanni Carrera
In questo articolo si descrive uno strumento digitale, basato su un PIC, in grado di fare accurate misure di capacità e induttanza. Lo strumento proposto ha una elevata sensibilità che lo rende particolarmente idoneo per misurare bassi valori
Molti multimetri digitali hanno anche alcune portate per misurare la capacità ma difficilmente misurano anche le induttanze e sono poco accurati e sensibili. Gli strumenti più precisi per effettuare queste misure sono i ponti LCR, ma sono strumenti professionali e poco accessibili all’hobbista.
La parte hardware dell’oscillatore dello strumento proposto non è nuova ed è basata soprattutto sull’ingegnosa tecnica di misurazione sviluppata diversi anni fa dall’americano Neil Hecht. Essa utilizza un oscillatore di prova a larga banda la cui frequenza varia a seconda del collegamento dell’induttore o del condensatore di cui si vuole misurare il valore. Le elevate prestazioni del misuratore dipendono dal sistema di auto-calibrazione di tale circuito.
Sono state messe a punto varie versioni, quasi tutte basate sui PIC16F84 o 16F628 della Microchip con programmi scritti in assembler e con funzioni di calcolo semplificate per poter occupare l’esigua memoria flash di questi chip. Esistono anche vari kit di montaggio, ma è difficile trovare il firmware (file hex) e ancora di più i programmi sorgenti. Molti articoli contengono anche inesattezze e curano più la parte costruttiva che quella sul principio di funzionamento. Ne avevo costruito uno, ho verificato che funzionava male e mi sono messo a studiare il circuito dopo aver effettuato una ricerca bibliografica sugli articoli originali. Alla fine di questo studio ho sviluppato gli algoritmi e ho scritto il programma in mikroPascal PRO, linguaggio più evoluto dell’assembler, munito di matematica floating point a 32 bit. Poiché la lunghezza del codice era superiore ai 2k del PIC16F628 originale, l’ho sostituito con un PIC16F648 che ha la stessa piedinatura ma è dotato di più memoria.
Successivamente ho anche scritto una versione per Arduino che sarà pubblicata nel prossimo numero.
Caratteristiche principali
Nonostante la sua relativa semplicità, il dispositivo offre una misurazione digitale diretta automatica. Nel mio programma, in mancanza di una formattazione vera e propria, ho convertito in stringa di 9 caratteri le variabili floating di C o L espresse, rispettivamente, in nF o in mH. Questo significa che per bassi valori si hanno tante cifre che non vanno prese tutte in considerazione, ma questo non crea problemi. Anche l’accuratezza della misurazione è sorprendentemente buona, con circa ± 1% della lettura sui valori bassi. L’errore assoluto dipende essenzialmente dalla tolleranza del condensatore di calibrazione C2. La precisione e la sensibilità di questo strumento non sono costanti nel campo di misura ma decrescono con l’aumentare della capacità o dell’induttanza e difficilmente si arriva a misurare capacità maggiori di circa 600-800 nF con buona accuratezza. Questo perché un oscillatore RLC, mantenendo fisso il valore di L o C, non riesce a coprire un vasto intervallo di frequenze con basse perdite. Inoltre la frequenza di oscillazione di un circuito LC si riduce con l’aumentare della capacità o dell’induttanza e diminuiscono sensibilmente le cifre significative e, quindi, la precisione.
Come alimentatore ho usato un normale LM78L05, che richiede una tensione d’ingresso di 7-12 V, assorbendo una corrente media inferiore a 20 mA. Con un regolatore LDO (low dropout) si può usare una tensione anche di 6V. Sconsiglio di usare alimentatori switching che sono molto rumorosi.
Come funziona
Il circuito dell’oscillatore è mostrato in Figura 1, esso utilizza un circuito LC in grado di oscillare in un ampio spettro di frequenze. La frequenza di oscillazione dipende da L e C in base alla nota formula:
F=1/(2π√LC)
Inserendo una capacità Cx in parallelo a C oppure
Presto lo assemblerò, Grazie Prof. Una domanda da neofita : quale programmatore per il PIC?(….è trppo?….scusa)
Buongiorno,
in effetti ho trascurato la parte di programmazione con il PC perché chi lavora con questi chip è solitamente più esperto rispetto a chi usa Arduino. Ci sono essenzialmente due modi per programmarli: uno sulla stessa scheda e non richiede la rimozione del chip, come ho fatto in numerosi progetti pubblicati anche su E&M. Per questo occorre un dispositivo USB, chiamato PIC KIT2 o 3 con un costo >35€ se originale, e anche un connettore sulla scheda. L’altro sistema è quello di mettere il PIC sullo zoccolo ad inserzione zero (zif) di un apposito programmatore come questo:
https://www.amazon.it/dp/B07L2TBVWH/ref=sspa_dk_detail_6?psc=1&pd_rd_i=B07L2TBVWH&pd_rd_w=P8lpr&content-id=amzn1.sym.c9f95566-a642-4649-b2d0-4bdc25387eea&pf_rd_p=c9f95566-a642-4649-b2d0-4bdc25387eea&pf_rd_r=Q33V8Y43NSTFG3SFBKQ1&pd_rd_wg=pdRFh&pd_rd_r=0c57e82e-1be4-44a8-8c12-cf06d324cd87&s=tools&sp_csd=d2lkZ2V0TmFtZT1zcF9kZXRhaWw#customerReviews
che costa 15€, ma che non ho provato perché ne ho diversi altri.
Le consiglio di NON usare le breadboard come si fa con un progetto normale. Qui i collegamenti lunghi e neppure saldati creano molti problemi o non funzionano proprio.
Saluti,
G. Carrera
Grazie mille,molto gentile.