1.无传感器控制
一般情况下,无传感器控制采用状态观测器的方式,常见的无感FOC状态观测器有滑模观测器、龙伯格观测器、卡尔曼观测器,在众多的观测器中,滑模观测器应用是比较广泛的,MicroChip提供的无感FOC方案就是采用的滑模观测器。在无感FOC控制中,启动是一个关键问题,本文着重分析MicroChip的Sensorless中关于启动模块的实现,请看下节。
2.无传感器启动过程
在MicroChip无传感器控制中,启动过程分为三个阶段,锁定–>斜坡加速–>速度闭环,首先来看一下MicroChip的代码:
- if(uGF.bit.OpenLoop)
- {
- if (Startup_Lock < MotorParm.LockTime)
- Startup_Lock += 1; // This variable is incremented until
- // lock time expires, them the open loop
- // ramp begins
- else if (Startup_Ramp < MotorParm.EndSpeed)
- // Ramp starts, and increases linearly until EndSpeed is reached.
- // After ramp, estimated theta is used to commutate motor.
- Startup_Ramp += DELTA_STARTUP_RAMP;
- else
- {
- // This section enables closed loop, right after open loop ramp.
- uGF.bit.ChangeMode = 1;
- uGF.bit.OpenLoop = 0;
- Theta_error = ParkParm.qAngle - smc1.Theta;
- }
- ParkParm.qAngle += (int)(Startup_Ramp >> 16);
- }
- else
- {
- ParkParm.qAngle = smc1.Theta + Theta_error;
- if( (_Q15abs(Theta_error) > _0_05DEG)&&(trans_counter == 0))
- {
- if (Theta_error < 0)
- Theta_error += _0_05DEG;
- else
- Theta_error -= _0_05DEG;
- }
- }
|