Motor Control Blockset™ provides a parameter estimation tool that estimates the motor parameters accurately. Use the estimated motor parameters to simulate the motor model and design the control system. Therefore, the simulation response with the estimated parameters for the motor model is close to the behavior of the motor under test.
The parameter estimation tool determines these motor parameters for a Permanent Magnet Synchronous Motor:
Phase resistance (Rs)
d and q axis inductances (Ld and Lq)
Back-EMF constant (Ke)
Motor inertia (J)
Friction constant (F)
The parameter estimation tool accepts the minimum required inputs, runs tests on the target hardware, and displays the estimated parameters.
The parameter estimation tool needs the motor position detected by the Hall sensors. This requires Hall sensor calibration for the motor under test.
Ensure that the PMSM is in no-load condition.
Ensure that the PMSM has Hall sensors.
Calibrate the Hall sensor offset. For instructions, see Hall Offset Calibration for PMSM Motor.
This example supports only these hardware configurations:
For the Texas Instruments™F28069M control card configuration:
F28069M control card
A PMSM with Hall sensor
DC power supply
The DRV8312-69M-KIT board has a known issue in the board's power supply section. Due to this limitation, the board does not support all Hall sensor types. For example, it does not support the Hall sensor of Teknic M-2310P motor.
For the Texas Instruments LAUNCHXL-F28379D configuration:
A PMSM with Hall sensor
DC power supply
To run parameter estimation, you need these products:
Motor Control Blockset
Only to build the target models, you need these optional products :
Embedded Coder Support Package for Texas Instruments C2000™ Processors
For the F28069M control card configuration:
Connect the F28069M control card to J1 of DRV8312-69M-KIT inverter board.
Connect the motor three phases to MOA, MOB, and MOC on the inverter board.
Connect the DC power supply to PVDDIN on the inverter board.
Connect the Hall sensor encoder output to J10 on the inverter board.
For the LAUNCHXL-F28379D configuration:
Attach the inverter board to the controller board such that J1, J2 of BOOSTXL aligns with J1, J2 of LAUNCHXL.
Connect the motor three phases to MOTA, MOTB, and MOTC on the BOOSTXL inverter board.
Connect the DC power supply to PVDD and GND on the BOOSTXL inverter board.
Connect the Hall sensor output to QEP_B (configured as eCAP) on LAUNCHXL.
For more details regarding these connections, see Hardware Connections.
For more details regarding the model settings, see Model Configuration Parameters.
For LAUNCHXL-F28379D, load a sample program to CPU2, for example, program that
operates the CPU2 blue LED using GPIO31 (
to ensure that CPU2 is not mistakenly configured to use the board peripherals
intended for CPU1.
The parameter estimation tool includes a target model and a host model. The models communicate with each other by using a serial communication interface. For more details, see Host-Target Communication.
Enter the system details about the motor under test in the host model. The target model uses an algorithm to perform tests on the motor and estimate the motor parameters. The host model starts these tests and displays the estimated parameters.
To open the parameter estimation host model, enter this command:
Enter these details in the host model to prepare the workspace:
Board Selection - Select the target hardware and inverter combination.
Communication Port - Specify the serial port that you want to configure. Select an available port from the list. For more details, see Find Communication Port.
Required Inputs - Enter these motor specification data. You can obtain these values either from the motor data sheet or on the motor nameplate.
Nominal Voltage - The rated voltage of the motor (Volts).
Nominal Current - The rated current of the motor (Ampere).
Nominal Speed - The rated speed of the motor (rpm).
Pole Pairs - The number of pole pairs of the motor.
Input DC Voltage - The DC supply voltage for the inverter (Volts).
In the Debug tab of the host model, click Update Model to update the workspace with the preceding inputs.
When updating Required Inputs, consider these limitations:
The rated speed of the motor must be less than 25000rpm.
The tests protect the hardware from over-current faults. However, to ensure that these faults do not occur, keep the motor's rated current (entered in Nominal Current field) less than the maximum current supported by the inverter.
If you have an SMPS based DC power supply unit, set a safe current limit on the power supply for safety reasons.
Before starting the tests by using the parameter estimation tool, you should
download the binary files (
generated by the target model into the target hardware. There are two workflows to
download the binary files:
Workflow 1: Build and Deploy Target Model:
Use this workflow to generate and deploy the code for the target model. Ensure that you update the workspace with the required input details from the host model.
Click one of these hyperlinks in the parameter estimation host model to open the target model (for the hardware that you are using):
For F28069M based controller:
For F28379D based controller:
Click Build, Deploy & Start in the HARDWARE tab to deploy the target model to the hardware.
Ignore the warning message
Multitask data store option in the
Diagnostics page of the Configuration Parameter Dialog is none
displayed by the model advisor, by clicking the Always
Ignore button. This is part of the intended workflow.
Workflow 2: Manually Download Target Model:
Use this workflow to deploy the binary files (
.out) of the target model manually by using a third party
tool (the workflow does not need code-generation).
Locate the binary files (
at these locations:
Open a third-party tool to deploy the binary files
Download and run the binary files (
.out) on the target hardware.
Use the following steps to run the Motor Control Blockset parameter estimation tool:
Ensure that you deploy the binary files (
.out) generated from the target model, to the target
hardware and update the required details in the host model.
In the host model, click Run in the Simulation tab to run the parameter estimation tests.
The parameter estimation process takes less than a minute to perform the tests. You can ignore the beep sound produced during the tests.
The host model displays the estimated motor parameters after successfully completing the tests.
The tool uses the following algorithm to estimate parameters:
Motor resistance (R) - The tool uses Ohm's law to estimate this value.
Motor inductance (Ld and Lq) - The tool uses frequency injection method to estimate these values.
Back EMF (Ke) - The tool measures the currents and voltages and uses the electric motor equation to estimate this value.
Permanent magnet flux (λ) - The tool uses the estimated back EMF constant to estimate this value.
Friction constant (B) - The tool estimates this value by using the torque equation for a motor running at a constant speed.
Inertia (J) - The tool estimates this value by using retardation test.
Rated Torque - The tool estimates this value by using the estimated value of permanent magnetic flux of the motor.
During an emergency, you can manually turn the Run-Stop slider switch to Stop position to stop the parameter estimation tests. In addition, the model interrupts the parameter estimation tests to protect the hardware from the following faults:
Serial communication fault
You can export the estimated motor parameters and further use them for the simulation and control system design.
To export, click Save Parameters to save the estimated
parameters into a MAT (
To view the saved parameters, load the MAT (
.mat) file in the
MATLAB® workspace. MATLAB saves the parameters in a structure named
motorParam in the workspace.
Click Open Model to create a new Simulink® model with a PMSM motor block. The motor block uses the
motorParam structure variables from the MATLAB workspace.