Dear team,
There is the following code in HVBLDC sensorless:
// Initial Rotor Alignment Process
if (AlignFlag != 0)
{
mod1.Counter = 0;
pwm1.CmtnPointer = 0;
BLDCPWM_MACRO(1,2,3,pwm1)
if (VirtualTimer > 0x7FFE)
{
if (LoopCount != LOOP_CNT_MAX)
LoopCount++;
else
{
AlignFlag = 0;
VirtualTimer = 0;
VirtualTimer++;
VirtualTimer &= 0x00007FFF;
}
}
So what is the purpose of Align? Is it to fix the rotor to a certain commutation position so that it is easier to drag when dragging in an open loop?