关于电机控制中转速符号的问题

[复制链接]
4655|3
 楼主| libinxtdj 发表于 2011-7-15 22:53 | 显示全部楼层 |阅读模式
关于转速正负号的添加的问题。。我是按照下面的方法来添加的,大家看是否合理?在进行转速检查的时候如果是CCW方向转速变量前面添加负号if (Reference_Direction == CCW)



Motor_Speed = -Motor_Speed;



定义了3个关于方向的变量u8 Reference_Direction 、u8 Current_Direction,、u8 Required_Direction;



1、Reference_Direction 这个变量根据上位机方向要求赋值。



2、Current_Direction 此变量用来定义电机实际运行的方向,通过霍尔来判断。

if ((Sector == 3) || (Sector == 0))

Current_Direction = CCW;
else

Current_Direction = CW;



3、Required_Direction; 这个变量根据PI环的输出来赋值



CalcPI(&PIParm_Speed);

Pi_Spwm=abs(PIParm_Speed.qOut);//由于计算正弦波的幅值的时候只需要正值,因此在这里去绝对值
if (PIParm_Speed.qOut < 0)
{
Required_Direction = CCW;
}
else
{
Required_Direction = CW;
}



在调用SVM程序时是这样处理的:

if (Required_Direction == CW)
{
if (Current_Direction == CW)
{
if(PhaseInc_Sum<0x2aaa)
{
Phase += PhaseInc;

}
}
SVM(PI_Current_adj,Phase);
}
else
{
if (Current_Direction == CCW)
{
if(PhaseInc_Sum<0x2aaa)
{
Phase -= PhaseInc;

}
}
SVM(PI_Current_adj, Phase);

}
lwqzzp 发表于 2011-7-16 01:51 | 显示全部楼层
呵呵。不错不错
 楼主| libinxtdj 发表于 2011-7-18 09:13 | 显示全部楼层
什么意思?没有问题吗?
zmz511xou 发表于 2011-7-18 09:19 | 显示全部楼层
木有问题  哈哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我的地盘听我的!

48

主题

181

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部