Impedenzimetro con arduino

Arduino UNO o ATmega serie sono dotati di ADC 10-bit abbastanza veloci da potere campionare un segnale alternato sinusoidale a frequenza di 1kHz o anche più, ma certamente se lo facciamo lavorare in CC (o quasi) possiamo snellire l'occupazione di memoria e la complicazione del software.

Se avessimo un ADC ad alta risoluzione e alta velocità potremmo misurare l'impedenza di un componente ignoto (induttore, condensatore ma anche resistore) posto in serie ad un componente noto, nel caso specifico un resistore, ad esempio 10 ohm.

Un resistore da 10 ohm con in serie una induttanza da 10mH alimentato da un generatore sinusoidale di frequenza 159Hz e ampiezza 1V rms si comporta come un partitore resistivo 10 ohm + 10ohm cioè divide l'ampiezza di 1.41Vp (1Vrms) diviso due, così ai capi di entrambe i componenti possiamo misurare 1.41V/2=0.707V.

Per ricavare il valore della induttanza in mH a partire dalla sua reattanza induttiva di 10 ohm a 159Hz ci basta scrivere LmH = XL/F/0.00628 = 10 / 159 / 0.00628 = 10,014821936mH.
Il risultato pare abbia un errore e non so da cosa dipende.

Ammettiamo di avere un circuito composta da operazionali che rileva la tensione ai capi dei due componenti (quindi uno op differenziale), la R da 10 ohm e l'induttanza ignota e anziché fornirci il valore in alternata lo raddrizzi, bene questo circuito c'è o almeno c'è una simulazione che pare lavorare.

Già per ricavare la resistenza (impedenza) alla frequenza Fc dividiamo vLdc/vRdc = 0.707/0.707 = 1 e moltiplichiamo per il valore della resistenza di 10 ohm, quindi XL = (0.707/0.707) x 10.
Nota vLdc è la tensione ai capi della induttanza ignota, mentre vRdc è la tensione ai capi del resistore.

Avendo quindi delle tensioni continue (con ripple) il compito di arduino sarebbe quello di ricavare XL e da questo ricavare L in mH.

Con una MCU arm-m4 tutto questo sarebbe fatto via software incluso la generazione della frequenza di test e non servirebbe neanche il circuito con operazionali per raddrizzare la sinusoide.

Il progetto non è farina del mio sacco, diciamo che l'ispirazione viene da NE177-178.

Se c'è interesse, dotatevi di MCP12 o LTspice o altro. Io ho disegnato e simulato con MCP12.

Servirebbero anche alcune formulette postate qui, come XL, XC ecc.

Ciao.

Progetto di misuratore f - L - C con atmega328p
:slight_smile:
ebay

Grazie Datman, colgo l'occasione per dire qualcosa di più sul metodo proposto nell'articolo linkato.

Si realizza un circuito oscillatore composto da un condensatore di valore conosciuto e dall'induttore di valore sconoscito. La frequenza di oscillazione di quel circuito è:

F = 1 / (2 x pi x sqr(L x C))

Dove L è in Henry e C in Farad.

Ora potendo misurare con arduino il periodo della forma d'onda si ottiene da questo il valore di F = 1/T dove T è il periodo in secondi.

La seguente formula inversa dovrebbe permetterci di ricavare il valore L conoscendo la frequenza F e il valore di C.

L = (1 / 2 x pi x F)^2 / C.

Se l'incognita è C (anziché L) nel circuito dobbiamo inserire una induttanza L di valore conosciuto.
La formula dovrebbe essere la stessa di quella sopra ma al posto di C ci va L, cioè:

C = (1 / 2 x pi x F)^2 / L

Cacchio quanto mi piacciono questi articoli dove non si spiega un bel niente.

Però in questo modo non realizzo un impedenzimetro, cioè cosa accade se al posto di L ci collego un altoparlante o un trasformatore? Di certo non posso misurare l'impedenza, cioè la resistenza al variare della frequenza.

A proposito Datman tu hai realizzato un generatore di segnali pensi che possa tornare utile?
Ad esempio posso variare con continuità la frequenza tra 20Hz e 20kHz?

Ciao.

Sì, certo. Il DDS genera segnali sinusoidali. Certo, "continuità" è un concetto relativo, se non hai un potenziometro in un oscillatore lineare! Comunque puoi regolare la frequenza a piccoli passi, con una risoluzione di 1Hz. Io ho previsto per l'impostazione della frequenza diversi modi: manuale, a passi fissi (es. 100Hz), a terzi di ottava (100, 125, 160, 200, 250, 315, ...), a note musicali, scansione automatica lineare e logaritmica con impulso di sincronismo in uscita...