nanoVNA-H – measure ferrite core permeability

This article demonstrates the use of the (modified) nanoVNA-H to capture data from which the complex relative permeability of an unknown ferrite core is calculated and plotted

Above, a single turn of wire through the sleeve allows measurement by the nanovna. The nanoVNA fundamentally captures s11 parameters which we need to convert to relative permeability.

The nanoVNA fundamentally captures s11 parameters which we need to convert to relative permeability.

Nevertheless, a plot of R,X is of interest to note the frequency at which R=X.

To calculate relative permeability, we need the core geometry. Calculate ferrite cored inductor – rectangular cross section can calculate the ΣA/l metric from the core dimensions.

ΣA/l (m) is known as variable aol in the following Python script.

A couple of Python code snippets were developed in Jupyter.

file1='Unknown.s1p'
aol=0.003257 #aol=width/2/math.pi*math.log(od/id)
turns=1 #use least turns possible to minimise self resonance effects

import matplotlib
import skrf as rf
import time
import numpy
import math
import os
#rf.stylely({"savefig.dpi":180})
from datetime import datetime
import math
u0=4e-7*math.pi

fts1=time.localtime(os.path.getmtime(file1))
print(time.strftime("%Y%m%d",fts1))
#print(fts1)
nw1=rf.Network(file1)
print(nw1)
numpy.shape(nw1.z)
mu=(nw1.z[:,0,0]/turns**2/(2*math.pi*nw1.f))/(u0*aol)*-1j

Above is the first which calculates the mu array from the .s1p file.

%matplotlib inline
matplotlib.pyplot.figure(1)
rf.stylely({"savefig.dpi":180})
matplotlib.pyplot.plot(nw1.f/1e6,mu.real,'r',label='mu1')
matplotlib.pyplot.plot(nw1.f/1e6,-mu.imag,'b',label='mu2')
matplotlib.pyplot.xscale('log')
matplotlib.pyplot.legend(('$\mu\'$','$\mu\'\'$'),loc='upper right',shadow=True)
matplotlib.pyplot.ylim(bottom=0)
matplotlib.pyplot.ylabel('Relative permeability')
matplotlib.pyplot.xlabel('Frequency (MHz)')
matplotlib.pyplot.title('Complex relative permability - {}'.format(file1))

The above snippet plots the complex relative permeability.

… and it looks like that.