For a PMSM BLDC machine configured to use the PMSM Variable Ld/Lq motor type, a JSON file is required to define the motor characteristics. The file must contain the following information:


Parameter (JSON key)Value typeUnitDescriptionExample

PolePairs

int

Number of pole pairs of the machine.

"PolePairs": 2

DqTransformAngleOffset

doubledegree


Due to a known issue, this value is not taken into consideration during the simulation, however it must still be specified by the user.

Angle offset applied to the D-Q Transform, before Id and Iq are referenced to look up Ld, Lq, and Fm. A value of 0 indicates that the D axis is aligned with Phase A when the rotor angle θ=0. In other words, the active power reaches a maximum when Id is at a maximum.  This is the default behavior.

For more information, see the D-Q Transform description.

"DqTransformAngleOffset": 0

Ra

doubleOhmPhase A Resistance of the machine"Ra": 0.04

Rb

doubleOhmPhase B Resistance of the machine"Rb": 0.04

Rc

doubleOhmPhase C Resistance of the machine"Rc": 0.04

Id_axis

double[]A

One dimensional array of the current values along the Direct axis of the stator.

This array must be the same size as Iq_axis, and its values must be arranged in ascending order.

"Id_axis": [
    -50.0,
    0.0,
    50.0
],

Iq_axis

double[]A

One dimensional array of the current values along the Quadratic axis of the stator.

This array must be the same size as Id_axis, and its values must be arranged in ascending order.

"Iq_axis": [
    -50.0,
    0.0,
    50.0
],

Ld

double[][]H

Two dimensional array of the Direct inductance values. 

The size of this array must be n x n, where n is equal to the number of current values in Id_axis and Iq_axis.

Figure 1 below describes how the inductance values are mapped from the JSON file array to the Ld table.

"Ld": [
    [
        0.0004,
        0.00042,
        0.00041
    ],
    [
        0.00041,
        0.00044,
        0.00043
    ],
    [
        0.0004,
        0.00042,
        0.000425
    ]
],

Lq

double[][]H

Two dimensional array of the Quadratic inductance values. 

The size of this array must be n x n, where n is equal to the number of current values in Id_axis and Iq_axis.

Figure 1 below describes how the inductance values are mapped from the JSON file array to the Lq table.

"Lq": [
    [
        0.0004,
        0.00042,
        0.00041
    ],
    [
        0.00041,
        0.00044,
        0.00043
    ],
    [
        0.0004,
        0.00042,
        0.000425
    ]
],

Fm

double[][]Wb

Two dimensional array of the Permanent Magnet Flux Linkage values. 

The size of this array must be n x n, where n is equal to the number of current values in Id_axis and Iq_axis.

Figure 1 below describes how the inductance values are mapped from the JSON file array to the Permanent Magnet Flux Linkage table.

"Fm": [
    [
        0.1,
        0.1,
        0.1
    ],
    [
        0.1,
        0.1,
        0.1
    ],
    [
        0.1,
        0.1,
        0.1
    ]
]




Figure 1: Layout of the Ld, Lq, and Flux tables as defined in the JSON file


An example Motor Model File in JSON format is available here: PMSM Variable Parameter JSON Template.json

This file is intended for use as a template only; it does not contain valid simulation data.