mcb.updatePMSMLdLqFluxPM
Description
Examples
Get parameters for your motor. This example uses a BLY171D PMSM.
pmsm = mcb.getPMSMParameters("BLY171D");Populate the ParamTableData struct with inductance flux data from
a non-linear model.
ParamTableData.method = 'Ldq';
ParamTableData.idVec = [-4,-2,0,2] * pmsm.I_rated;
ParamTableData.iqVec = [-4,-2,0,2,4] * pmsm.I_rated;
ParamTableData.LdTable = pmsm.Ld * ones(4,5);
ParamTableData.LqTable = pmsm.Lq * ones(4,5);
ParamTableData.FluxPMTable = pmsm.FluxPM * ones(4,5);Specify additional parameters.
goLUT = 1; id = 0; iq = 0;
Update inductance and flux parameters for the PMSM.
pmsm_new = mcb.updatePMSMLdLqFluxPM(pmsm,ParamTableData,id,iq,goLUT)
pmsm_new =
struct with fields:
model: 'Anaheim-BLY171D-24V-4000'
sn: '001'
p: 4
Rs: 0.7500
Ld: 0.0010
Lq: 0.0010
J: 2.4019e-06
B: 1.1604e-05
Ke: 3.8000
Kt: 0.0340
I_rated: 1.8000
N_max: 10000
PositionOffset: 0.0504
QEPSlits: 1250
FluxPM: 0.0052
T_rated: 0.0566Input Arguments
PMSM parameters, specified as a struct.
Specify lumped linear parameters with the following required fields:
Ld— d-axis stator winding inductance (in henries), specified as a scalarLq— q-axis stator winding inductance (in henries), specified as a scalarFluxPM— Permanent magnet flux linkage (in webers), specified as a scalarp— Number of pole pairs, specified as a scalarRs— Stator resistance (in ohms), specified as a scalarB— Viscous damping coefficient (in kg-m2/ sec), specified as a scalarI_rated— Rated current (in amperes), specified as a scalar
You can create a structure with lumped linear parameters using mcb.getPMSMParameters.
Alternatively, specify nonlinear lookup table data with the following required fields:
PMSMLUT.idvec— d-axis current breakpoints (in amperes) of lookup tables, specified as a vectorPMSMLUT.iqvec— q-axis current breakpoints (in amperes) of lookup tables, specified as a vectorPMSMLUT.LdTable— d-axis inductance (in henries) lookup table, specified as matrixPMSMLUT.LqTable— q-axis inductance (in henries) lookup table, specified as a matrixPMSMLUT.FluxPMTable— Permanent magnet flux linkage (in weber) lookup table, specified as a matrix
or the following required fields:
PMSMLUT.idvec— d-axis current breakpoints (in amperes) of lookup tables, specified as a vectorPMSMLUT.iqvec— q-axis current breakpoints (in amperes) of lookup tables, specified as a vectorPMSMLUT.FluxDTable— d-axis flux linkage lookup table, specified as a matrixPMSMLUT.FluxQTable— q-axis flux linkage lookup table, specified as a matrix
Whether you specify lumped parameters or lookup tables, the structure can also contain the following optional fields:
model— Manufacturer's model number, specified as a character vectorsn— Manufacturer's serial number, specified as a character vectorJ— Motor inertia coefficient (in kg-m2), specified as a scalarKe— Back EMF constant (in volts/krpm), specified as a scalarKt— Torque constant (in Nm/amperes), specified as a scalarN_max— Maximum rotor speed (in rpm), specified as a scalarPositionOffset— Rotor position offset (in PU), specified as a scalarQEPSlits— Number of quadrature encoder pulse (QEP) slits, specified as a scalarT_rated— Rated torque (in Nm), specified as a scalar
Data Types: struct
Data for parameter lookup tables, specified as a struct with the
following fields:
idVec— d-axis current (in amperes) valuesiqVec— q-axis current (in amperes) valuesLdTable— d-axis inductance (in henries) lookup tableLqTable— q-axis inductance (in henries) lookup tableFluxPMTable— Permanent magnet flux linkage (in weber) lookup tableFluxDTable— d-axis flux linkage (in webers) lookup tableFluxQTable— q-axis flux linkage (in webers) lookup table
Use the goLUT argument to specify the type of lookup table that
the function uses for calculations.
Data Types: double
d-axis current (in amperes) at which to calculate voltages, specified as a scalar.
Data Types: double
q-axis current (in amperes) at which to calculate voltages, specified as a scalar.
Data Types: double
Option to use nonlinear lookup table parameters for calculations. Specify one of the following:
0— Use linear model with lumped parameters.1— Use non-linear model withLdTable,LqTable, andFluxPMTablelookup table parameters.2— Use non-linear model withFluxDTableandFluxQTablelookup table parameters.
Data Types: int
Output Arguments
Updated PMSM parameters, returned as a struct with the following fields:
model— Manufacturer model numbersn— Manufacturer serial numberp— Number of pole pairsRs— Stator resistance (in ohms)Ld—d-axis inductance (in henries)Lq—q-axis inductance (in henries)J— Rotor inertia coefficient (in kg-m2)B— Viscous damping coefficient (in kg-m2/ sec)Ke— Back EMF constant (in V/krpm)Kt— Torque constant (in Nm/A)I_rated— Rated current (in amperes)N_max— Maximum rotor speed (in rpm)PositionOffset— Rotor position offset (in PU)QEPSlits— Number of QEP encoder slitsFluxPM— Permanent magnet flux (in webers)T_rated— Rated torque (in Nm)
Version History
Introduced in R2022bThe function mcbPMSMUpdateLdLqFluxPM is now named
mcb.updatePMSMLdLqFluxPM.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)