Use these steps to design the current and position scaling subsystems:
Create the current scaling subsystem.
This subsystem reads the current in ADC counts and converts it to per-unit (PU) values.
In this subsystem, the IaOffset and
IbOffset
Data Store Memory blocks are the ADC offsets for current
measurement and they are hardware specific. The file
mcb_SetInverterParameters.m
contains the default ADC
offset (CtSensAOffset and
CtSensBOffset) for few commercially available
inverters. For details about ADC offset calibration in hardware, see Run 3-Phase AC Motors in Open-Loop Control and Calibrate ADC Offset.
In this subsystem, the motor phase current measured in ADC counts is
converted to current in PU. The PU_System.I_base
value
refers to the base current in this subsystem. For details about the PU
system, see Per-Unit System. See the
mcb_SetPUSystem.m
file that computes the PU values
for the system.
You can use the base values for computing the real-world values from
per-unit. To implement the real-world or SI unit values, see the model
mcb_pmsm_foc_qep_f28379d_SIUnit
used in the example
Field Oriented Control of PMSM by Using SI Units.
The IaOffset and IbOffset Data Store Memory blocks are used to share data between the current and position subsystems.
Create the position scaling subsystem.
This subsystem reads the rotor position from the QEP pulse count.
In this subsystem, the Quadrature Decoder block reads the
position count from the plant model or hardware driver block. The block
converts the rotor mechanical position in encoder position counts to rotor
mechanical angle in PU (0
-1
).
The Mechanical to Electrical Position (Mech2Elec Position) block adjusts the mechanical angle for QEP offset and converts it to electrical angle. This rotor electrical angle is required for the FOC algorithm to spin the motor. Refer to Quadrature Encoder Offset Calibration for PMSM Motor for calculating the QEP encoder offset.
The Speed Measurement block calculates speed from the rotor
position. In the Speed Measurement block parameters dialog
box, set the Delays for speed calculation (number of
samples) parameter to 20
. We selected the
value 20
in this workflow so that the block can measure
the maximum speed of the motor that is under test. The Speed
Measurement block outputs the speed in PU.
These subsystems that you create includes the current scaling and position decoding logic.