打印

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

[复制链接]
3100|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

粉丝