Maximizing the bandwidth of Torque Control

The latest achievement in IONI servo drive development was the maximization of torque control bandwidth. IONI actuates motor by a 20 kHz pulse width modulated (PWM) power output which essentially means switching the supply voltage between 0V and supply voltage (HV+) very fast causing the desired current to flow in the motor coils. Drive samples coil currents once at every PWM cycle and also re-calculates the PWM duty cycles on every cycle.

Last couple of we have spent perfecting the torque controller speed without sacrificing the dynamic range or smoothness. Bandwidth of controller is dictated by two factors: update rate and delay. Update rate was already at maximum (every cycle) but previously the delay was one full PWM cycle (50 µs). By optimizing code enough, drive is able to complete torque control calculations within half PWM cycle (<25 µs) which shortens the delay by 25 µs.

High bandwidth torque control timing diagram. Torque controller has the highest bandwidth when update rate is at maximum and delay at minimum.

High bandwidth torque control timing diagram demonstrating half PWM cycle delay and full PWM frequency update rate. Torque controller has the highest bandwidth when the update rate is at the maximum and delay at the minimum.

Ok, 25 µs doesn’t sound much. But it actually is more notable than it first seems. This change yields 30-50% boost in torque control bandwidth which can be seen sharper change of torque without causing any overshoot. This allows us to set position and velocity control gains higher without losing stability. In the end, the result is more stable and more stiff servo motor.

Torque controller step response with one PWM cycle torque control delay (top) and half PWM cycle delay ( bot). Notice the overshoot caused by the additional delay.

Torque controller step response with one PWM cycle torque control delay (top) and half PWM cycle delay (bot) without changing torque controller gains. Notice the overshoot caused by the additional delay. The overshoot can be cured by lowering torque control gains, but that also reduces bandwidth.

Never seen servo motor so stiff :)

2 thoughts on “Maximizing the bandwidth of Torque Control

  1. Hi fellows,

    that’s great. Really clever and yes – it increases dynamics significantly. Just for example – when I’ve started with VSD-E some years ago I’ve made a test with the same motor using once the VSD-E and then a Hi-End servo driver from a fabulous European company. The test was pretty simple – rotate the motor at max. speed (3000 rpm) in positive direction, then without any ramp with “infinite” acceleration, turn it in opposite direction – there is a jump in the speed setpoint of 6000 rpm. The result was: 11 ms for VSD-E against 14 ms for the other drive. The main reason: VSD-E has a current loop resp. delay of 50 us (20 KHz PWM), the other drive – 62.5 us (16 KHz).
    3 ms aren’t much, but that’s why we have chosen the “unknown” VSD-E for this project. The main task there was to realize 8 positionings/second, each one about 1/2 revolution. It works.

  2. I love seeing all this fine tuning, and brilliant finish touches.
    I know how much work can go into some seemingly small thing like this, it is appreciated.

Leave a Reply to lubchi Cancel reply

Your email address will not be published. Required fields are marked *

* Copy This Password *

* Type Or Paste Password Here *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>