Azzera filtri
Azzera filtri

Simscape FEM-parameterised PMSM error

5 visualizzazioni (ultimi 30 giorni)
Hi,
I am attempting to simulate a PMSM drive system using Simscape. Everything works with the ideal PMSM model so i have moved on to implementing the FEM-parameterised model. I have run sweeps in Ansys Maxwell to determine the relevant parameters, and extracted them into Matlab arrays.
I have chosen to paramaterise the motor with the 3d flux linkage option, using d-q currents, the A-phase flux linkage, and the FEM-predicted torque.
My input arrays are as follows:
Id =
Columns 1 through 13
-40.0000 -35.7895 -31.5789 -27.3684 -23.1579 -18.9474 -14.7368 -10.5263 -6.3158 -2.1053 0 2.1053 6.3158
Columns 14 through 21
10.5263 14.7368 18.9474 23.1579 27.3684 31.5789 35.7895 40.0000
>> Iq
Iq =
Columns 1 through 13
-80.0000 -71.5789 -63.1579 -54.7368 -46.3158 -37.8947 -29.4737 -21.0526 -12.6316 -4.2105 0 4.2105 12.6316
Columns 14 through 21
21.0526 29.4737 37.8947 46.3158 54.7368 63.1579 71.5789 80.0000
>> theta
theta =
Columns 1 through 13
0 1.2500 2.5000 3.7500 5.0000 6.2500 7.5000 8.7500 10.0000 11.2500 12.5000 13.7500 15.0000
Columns 14 through 25
16.2500 17.5000 18.7500 20.0000 21.2500 22.5000 23.7500 25.0000 26.2500 27.5000 28.7500 30.0000
The Torque and FluxA are 21x21x25 double matrices.
cap1.JPG
When attempting to run the simulation, I get the following error:
Error compiling Simscape network for model InvWithMotorFEA.
Caused by:
['InvWithMotorFEA/Motor']: Direct-axis current vector, iD must include zero and have symmetric positive and negative values. In ee.electromech.pmsm.fem_motor.fem_motor_dq0_base
As far as I can tell, my Id vector meets the above conditions so I am lost as to what this error means. Of course I can try the other options for parameterising the motor, but it should "just work"
My MATLAB version info is below.
Thanks,
Tim
>> ver
-----------------------------------------------------------------------------------------------------
MATLAB Version: 9.7.0.1216025 (R2019b) Update 1
MATLAB License Number: 573833
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 18362)
Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
-----------------------------------------------------------------------------------------------------
MATLAB Version 9.7 (R2019b)
Simulink Version 10.0 (R2019b)
Control System Toolbox Version 10.7 (R2019b)
Curve Fitting Toolbox Version 3.5.10 (R2019b)
DSP System Toolbox Version 9.9 (R2019b)
Data Acquisition Toolbox Version 4.0.1 (R2019b)
MATLAB Coder Version 4.3 (R2019b)
Optimization Toolbox Version 8.4 (R2019b)
Parallel Computing Toolbox Version 7.1 (R2019b)
Powertrain Blockset Version 1.6 (R2019b)
Signal Processing Toolbox Version 8.3 (R2019b)
Simscape Version 4.7 (R2019b)
Simscape Electrical Version 7.2 (R2019b)
Simulink Control Design Version 5.4 (R2019b)
Statistics and Machine Learning Toolbox Version 11.6 (R2019b)
Symbolic Math Toolbox Version 8.4 (R2019b)
System Identification Toolbox Version 9.11 (R2019b)

Risposta accettata

Joel Van Sickel
Joel Van Sickel il 18 Ago 2020
Hello Tim,
your id vector needs to look something like this [-40 -20 -10 0 10 20 40]. Your array is mostly symetric, but doesn't contain zero and has a few values that are not symetric.
Regards,
Joel

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by