Contenido principal

mcb.getPUSystemParameters

Compute base values for per-unit system for selected motor and inverter

    Description

    PU_System = mcb.getPUSystemParameters(motor,inverter) computes the base per-unit system values for voltage, current, speed, torque, and power for a motor with parameters motor and inverter with parameters inverter.

    For non-PMSM topologies, you must specify the motor.motorType field for correct base torque calculation.

    example

    Examples

    collapse all

    Get parameters for your motor and inverter. This example uses a BLY171D PMSM and DRV8312-C2-KIT inverter.

    pmsm = mcb.getPMSMParameters("BLY171D");
    inverter = mcb.getInverterParameters("DRV8312-C2-KIT");

    Get per-unit system base values for these parameters.

    PU_System = mcb.getPUSystemParameters(pmsm,inverter)
    PU_System = 
    
      struct with fields:
    
        V_base: 13.8564
        I_base: 8.6478
        N_base: 5298
        P_base: 179.7411
        T_base: 0.2718

    Input Arguments

    collapse all

    Motor parameters, specified as a struct.

    Specify lumped linear parameters with the following required fields:

    • Ldd-axis stator winding inductance (in henries), specified as a double

    • Lqq-axis stator winding inductance (in henries), specified as a double

    • FluxPM — Permanent magnet flux (in webers), specified as a double

    • p — Number of pole pairs, specified as an integer

    • Rs — Stator resistance (in ohms), specified as a double

    You can create a structure with lumped linear parameters using mcb.getPMSMParameters or mcb.getACIMParameters.

    Alternatively, for PMSM topologies, specify non-linear lookup table data with the following required fields:

    • PMSMLUT.idvecd-axis current breakpoints (in amperes) of lookup tables, specified as a vector

    • PMSMLUT.iqvecq-axis current breakpoints (in amperes) of lookup tables, specified as a vector

    • PMSMLUT.LdTabled-axis inductance (in henries) lookup table, specified as matrix

    • PMSMLUT.LqTableq-axis inductance (in henries) lookup table, specified as a matrix

    • PMSMLUT.FluxPMTable — Permanent magnet flux linkage (in webers) lookup table, specified as a matrix

    or the following required fields:

    • PMSMLUT.idvecd-axis current breakpoints (in amperes) of lookup tables, specified as a vector

    • PMSMLUT.iqvecq-axis current breakpoints (in amperes) of lookup tables, specified as a vector

    • PMSMLUT.FluxDTabled-axis flux linkage lookup table, specified as a matrix

    • PMSMLUT.FluxQTableq-axis flux linkage lookup table, specified as a matrix

    The structure can also contain the following optional field:

    • motorType — Type of motor, specified as one of the following:

      • 'ipmsm' — Interior PMSM

      • 'spmsm' — Surface PMSM

      • 'synrm' — SynRM

      • 'pmasynrm' — PMa-SynRM

      • 'acim' — ACIM

    If you do not specify the motorType field, the function assumes an interior PMSM.

    Data Types: struct

    Inverter parameters, specified as a struct. You can create this structure using mcb.getInverterParameters. Specify the structure with the following required field:

    • V_dc — DC voltage

    The structure can also contain the following optional fields:

    • model — Manufacturer's model number, specified as a character vector

    • sn — Manufacturer's serial number, specified as a character vector

    • I_trip — Maximum permissible inverter current (in amperes), specified as a scalar

    • Rds_on — On-state resistance of MOSFETs (in ohms), specified as a scalar

    • Rshunt — Shunt resistance for current sensing (in ohms), specified as a scalar

    • R_board — Per-phase board resistance seen by motor (in ohms), specified as a scalar

    • CtSensAOffset — ADC offset for phase A, specified as a scalar

    • CtSensBOffset — ADC offset for phase B, specified as a scalar

    • CtSensCOffset — ADC offset for phase C, specified as a scalar

    • CtSensOffsetMax — Maximum limit of automatically calibrated ADC offsets for current sensor, specified as a scalar

    • CtSensOffsetMin — Minimum limit of automatically calibrated ADC offsets for current sensor, specified as a scalar

    • ADCGain — ADC gain factor scaled by SPI, specified as a scalar

    • EnableLogic — Type of inverter, specified as one of the following:

      • 1 — Active-high enabled inverter

      • 0 — Active-low enabled inverter

    • invertingAmp — Convention for current entering motor, specified as one of the following:

      • 1 — Current entering motor sensed as positive by current sense amplifier

      • –1 — Current entering motor sensed as negative by current sense amplifier

    • ISenseVref — Reference voltage of current sensor circuit (in volts), specified as a scalar

    • ISenseVoltPerAmp — Current sensor voltage output per ampere of current (in V/A), specified as a scalar

    • ISenseMax — Maximum peak-neutral current that can be measured by current sensor (in amperes), specified as a scalar

    The following optional fields are not in the structure you create with mcb.getInverterParameters:

    • ADCOffsetCalibEnable — Auto-calibration setting for current sense ADCs, specified as one of the following:

      • 1 — Enable auto-calibration

      • 0 — Disable auto-calibration

    • SPI_Gain_Setting — SPI hex value encoding op-amp gain, specified as a scalar

    Data Types: struct

    Output Arguments

    collapse all

    Base values for per-unit system, returned as a struct with the following fields:

    • V_base — Base voltage (in volts)

    • I_base — Base current (in amperes)

    • N_base — Base speed (in rpm)

    • P_base — Base power (in watts)

    • T_base — Base torque (in newton-meters)

    Version History

    Introduced in R2020a

    expand all