3 Tuning and Experimental Results
The algorithm tuning is very straight forward for speeds below the base speed, where the
maximum torque mode is applied. Basically, the motor’s parameters, measured or indicated
by the manufacturer, are added to the configuration file, mc_app.h.
The measurement of parameters comprises the rotor’s resistance, RS, and inductance, LS, and the voltage constant, KΦ.
The stator resistance and inductance can be measured at the motor’s terminals using a precision LCR meter. For Star connected motors, the stator phase resistance (RS) and inductance (LS) values are obtained by dividing the measured resistance and inductance values at the motor terminals by a factor of 2. For Delta connected motors, the stator phase resistance and inductance values are obtained by multiplying the measured resistance and inductance values at the motor terminals by a factor 1.5.
Dividing the stator phase resistance and inductance values of a Delta connected motor by a factor of 3 results in their Star connected motor equivalent phase resistance (RS) and inductance (LS).
This voltage constant, KΦ, is indicated by all motor manufacturers; however, it can be measured using a very simple procedure, by rotating the rotor shaft with a constant speed, while measuring the output voltage at the motor’s terminals. If the reading is done at 1000 RPM, the alternative voltage measure is a typical RMS value. Multiplying the reading value by the square root of 2 will return the value in Vpeak/KRPM.
For the tested motor parameters, the data provided in Table 3-1 was measured with the procedures described above.
| Motor Type | Hurst Motor DMB00224C10002 | Units |
|---|---|---|
| Connection type | Y | — |
| L-L Resistance | 2.1 · 2 | Ohms |
| L-L Inductance – 1 kHz | 1.92 · 2 | mH |
| Voltage constant KΦ | 7.24 | Vpeak/KRPM |
| Ambient temperature | 22.7 | ºC |
The two necessary phase currents are read on the two shunts available on the dsPICDEM MCLV-2 Development Board and their values are scaled to the acceptable input range of the ADC module. The overall current scaling factor depends on the gain of the differential Op amp reading the shunt and the maximum value of the current passing through the motor. For example, having a phase current of 4.4A peak and a gain of 75, for a 0.005 Ohms shunt resistor, results in 3.3V present at the ADC input.
With respect to the initial calibration, the startup may be done with load, in which case the open loop ramp parameters need to be tuned.
The open loop tuning parameters include the lock time, the end acceleration speed, and the current reference value. The lock time represents the time necessary for rotor alignment, which depends on the load initial torque and moment of inertia (the larger they are, the larger the lock time value). The end speed of the initial ramp in RPM should be set sufficiently high for the estimator’s calculated BEMF to have enough precision, while the time to reach that speed depends on the open loop q-axis current and resistant load attached on the motor’s shaft; the larger the load, the longer the time needed for reaching the end reference speed.
The open loop is implemented as a simplification of the closed loop control, where the estimated angle between the rotor flux and the fixed reference frame is replaced by the forced angle used in open loop speedup. The forced angle does not care about the rotor's position, but rather imposing its position, being calculated as a continuous increment fraction. An additional simplification from the control loop presented in Figure 1-1, is the lack of the speed controller and the current reference for the q-axis being hard-coded.
The q-axis current reference is responsible for the current forced through the motor in the open loop ramp up; the higher the initial load, the higher the current needed, which acts as a torque reference overall.
To keep the algorithm functioning in open loop, thus disabling the closed loop transition for initial tuning purposes, enable the specific code macro definition, as shown in Example 1.
#define
OPEN_LOOP_FUNCTIONING
This is particularly useful for the potential PI controller’s recalibration or even some initial transition conditions verifications (such as angle error between the imposed angle and the estimated one, current scaling constant experimental determination), and initial open loop ramp up parameters fine tuning, previous to the closed loop activation.
