- 积分
- 29
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 5
- 最后登录
- 1970-1-1
该用户从未签到
|
发表于 2012-3-28 22:29
|
显示全部楼层
来自: 中国北京
本帖最后由 永天居士 于 2012-3-28 22:38 编辑
今天联合仿真,遇到了与楼主一样的问题,但是找了半天,没有一个人来解答,最后只有自己摸索……皇天不负有心人,终于解决了!
是初始角的问题,我是直流无刷电机,根据转子的位置进行的换向设置,在检测到位置的时候,没有减去转子的初始角,从而就会出现“hit a limit ”。一但出现这个警告,那OMEGA的波形就出现楼主所示的情况了!
转子的初始角,可以在maxwell 2D模型的model——motionsetup中找到(Initial position)注意单位为deg,而且这个是机械角度,进行处理的时候记得转换为电角度(乘以极对数)。
下面附上本人编写的换向程序 (12是极对数):
theta_ele := FEA1.PHI * 12;
IF(theta_ele >= 0 )
{
theta_360 := mod(theta_ele-Initial_position*12+360,360 );
}
ELSE
{
theta_360 :=( mod(theta_ele-Initial_position ,360 )) +360;
}
IF( (theta_360 >= 0)&&(theta_360 < 60) )
{
SA:=1;
SB:=0;
SC:=0;
NA:=0;
NB:=1;
NC:=1;
}
ELSE IF( (theta_360 >= 60)&&(theta_360 < 120) )
{
SA:=1;
SB:=1;
SC:=0;
NA:=0;
NB:=0;
NC:=1;
}
ELSE IF( (theta_360 >= 120)&&(theta_360 < 180) )
{
SA:=0;
SB:=1;
SC:=0;
NA:=1;
NB:=0;
NC:=1;
}
ELSE IF( (theta_360 >= 180)&&(theta_360 < 240) )
{
SA:=0;
SB:=1;
SC:=1;
NA:=1;
NB:=0;
NC:=0;
}
ELSE IF( (theta_360 >= 240)&&(theta_360 < 300) )
{
SA:=0;
SB:=0;
SC:=1;
NA:=1;
NB:=1;
NC:=0;
}
ELSE
{
SA:=1;
SB:=0;
SC:=1;
NA:=0;
NB:=1;
NC:=0;
} |
|