Is there a migration guide form Motor Control Blockset to Simscape ACIM model?
4 views (last 30 days)
Show older comments
Hello,
I'm planning to use Simscape as the basis for my ACIM modelling, but I'm struggling to get the same (or similar) results as with the Motor Control Blockset (comparing just the two models wiith V/f control). My question: is there any migration guide on how to translate Motor Control Blockset parameters into Simscape model parameters? The MCB model is now verified against the real model and works perfectly fine. With the same parameters, I'm not able to get the output even close to the reality. I'm using the examples from the MATLAB Help.
In addition, there are some questions regarding the parametrization (which would be answered by a migration guide if provided):
- In the "Rated apparent power" field, one can select "Watts" or "Kilowatts", etc. - what is the use of those units with "Apparent power"?
- Parametrization unit is poorly explained - "Per unit" must be clearly linked with some base and there is no explanation of it in the help (how to select the base). One can find some example with the model being intialized with a script, but I'm confused about the script - it uses an impedance as the per-unit base. However, the model itself uses SI settings.
- "Zero sequence" feature is poorly documented and it is hard to understand it
- "Stator leakage", "Rotor leakage" and "Magnetizing" are defined by their "reactance" and there is no reference to the frequency. One can just assume it is the nominal one. Using "inductance" would be much clearer
- "Stator zero sequence inductance" is not described in the mathematical model on this page (it cannot be seen in the equations). What is its usage?
- What is the purpose of the "rated voltage" and "rated electrical frequency"? The frequency may be used for the inductances calculation, however, I would consider it as a bad concept to provide reactances in ohms (which need to be calculated from inductances using frequency) and then calculating them back to inductances internally. The purpose of "voltage" is still a mistery to me
- Having the outputs given in "per-unit" is not very convenient, especially if
- the "base torque" is calculated internally and may be different from what the user considers as the rated torque
- the "base speed" can be either the nominal stator "speed" or the nominal rotor speed, which is not described anywhere in the documentation
- the "base voltage" can be either the voltage referred to the speed at rated frequency or at rated current (which can be two different points by design), again, which is not described anywhere in the documentation. Not speaking about "amplitude" vs. "RMS".
- the "base current" would be the same question as above.
I don't need a detailed answer right now, please take it as a set of suggestions/improvemetns to the documentation. What I would really appreciate is the migration guide - the two models (MC Blockset and simscape) running side-by-side and comparing the results.
Thanks in advance,
Best regards,
Matej
0 Comments
Answers (1)
Sabin
on 20 Dec 2022
Edited: Sabin
on 20 Dec 2022
Motor Control Blockset provides Simulink® blocks for creating and tuning field-oriented control and other algorithms for brushless motors. Simscape Electrical provides component libraries for modeling and simulating electronic, mechatronic, and electrical power systems. The two products are complementing each other in the way that you can design a realistic plant model in Simscape Electrical and a production code ready controller in Motor Control Blockset.
See the MATLAB code below which is mapping the MCB parameters to Simscape, with comments for the points raised:
% Induction machine parameter Initialization
clear;
clc;
%% Induction motor parameters (SI) from Motor Control Blockset (MCB)
NPP = 2; % number of pole pairs
Rs = 1.77; % ohm, stator resistance
Lls = 0.0139; % H, stator leakage inductance
Rr = 1.34; % ohm, rotor resistance referred to the stator
Llr = 0.0121; % H, rotor leakage inductance referred to the stator
Lm = 0.3687; % H, magnetizing inductance
J = 0.01; % kg*m^2, moment of inertia
%% Induction machine parameters used in Simscape Electrical
% In Simscape Electrical, you may choose either SI or Per Unit (PU)
% parameterization option. In power systems, per unit is commonly used. You
% may refer to the following documentaiton page (the Section of "Why Use
% the Per-Unit System Instead of the Standard SI units") for more detailed
% reasons.
% web(fullfile(docroot, 'physmod/sps/powersys/ref/per-unit-and-international-systems-of-units.html?s_tid=doc_srchtitle'))
% The following lines show how to convert SI parameters to PU parameters.
% To do such conversion, one needs to know an induction machine's rated
% power (either apparent or real power), rated voltage, and rated
% electrical frequency. These inforamtion are usually provided from the
% machine's nameplate.
% Since the induction motor in MCB does not have rated power, voltage, and
% electrical frequency, herein, a resonable assumption will work. Please
% see the following values.
SRated = 5e3; % V*A, rated apparent power
VRated = 400; % V, rated voltage (rms, phase-to-phase)
FRated = 60; % Hz, rated electrical frequency
%% Base values
% General base values
Sbase = SRated; % V*A, base power
fbase = FRated; % Hz, base frequency
wbase = 2*pi*fbase; % rad/s, base angular speed [electrical]
wmbase = wbase/NPP; % rad/s, base angular speed [mechanical]
Tbase = Sbase/(wbase/NPP); % N*m, base torque
% Other base values are based on the Deltal stator winding connection since
% the Deltal connection is more widely used in power systems.
% other base values (Deltal base group)
VbaseRMS = VRated; % V, base voltage, phase-to-phase, RMS value
IbaseRMS = Sbase/(3*VbaseRMS); % A, base current, RMS value
Vbase = VRated*sqrt(2); % V, base voltage, phase-to-phase, peak value
Ibase = Sbase/(1.5*Vbase); % A, base current, peak value
Zbase = Vbase/Ibase; % ohm, base impedance
Lbase = Zbase/wbase; % H, base inductance
% The above base values can be displayed in the Command Window by
% Right-click the induction machine block from Simscape Electrical and
% choose the context menu 'Electrial' -> 'Display Base Values'.
%% Induction machine parameters in the SI machine block
% Stator and rotor resistance (Rs and Rr) are the same as those from MCB
% Ohter reactances are based on the rated electrical frequency
Xls = Lls*wbase; % Ohm, stator leakage reactance
Xlr = Llr*wbase; % Ohm, rotor leakage reactance
Xm = Lm*wbase; % Ohm, magnetizing reactance
%% Induction machine parameters in the PU machine block
Rspu = Rs/Zbase; % p.u. stator resistance
Llspu = Lls/Lbase; % p.u. stator leakage inductance
Rrpu = Rr/Zbase; % p.u. rotor resistance
Llrpu = Llr/Lbase; % p.u. rotor leakage inductance
Lmpu = Lm/Lbase; % p.u. magnetizing inductance
% Zero-sequence is the other concnept used in power systems to account for
% unbalanced operations. However, in the motor control area, it is usually
% ignored. So, the induction motor in MCB does not have the modeling of
% zero-sequence. You may exclude zero-sequence by choosing 'Exclude' for the
% 'Zero sequence' drop-down menu in the induction machine block from the
% Simscape Electrical.
Output measurement port is in per-unit. We do have an alternative way of accessing internal variables now, using a Probe block.
3 Comments
Sabin
on 28 Dec 2022
Hi,
- wbase/NPP is mechanical base speed, so when Torque_PU = 1 you will get Tbase.
- Same for current, Ibase is defined as the base peak current. The current (PU) needs to be multiplied by Ibase to get the value in Amperes. Therefore, when current_pu = 1 we get a peak phase current of Ibase.
- Speed_pu=1 would imply that the slip is 0 indeed. We do refer to synchronous speed but what we get through the measurement port is the rotor speed (speed_pu=1-slip).
If you prefer to use measurements directly in the SI unit then you can ignore the pu measurement port in the machine, use the conversion SI->pu as described in the code above, and use current/voltage/motion/torque sensors which will output the values in SI. This way the control algorithm can be implemented entirely in SI.
Regards,
Sabin
See Also
Categories
Find more on Permanent Magnet in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!