Main Content

Plot Constraint Curves and Drive Characteristics for PMSM and SynRM Directly from Block Parameters Dialog Box

Motor Control Blockset™ includes LUT based SynRM Control Reference and LUT based PMSM Control Reference blocks that you can use to plot the constraint curves and drive characteristics of interior permanent magnet synchronous motor (IPMSM), surface-mounted permanent magnet synchrounous motor (SPMSM), synchronous reluctance motor (SynRM), and permanent magnet-assisted synchronous reluctance motor (PMaSynRM). This page explains the use cases associated with plotting these curves and characteristics as well as the block parameters that assist you in generating the plots. In addition, you can use the instructions to compute maximum torque and motor operating speeds.

The examples PMSM Constraint Curves and Their Application and SynRM Constraint Curves and Their Application explain about the constraint curves of the motors. In addition, the example PMSM Drive Characteristics and Constraint Curves shows how to draw the constraint curves and drive characteristics from the command line interface. In continuation, this topic explains how to plot the constraint curves and drive characteristics for interior PMSM (IPMSM), surface-mount PMSM (SPMSM), SynRM, and PMaSynRM when you model them using either lumped parameters or nonlinear characterization data.

The topic uses the LUT based SynRM Control Reference and LUT based PMSM Control Reference blocks to generate the plots.

Figure 1a: LUT based PMSM Control Reference block and its dialog box.

Figure 1b: LUT based SynRM Control Reference block and its dialog box.

The following images show the definition of d- and q-axes for a SynRM. A similar definition exists for the d- and q-axes of a PMaSynRM.

Figure 2: Representation of d- and q-axes for a SynRM.

These blocks generate reference id and iq currents for PMSM, SynRM, and PMaSynRM motors. For more information about these blocks, see LUT based PMSM Control Reference and LUT based SynRM Control Reference.

The Plotting Options tab in these blocks provides the options to configure and generate the plots.

Figure 3: The Plotting Options tab.

These plotting options execute different Motor Control Blockset command line utilities that you can also run using the MATLAB command line interface. You can select the motor model fidelity for the plots by using the Motor parameter input method parameter and then provide the motor data in the respective fields in the Motor Parameters tab. The following figure shows the motor parameter input methods for a SynRM motor.

Figure 4: Motor parameter input method parameter.

The following use cases are applicable for IPMSM, SPMSM, SynRM, and PMaSynRM. For more details about the plotting options for PMSM, see LUT based PMSM Control Reference. For more details about the plotting options for SynRM and PMaSynRM, see LUT based SynRM Control Reference.

Use Case 1: Compute and Plot Optimal LUTs for id and iq for Given Motor Parameters

This use case covers a scenario where you want to compute and plot optimal LUTs for id and iq for a given set of motor parameters.

After you use Motor parameter input method to specify your choice (either lumped or nonlinear tables) for the motor characterization data as well as populate the respective motor parameters in the Motor Parameters tab, click Apply to save the entered parameters. Then click the Compute (and plot) id and iq LUTs button available in the Plotting Options tab to compute and plot the id and iq lookup tables (LUTs).

The block plots the id and iq LUTs in the id-iq space with id on the x-axis and iq on the y-axis. This view of the LUTs shows the range of current magnitudes and the contours of the currents for a known speed and torque.

Figure 5: Compute (and plot) id and iq LUTs button.

The following figures show the id and iq LUT plots in the id-iq space for a PMSM, SynRM (with same axis notation as that of PMSM), and SynRM (with different axis notation from that of PMSM). The figures also show a full view of the LUT in a smaller figure (for reference) with both positive and negative torque range. Note that for a given set of motor parameters, the PMSM does not have an MTPA trajectory, whereas, the SynRM has one. In the following figures, the red dotted curves represent constant torque contours and the blue dotted curves represent constant speed contours.

Figure 6: id and iq LUT plots for PMSM.

Figure 7: id and iq LUT plots for SynRM (with axis notation identical to that of PMSM).

Figure 8: id and iq LUT plots for SynRM (with axis notation different from that of PMSM).

To determine the optimal reference currents for a given speed and torque, click any dot in the plot. The following figure shows the optimal currents for two different operating points. You can drag a point along the dotted blue contour (to maintain a constant speed) or dotted red contour (to maintain a constant torque) to determine different optimal reference currents.

