Skip to main content
FW version: Stable

Motor (AC side)

VECTOR vs BLDC

Since VECTOR drive works with two perpendicular axes (Q and D) in the rotor coordinates, both measurements are exposed individually. On the other hand, BLDC (or scalar drive) only works with single value, therefore, a single measurement for both current and voltage is offered.

info

Hereby specified variables are located in the folder /driver/motor.

Measurements

tip

Variables ended with "f" are filtered using the filter constants /driver/Kf and /driver/Kr.

warning

The ESCx controller is not a laboratory measurement device, as its purpose is to control the motor. Nevertheless, in the majority of the cases, the accuracies shall be within the +-5%, both in the voltage and current domains.

odo [rev]

Motor mechanical revolutions since controller start. Note that the application may reset the accumulator.

voltageq [V]

voltage on BLDC

Actual value of phase voltage in Q axis (torque creating axis).

voltaged [V]

Actual value of phase voltage in D axis.

currentq [A]

current on BLDC

Actual value of motor phase current in Q axis (torque creating axis).

currentd [A]

Actual value of motor phase current in D axis.

currentqf [A]

Actual value of motor phase current in Q axis, filtered.

currentdf [V]

Actual value of motor phase current in D axis, filtered.

rpmf [rpm]

Mechanical speed of the rotor shaft. Make sure that the motor pole-pair count 'pp' is set correctly.

Rthermistor [ohm]

Resistance of the thermistor connected to MTEMP input (typically, the motor temperature sensor)

Vthermistor [V]

Voltage reading of the MTEMP input.

mres [ohm]

Winding estimated resistance. This value is only obtained when there is flowing some current through the motor.

BLDC-only measurements

duty [%]

Actual motor PWM duty cycle.


Useful calculations

Some commonly recognized motor characterizations might not be directly exposed in the controller's measurement readings. Here are a few of useful equations you can use to find the relations:

  • To get the actual total stator current:

    Istator=iq2+id2I_{stator} = \sqrt{i_q^2 + i_d^2}

    Istator,RMS=Istator2I_{stator, RMS} = \frac{I_{stator}}{\sqrt{2}}

    where iqi_q and idi_d is the currentqf and currentdf reading in VECTOR, respectively.

  • To get the actual total stator voltage (DC-side equivalent):

    Ustator=13uq2+ud2U_{stator} = \frac{1}{\sqrt{3}} \cdot \sqrt{u_q^2 + u_d^2}

    Ustator,RMS=Ustator2U_{stator, RMS} = \frac{U_{stator}}{\sqrt{2}}

    where uqu_q and udu_d is the voltageq and voltaged reading in VECTOR, respectively.

  • To estimate the shaft torque (in Nm) (assuming a PMSM in linear mode, zero speed, no flux control):

    Tshaft=32iqψpmppT_{shaft} = \frac{3}{2} \cdot i_q \cdot \psi_{pm} \cdot pp

    where iqi_q is the currentqf reading (in VECTOR) or currentq reading (in BLDC), pppp and ψpm\psi_{pm} is the pp and psi parameter, respectively.

  • To estimate the shaft speed (assuming a PMSM in linear mode, no load, no flux control):

    ωelec.=uqψpm\omega_{elec.} = \frac{u_q}{\psi_{pm}}

    RPMshaft=ωelec.602πppRPM_{shaft} = \omega_{elec.} \cdot \frac{60}{2\pi \cdot pp}

    where uqu_q is the voltageq reading (in VECTOR), pppp and ψpm\psi_{pm} is the pp and psi parameter, respectively.

  • To derive the KV constant:

    KVRPMperVOLT=60ψpmpp2π3KV_{RPM per VOLT} = \frac{60}{\psi_{pm} \cdot pp \cdot 2\pi \cdot \sqrt{3}}

    where pppp and ψpm\psi_{pm} is the pp and psi parameter, respectively.

tip

A fast-and-dirty hint to convert RPMRPM to rad/srad/s: divide RPM by 10 (and add 5% for better accuracy). Example: 3000 RPM ~ 314 rad/s.


Parameters

The parameters hereby shall define the motor connected to the controller. In some scenarios, the properly identified motor parameters are crucial for correct driver operation (e.g. sensorless mode in vector drive).

VECTOR vs BLDC

All these entries are present in both the VECTOR and BLDC motor control algorithms. However, BLDC algorithm works only with the pp parameter. Other parameters are present only for the embedded identification procedures (identlin, identrun, ...). Therefore, changing their values will not affect motor control performance.

tip

Some of the motor parameters can be automatically identified with the identrun and identlin procedure.

pp [pairs]

Number of motor pole pairs. This parameter is primarily required for correct speed computation.

tip
  • Motor with 4 poles -> 2 pole-pairs. Set pp to 2.
  • To get the number of poles in a typical PMSM construction, count the rotor magnets.
warning

pp needs to be set manually.

psi [Wb]

The permanent magnet motor flux linkage. This parameter defines the main motor (synchronous machine) constant (the relation between voltage and speed as well as between the current and the torque).

Special values:

ValueDescription
0ACIM - AC induction machine
1e-10SynRM - Synchronous reluctance motor

Rt [ohm]

Phase resistance in the star model. This parameter reflects the phase-to-phase resistance divided by two. Note that the internal controller resistance as well as the resistance of the phase wires should be included.

Ld [Henry]

D-axis phase inductance in the star model. This parameter reflects the phase-to-phase inductance divided by two, measured at zero current and when the rotor is positioned such that the stator teeth are aligned with the rotor teeth.

Lq [Henry]

Q-axis phase inductance in the star model. This parameter reflects the phase-to-phase inductance divided by two, measured at zero current and when the rotor is positioned such that the stator teeth are in between the rotor teeth.

Dp [1/degC]

PM flux temperature hyperbolic derating in units per degree Celsius.

Dt [1/degC]

Resistance temperature hyperbolic derating in units per degree Celsius.

Da [1/Amp]

Aligned inductance hyperbolic derating in units per ampere.

tip

identlin procedure attempts to identify this parameter only when '-n' option is specified.

Dc [1/Amp]

Cross inductance hyperbolic derating in units per ampere.

tip

identlin procedure attempts to identify this parameter only when '-n' option is specified.