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.
Hereby specified variables are located in the folder /driver/motor.
Measurements
Variables ended with "f" are filtered using the filter constants /driver/Kf and /driver/Kr.
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]
voltageon BLDC
Actual value of phase voltage in Q axis (torque creating axis).
voltaged [V]
Actual value of phase voltage in D axis.
currentq [A]
currenton 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 [A]
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:
where and is the
currentqfandcurrentdfreading in VECTOR, respectively. -
To get the actual total stator voltage (phase-to-phase):
where and is the
voltageqandvoltagedreading in VECTOR, respectively. -
To estimate the shaft torque (in Nm) (assuming a PMSM in linear mode, zero speed, no flux control):
where is the
currentqfreading (in VECTOR) orcurrentqreading (in BLDC), and is theppandpsiparameter, respectively. -
To estimate the shaft speed (assuming a PMSM in linear mode, no load, no flux control):
where is the
voltageqreading (in VECTOR), and is theppandpsiparameter, respectively. -
To derive the KV constant:
where and is the
ppandpsiparameter, respectively.
A fast-and-dirty hint to convert to : 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.
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.
- Motor with 4 poles -> 2 pole-pairs. Set
ppto 2. - To get the number of poles in a typical PMSM construction, count the rotor magnets.
pp needs to be set manually.
psi [Wb]
The permanent magnet motor flux linkage at default temperature. 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 (motor class, driver 6):
| Value | Description |
|---|---|
| > 0 | PMSM / IPM - the flux linkage in Wb |
| 0 | SynRM - Synchronous reluctance motor (no magnet) |
| negative | ACIM - AC induction machine; the magnitude is the rotor time constant in seconds (e.g. -0.2) |
(Driver 5 and below) 0 declared an ACIM and SynRM used a tiny positive value. Re-declare such configurations when migrating to driver 6.
A declared magnet-free class (0 or negative) is kept by identrun, which does not overwrite it with the measured back-EMF.
Rt [ohm]
Phase resistance in the star model at default temperature. 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.
Run-time estimation of the actual winding resistance is available with the MRES feature, which attempts to compensate the model resistance with temperature variations. Please contact siliXcon for more information.
Ld [Henry]
D-axis phase inductance in the star model at zero current. 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 at zero current. 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]
Temperature coefficient of the permanent-magnet flux. Defines how much the magnet strength decreases with temperature.
This parameter must be specified manually, when needed.
Dt [1/degC]
Temperature coefficient of the winding resistance.
Da [1/Amp]
D-axis saturation coefficient: how strongly the d-axis inductance falls as the d-axis current magnetizes the iron; larger values mean stronger saturation. When the d-axis current weakens the field, the d-axis inductance rises instead - at most up to Lq. It is identified automatically (see identification).
It is used by the voltage-mode field weakening, the sensorless estimator and the torque and speed estimates; the MTPA does not use it.
From driver 6, identified values can be used as-is, identified at any current, and a later change of
irefneeds no re-identification. ADafrom an older driver - identified or entered by hand - is on a different scale: re-identify it. See the excitation page for the behavioral summary.
siliXcon describes the motor's non-linear behaviour with a small set of parameters (Dt, Da, Dc and the optional Dq), so no motor characterization tables (flux maps) need to be measured. They refine the estimates and the voltage-mode field weakening; the MTPA follows from psi, Ld and Lq (with dxc as its rated limit), or, where a motor needs it, from a table (mtt, optional). For the practical IPM tuning procedure that uses these parameters, see the Driving an IPM motor guide.
Dc [1/Amp]
Cross-saturation coefficient: how strongly the iron shared by both axes saturates - the d-axis flux lowers the q-axis inductance (field weakening raises it), and the load lowers the d-axis flux, the magnet's included, so the torque per ampere droops at high current. Its size depends on the motor construction:
| Motor | Typical Dc |
|---|---|
| SPM | a real value, typically close to Da - the d- and q-axis flux share the stator iron |
| IPM | close to zero - the magnet pockets keep the d-axis flux out of the q-axis iron |
| SynRM | a real value - the rib bridges of the rotor carry both fluxes |
| ACIM | keep 0 |
It is identified automatically (see identification). Identify it rather than hand-tune it: from driver 6 a hand-set value also changes how the q-axis inductance falls with load, an oversized one distorts the torque-mode map in field weakening, and a wrong one shifts the sensorless angle under load.
It is used by the torque, flux and speed estimates, the torque-mode scale, the sensorless estimator (from driver 6) and the voltage-mode load compensation (vcf); the MTPA and the field-weakening schedule do not use it.
Dq [1/Amp]
Optional - present only in firmware that includes it.
Q-axis saturation coefficient, the q-axis counterpart of Da: how strongly the q-axis inductance falls with the q-axis (load) current. It is defined the same way as Da. At 0 the q axis follows Dc - the behaviour of firmware without Dq; wherever the shared saturation from Dc is the stronger one, it prevails.
- Relevant mainly for IPMs, whose q-axis inductance falls with load while
Dcstays close to zero, and for SynRMs. Keep it at 0 on SPMs: their q-axis saturation is already described byDc. - Not identified automatically: derive it from the motor's inductance maps or from a loaded test - siliXcon can assist with the conversion.
- It sharpens the torque estimate and the torque-mode scale; the MTPA does not use it.