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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)