Skip to content

Latest commit

 

History

History
147 lines (94 loc) · 4.53 KB

MachineTuning.md

File metadata and controls

147 lines (94 loc) · 4.53 KB

Overview

The PMC has many different settings to adjust the operation in different conditions. We will consider the most important of them.

Forced control

If the machine is at low speed then sensorless flux observer is unable to provide reliable estimates. You need to use some sort of position sensor. If this is not possible the forced control is used. We apply a current vector without feedback to force rotor turn. You can adapt the current value and acceleration to your needs.

(pmc) reg pm.forced_hold_D <A>
(pmc) reg pm.forced_accel <rad/s2>

To get more reliable start increase hold current and decrease acceleration. Keep in mind that hold current is applied constantly (like in stepper motor) so it causes significant heating.

You have an option to disable forced control completely. The machine will be freewheeling at low speed range.

(pmc) reg pm.config_LU_FORCED 0

Also you can allow zero freewheeling. This will mean that motor is freewheeling if current (or speed) setpoint is zero.

(pmc) reg pmc.config_LU_FREEWHEEL 1

Current loop

We can automatically tune current loop PI regulator gains based on damping percentage. Reasonable values are from 20 to 200.

(pmc) reg pm.i_damping <pc>

Phase current constraint is the main tool not to burn the machine. This is global constraint applicable to all closed loop modes of operation. You also can set reverse limit of negative Q current.

(pmc) reg pm.i_maximal <A>
(pmc) reg pm.i_reverse <A>

Weakening current constraint is applicable if WEAKENING is enabled.

(pmc) reg pm.weak_maximal <A>

Wattage

We can limit consumption and regeneration DC link current. Set the limits according to your power supply capabilities.

(pmc) reg pm.watt_wA_maximal <A>
(pmc) reg pm.watt_wA_reverse <A>

Alternatively you can specify wattage limits. Note that the lowest of all constraints will be used.

(pmc) reg pm.watt_wP_maximal <W>
(pmc) reg pm.watt_wP_reverse <W>

You can limit DC link voltage at regenerative operation. This will derate regeneration power in case of overvoltage.

(pmc) reg pm.watt_uDC_maximal <V>

You can specify low limit of DC link voltage. This will prevent from battery overload.

(pmc) reg pm.watt_uDC_minimal <V>

FLUX estimate (ORTEGA)

We use ORTEGA flux observer that almost does not need to be configured manually. You can carefully change speed loop gain to find tradeoff between transient rate and noise level.

(pmc) reg pm.flux_gain_SF <x>

Also you have an option to completely disable sensorless estimation if you use position sensors.

(pmc) reg pm.config_ESTIMATE 0

FLUX estimate (KALMAN)

We use KALMAN flux observer that has conventional Q and R diagonal covariance matrices. You can carefully change Q process noise to find tradeoff between transient rate and noise level.

(pmc) reg pm.kalman_gain_Q3 <x>

Speed loop

We can automatically tune speed loop PID regulator gains based on damping percentage. Reasonable values are from 40 to 400.

(pmc) reg pm.s_damping <pc>

You can limit absolute value of speed in forward and reverse direction. Also remember about alternative units of measure by using specific register name.

(pmc) reg pm.s_maximal <rad/s>
(pmc) reg pm.s_reverse <rad/s>

You can limit the acceleration in forward and reverse direction. We suggest you to increase the default acceleration value.

(pmc) reg pm.s_accel_forward <rad/s2>
(pmc) reg pm.s_accel_reverse <rad/s2>

Note that above constraints are used differently depending on selected control loop. In case of speed control above constraints are applied to speed setpoint to get trackpoint pm.s_track. In other words we do not limits actual speed but limit the input setpoint to comply it with constraints.

Quite different in the case of current control. You should enable CC_SPEED_TRACK feature to apply the above speed loop constraints to actual speed and acceleration.

(pmc) reg pm.config_CC_SPEED_TRACK 1

Here trackpoint is driven by actual speed estimate with acceleration constraint. For system stability we have introduced a linear regulation region pm.l_track_tol and blending gain pm.l_gain_LP. So there may be some backlash in case of direction change.

Brake function

If you need a brake function without a reverse in combination with current control then enable CC_BRAKE_STOP feature. It is activated when current setpoint is negative. Brake current is limited by absolute value of setpoint so brake is proportional.

(pmc) reg pm.config_CC_BRAKE_STOP 1

Note that speed control loop should be fine tuned to use this feature.

Flux weakening

TODO

MTPA control

TODO