Справочник Пользователя для Motorola MC68HC908MR16

Скачать
Страница из 388
Pulse-Width Modulator for Motor Control (PWMMC)
Output Control
MC68HC908MR16/MC68HC908MR32 — Rev. 4.0
Advance Information
 
MOTOROLA
Pulse-Width Modulator for Motor Control (PWMMC)
 153
9.6.3  Top/Bottom Correction with Motor Phase Current Polarity Sensing 
Ideally, when complementary pairs are used, the PWM pairs are 
inversions of each other, as shown in 
. When PWM1 is 
active, PWM2 is inactive, and vice versa. In this case, the motor terminal 
voltage is never allowed to float and is strictly controlled by the PWM 
waveforms.
However, when dead-time is inserted, the motor voltage is allowed to 
float momentarily during the dead-time interval, creating a distortion in 
the motor current waveform. This distortion is aggravated by dissimilar 
turn-on and turn-off delays of each of the transistors. 
For a typical motor drive inverter as shown in 
, for a given 
top/bottom transistor pair, only one of the transistors will be effective in 
controlling the output voltage at any given time depending on the 
direction of the motor current for that pair. To achieve distortion 
correction, one of two different correction factors must be added to the 
desired PWM value, depending on whether the top or bottom transistor 
is controlling the output voltage. Therefore, the software is responsible 
for calculating both compensated PWM values and placing them in an 
odd/even PWM register pair. By supplying the PWM module with 
information regarding which transistor (top or bottom) is controlling the 
output voltage at any given time (for instance, the current polarity for that 
motor phase), the PWM module selects either the odd or even 
numbered PWM value register to be used by the PWM generator.
Current sensing or programmable software bits are then used to 
determine which PWM value to use. If the current sensed at the motor 
for that PWM pair is positive (voltage on current pin ISx is low) or bit 
IPOLx in PWM control register 2 is low, the top PWM value is used for 
the PWM pair. Likewise, if the current sensed at the motor for that PWM 
pair is negative (voltage on current pin ISx is high) or bit IPOLx in PWM 
control register 2 is high, the bottom PWM value is used. See 
.