【电机控制】滑模观测器-PMSM无感FOC控制(软件篇)
文章目录
前言
【电机控制】滑模观测器PMSM无感控制
提示:以下是本篇文章正文内容,下面案例可供参考
一、IF启动
a.进入滑模观测器模式
if(Controdmode == SMOloop)
{
if(StateFlag.StartSetFlag == 0)
{
StateFlag.StartSetFlag =1;
TimeStateCount = 5000;
Angle.Acc_a = _IQ(0.005); //¼ÓËÙ¶È
Angle.Setp_Max = 55;// ÔÈËÙ¶È
IqStartSet = IqStart;
}
Motor_IFStart();
if(TimeStateCount == 0)
{
mcState = Run;
}
}
b.零速IF启动
void Motor_IFStart(void)
{
IqStartSet -= 1;
if (IqStartSet<_IQ(0.05))
{
IqStartSet = _IQ(0.05);
}
Angle_Acc(Angle);
AngleSin_Cos.IQAngle = Angle.Set;//½Ç¶È
pi_iq.Ref = IqStartSet; //Æô¶¯µçÁ÷ÉèÖÃ
ADC_Sample();//²É¼¯µçÁ÷ µÃµ½UVµçÁ÷
AngleSin_Cos.IQSin = _IQsinPU(AngleSin_Cos.IQAngle);
AngleSin_Cos.IQCos = _IQcosPU(AngleSin_Cos.IQAngle);
c.切滑模速度闭环
if(Controdmode == SMOloop)
{
SMO_SpeedLoop();
}
二、滑模观测器-观测角度
a.静止坐标系电流ab,电压ab输入
SMO_Angle(ClarkI.Alpha,ClarkI.Beta,IparkU.Alpha,IparkU.Beta); //»¬Ä¤¹ÀËã½Ç¶È
b.调用滑模观测函数
Angle_Cale((p_Angle_SMO)&Angle_SMOPare);
c.建立滑模观测器-bangbang控制
起停式控制(bang-bang control),也称为砰砰控制、bang-bang控制、开关控制、继电器式控制或磁滞控制,是会让控制输出在两种状态之间切换的回授控制器,起停式控制会使控制输出在某个状态停留一段时间,再跳到另一个状态。起停式控制可以用有迟滞功能的元件实作。
控制信号只有两个状态的控制称为bang-bang控制。
pV->EstIalpha = _IQmpy(pV->Fsmopos,pV->EstIalpha) + _IQmpy(pV->Gsmopos,(pV->Valpha-pV->Zalpha));
pV->EstIbeta = _IQmpy(pV->Fsmopos,pV->EstIbeta) + _IQmpy(pV->Gsmopos,(pV->Vbeta -pV->Zbeta ));
d.电流误差-选择电流方程建立关系
pV->IalphaError = pV->EstIalpha - pV->Ialpha;
pV->IbetaError = pV->EstIbeta - pV->Ibeta;
e.滑模控制计算
pV->Zalpha = _IQmpy(_IQsat(pV->IalphaError,pV->E0,-pV->E0),_IQmpy2(pV->Kslide));
pV->Zbeta = _IQmpy(_IQsat(pV->IbetaError ,pV->E0,-pV->E0),_IQmpy2(pV->Kslide));
f.低通滤波
pV->Ealpha = pV->Ealpha + _IQmpy(pV->Kslf,(pV->Zalpha-pV->Ealpha));
pV->Ebeta = pV->Ebeta + _IQmpy(pV->Kslf,(pV->Zbeta -pV->Ebeta));
三、反正切
IQAtan_Pare.Alpha = -Angle_SMOPare.Ealpha ;
IQAtan_Pare.Beta = Angle_SMOPare.Ebeta;
IQAtan_Pare.IQAngle = _IQatan2PU(-Angle_SMOPare.Ealpha,Angle_SMOPare.Ebeta);
四、参考资料
【永磁同步电机的I/F启动控制策略】
【永磁同步电机滑膜无感控制】
【STM32f103 SMO滑膜观测器的 无感无刷FOC驱动DIY】
[现代永磁同步电机控制原理及MATLAB仿真]-袁雷
总结
本文仅仅简单介绍了【电机控制】IF启动+滑模观测器+反正切-PMSM无感FOC控制-(软件篇)方面,评论区欢迎讨论。