Note

When you create a data tip by clicking a black dot on a dotted blue contour, the plot creates a data tip with speed as the third field. You can then drag this tip along the dotted blue contour to vary the torque while maintaining a constant speed. When you create a data tip clicking a black dot on a dotted red contour, the plot creates a data tip with torque as the third field. You can then drag this tip along the dotted red contour to vary the speed while maintaining a constant torque. When reading the id and iq LUTs, the block uses the input torque (T) and speed (ω) to determine the neighboring points on the grid. The block then interpolates them to determine the reference currents for different operating conditions.

You can also compute and display these results by calling the function mcbGenerateTables() from the MATLAB command prompt.

Figure 9: Data tips on an id and iq LUT plot.

When using a custom grid of speed (ω) and torque (T) for which generation of id(T,ω) and iq(T,ω) LUTs is required, you can specify the speed and torque grid (as shown in the following figure) by selecting the Enable custom breakpoint vectors for torque and speed parameter. The following image shows the LUT based PMSM Control Reference block parameters dialog box as an example. The LUT based SynRM Control Reference block also has an identical parameter that you can select. If you do not select this option, the block uses a default torque grid of 21 torque points (spaced between -T_rated and T_rated) and a default speed grid of 64 speed points (between 1 rpm and maximum speed (in rpm) of the motor).

Figure 10: Enabling custom breakpoint vectors for torque and speed.

If you have a measured torque table that you would like to use to compute the optimal id and iq LUTs, select either one of Non-linear model with D,Q-flux linkage LUTs, Non-linear model with Ld, Lq, and FluxPM LUTs, and Non-linear model with Ld and Lq LUTs motor parameter input methods (depending upon the motor topology selection in the block) to display the Use measured (instead of computed) torque parameter. Select this parameter to display the Measured torque LUT, T(id,iq) (Nm) input field for the measured torque table as shown in the following figure.

Figure 11: Input field for measured torque table.

Use Case 2: Save and Reuse Computed id and iq LUTs

This use case covers a scenario where you want to save and reuse the computed id and iq lookup table data during multiple simulations.

The LUT based PMSM Control Reference and LUT based SynRM Control Reference blocks compute id and iq LUTs when the simulation starts or when the code generation begins. When performing multiple simulations, you can save these LUTs to avoid re-creating them during each simulation run.

To save the LUTs, select the Enable saving the computed LUTs parameter (in the Plotting Options tab) before you click the Compute (and plot) id and iq LUTs button to plot the LUTs.

Figure 12: Enable saving the computed LUTs.

This action saves the computed LUTs (along with the date and time information) using a structure variable in a .mat file in the current working directory. For IPMSM, the block uses the variable name IPMSMidiqLUT.

Figure 13: The structure variable IPMSMidiqLUT.

To reuse this structure variable, select the Non-linear model with id and iq LUTs motor parameter input method as shown in the following figure.

Figure 14: Motor parameter input method of Non-linear model with id and iq LUTs.

To load and use the structure variable, load the .mat file to the MATLAB workspace. Then specify the variables trefVec, wrpmVec, idTable, and iqTable in the corresponding parameters as shown in the following figure and click Apply.

Figure 15: Updating variables trefVec, wrpmVec, idTable, and iqTable.

Use Case 3: Find Rated Torque and Operating Speeds

This use case covers a scenario where you want to determine the rated torque and operating speeds for a given set of motor parameters.

Click Compute and show button available under the Characteristic torque and speeds section (in the Plotting Options tab) as shown in the following figure. This action computes and displays the rated torque, rated speed, and maximum speed values in the block parameters dialog box.

Figure 16: Computation of rated torque, rated speed, and maximum speed.

You can also compute and display these results by calling the functions mcbPMSMSpeeds() and mcbPMSMRatedtorque() from the MATLAB command prompt.

Use Case 4: Plot Constraint Curves Using Default Torque and Speed Values

This use case covers a scenario where you want to plot the constraint curves for a given set of motor parameters using the default torque and speed values.

Select the Use default options for plotting parameter and then click the Plot constraint curves button (in the Plotting Options tab) to generate the plots using the default values of motor torque and speed.

