How to model an inductor whose inductance value changes with RMS current passing through it?

4 visualizzazioni (ultimi 30 giorni)
For any real inductor, the inductance value vary with the current passing through it. how do I implement this change in inductance value with current?
Please find below attached the inductor characteristics from a datasheet

Risposte (2)

Sam Chak
Sam Chak il 25 Mar 2025

Hi Jay,

This is a modeling problem. Ideally, if the data points are sufficiently available, you can use the Curve Fitting tools to identify the model for the curve.

Most data sheets are in the form of images. I commonly use WebPlotDigitizer , an online data extraction tool, to extract data from images in numerical format.

You can also use GRABIT: GRABIT


Sam Chak
Sam Chak il 25 Mar 2025
Hi @Jay
It took me an hour to extract the characteristic data from the datasheet image using PlotDigitizer, which is a free online app. I saved the data in a CSV file. With this data, I can apply a curve fitting technique to identify the model. Naturally, I tend to start with the polynomial model. If it does not yield satisfactory results, I will use a specialized model, such as the soft trapezoidal function.
Step 1: Extract the data using PlotDigitizer.
Step 2: Load the data and apply curve fitting technique.
%% load data from csv file
dat = readmatrix('plot-data.csv');
I = dat(:,1); % current (x-coordinate)
L = dat(:,2); % inductance (y-coordinate)
%% apply polynomial curve fitting technique
[p, S] = polyfit(I, L, 7)
p = 1×8
0.0001 -0.0011 0.0092 -0.0388 0.0881 -0.1083 0.0594 2.0008
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
S = struct with fields:
R: [8x8 double] df: 27 normr: 0.0093 rsquared: 1.0000
%% evaluate the polynomial on a finer current grid
numpts = 101; % number of points
I1 = linspace(I(1), I(end), numpts);
L1 = polyval(p, I1);
%% plot the results
figure
plot(I, L, 'o') % plot data
hold on
plot(I1, L1) % plot fitted model
hold off
ylim([0, 2.5])
grid on
legend('Original data', 'Fitted model')
title('Inductance vs. Current Characteristics')
xlabel('Current [A]'), ylabel('Inductance [{\mu}H]')
  1 Commento
Jay
Jay il 27 Mar 2025
Spostato: Walter Roberson il 27 Mar 2025
Hi Sam,
Thank a lot for the detailed explaination.
The problem is that I don't have the datasheet. I have two values:
1) L_min at a Test voltage, Frequency and max Current.
2) L_max at the same Test voltage and Frequency and current value not given.
So, I observed that the inductance was varying just with current
I was looking to model the inductor based on these test data.
Let me know if you know any method to model the inductance with these limited data.

Accedi per commentare.

Categorie

Scopri di più su Simscape Electrical in Help Center e File Exchange

Prodotti


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by