AN1905 ST Microelectronics, Inc., AN1905 Datasheet - Page 56

no-image

AN1905

Manufacturer Part Number
AN1905
Description
St7mc Three-phase BLDC Motor Control Software Library
Manufacturer
ST Microelectronics, Inc.
Datasheet
ST7MC THREE-PHASE BLDC MOTOR CONTROL SOFTWARE LIBRARY
Basically, the current sense circuit acts as a PWM duty cycle manager in current mode while
it acts as a maximum current limiter in voltage mode. The current loop allows a fine control of
the torque by imposing the current in the windings.
Voltage mode can be used when there is a high torque variation.
7.2.2 Choosing a demagnetization type (Sensorless mode only)
There are 3 methods in sensorless mode to detect the end of demagnetization: software,
hardware with software backup and hardware demagnetization (no demagnetization event in
sensor mode).
A. Hardware
Detection of the end of demagnetization is entirely done by hardware and no safety precaution
is taken in order to manage a wrong event detection. Hardware demagnetization can be
chosen for system running at low speed. Generally, this method doesn’t have any advantage
compared to the ‘Hardware with software backup’, and therefore shouldn’t be used.
B. Hardware with software backup
This method gives the advantage of an hardware detection combined with a software demag-
netization used as a backup method when the system fails to detect the end of a demagneti-
zation event. This allows the most accurate demagnetization time to be achieved and there-
fore permits the window timing to be opened for the Bemf detection as early as possible.
If there is a problem with the end of demagnetization event detection (which could occur on a
falling Bemf event detection while running at high speed), then a software demagnetization
occurs after a pre-programmed amount of time.
In the stand-alone library, the time is set to 125% of the last hardware demagnetization time
(see ‘mtc.c’ file, ‘MTC_C_D_IT’ routine).
Figure 36. Software backup demagnetization time update routine
56/77
{
ClrBit(Flag_it,RM_EVT);
if (MotorStatus == AUTO_SWITCH) temp_D = (u8)(MDREG - MCOMP); // Demag.time = MDREG - MCOM
else temp_D = MDREG; // synchronous mode
SoftDemagTime += temp_D; // next MDREG value = 1.25*(hard demag.time)
RP_counter=0;//reset counter of RP event coming between Dhard and next C
}
SoftDemagTime = (temp_D >> 2); // div/4

Related parts for AN1905