Figure 17: Plotting motor constraint curves using default torque and speed values.

You can also obtain similar results by calling the function mcbPMSMCharacteristics() from the MATLAB command prompt.

The following figures show the constraint curves that the block generates using default values.

Figure 18: Constraint curves (using default torque and speed values) generated for PMSM.

Figure 19: Constraint curves (using default torque and speed values) generated for SynRM (with axis notation identical to that of PMSM).

Figure 20: Constraint curves (using default torque and speed values) generated for SynRM (with axis notation different from that of PMSM).

Use Case 5: Plot Constraint Curves Using Custom Torque and Speed Inputs

This use case covers a scenario where you want to plot the constraint curves for a given set of motor parameters using custom torque and speed inputs.

Clear the Use default options for plotting parameter and then click the Plot constraint curves button (in the Plotting Options tab) to generate the plots using the custom values of motor torque and speed. Use the following fields to specify the custom speed and torque values:

  • Motor speed (RPM)

  • Motor torque (Nm)

Figure 21: Plotting motor constraint curves using custom torque and speed values.

You can also obtain similar results by calling the function mcbPMSMCharacteristics(...,speed=3000,torque=0.1) (with the necessary arguments) from the MATLAB command prompt.

The following figures show the constraint curves that the block generates using custom torque and speed values.

Figure 22: Constraint curves (using custom torque and speed values) generated for PMSM.

Figure 23: Constraint curves (using custom torque and speed values) generated for SynRM (with axis notation identical to that of PMSM).

Figure 24: Constraint curves (using custom torque and speed values) generated for SynRM (with axis notation different from that of PMSM).

Use Case 6: Plot Drive Characteristics Along With Constraint Curves

This use case covers the scenario where you want to plot the drive characteristics along with the plot for the constraint curves.

Clear the Use default options for plotting parameter in the Plotting Options tab and then select the Enable plotting the drive characteristics parameter. Afterwards, click Plot constraint curves button to plot constraint curves (using custom torque and speed) along with the motor drive characteristics.

Figure 25: Plotting motor constraint curves along with motor drive characteristics.

You can also obtain similar results by calling the function mcbPMSMCharacteristics(...,speed=3000,torque=0.1,driveCharacteristics=1) (with the necessary arguments) from the MATLAB command prompt.

When you click the Plot constraint curves button, the block displays a plot for the motor constraint curves (using custom torque and speed) and another one for the motor drive characteristics. The plot for drive characteristics also includes a cyan color curve that represents id-iq trajectory for the speed-torque envelope.

Figure 26: Constraint curves along with drive characteristics generated for PMSM.

Figure 27: Constraint curves along with drive characteristics generated for SynRM (with axis notation identical to that of PMSM).

Figure 28: Constraint curves along with drive characteristics generated for SynRM (with axis notation different from that of PMSM).

Use Case 7: Plot Motor Drive Characteristics for Increased Rated Current

This use case covers the scenario where you want to plot the drive characteristics of a motor when it uses a higher rated current value.

In this type of plot, the block indicates the drive characteristics for an increased rated current using a dot-dash line along with the original plot for the rated current (I_rated). This type of plot is helpful in understanding the motor behavior under short term rating (for example, application of 2×I_rated for 30 seconds) as well as understanding the region of operation in terms of speed-torque envelope or the optimal reference currents.

After selecting Enable plotting the drive characteristics, select the Include the drive characteristics for an increased motor current parameter. Then click the Plot constraint curves button to generate this plot.

Figure 29: Plotting motor drive characteristics with increased rated current.

The following figures show the motor drive characteristics for an increased rated current that the block generates.

Figure 30: Motor drive characteristics with increased rated current for PMSM.

Figure 31: Motor drive characteristics with increased rated current for SynRM (with axis notation identical to that of PMSM).

Figure 32: Motor drive characteristics with increased rated current for SynRM (with axis notation different from that of PMSM).

The preceding use cases utilize the LUT based PMSM Control Reference and LUT based SynRM Control Reference blocks to identify the characteristics such as operating speed, maximum torque, as well as obtain a visual representation of the optimal id-iq look tables, which you can modify to meet your design requirements.

See Also