同步电机的矢量控制在低速下,转的不好,断断续续的,是什么原因导致这种现象的呢
我电机编码器是1000线的,按道理来说不应该出现这种情况,可是我把速度给定给到110r/min以下时,电机转的就不好了,断断续续的,有时还会反转,当速度给的更低时,干脆就转不起来了,或者上来就反转达到3000多转,请教下各位,是什么问题导致的呢。一开始我想是不是PI,可是调了好久,还是不行,后来怀疑是电流采样,我就把原来的ACS712电流传感器换成霍尔电流传感器了,无论采样精度还是采样频率都提高了,但是效果还是一样,我又考虑是不是定位后的电角度2不对,可是也没查出问题在哪 下面是我的电角度,其中PositionTheta是我一开始定位时,电机转子磁极和a轴重合后的编码数,RawTheta是电机转动过程中,编码器的实时编码数,1000线编码器cpu倍频后就是4000线,0.36是我每转过一个编码数,所转换成电角度的系数。这个计算电角度,自己感觉也没问题啊,求大神帮我看看
if(PositionTheta<RawTheta)
{
sita=(3999+PositionTheta-RawTheta)*0.36;//+90;
}
else sita=(PositionTheta-RawTheta)*0.36;//+90; 你的整个控制系统里,所有的物理量有归一化,取基底吗?伺服控制里,一般是取180度作为位置的基底,那么位置信号应该是-1~1之间变化的。用Q1.15表示小数。所以正确的位置处理方法是:
1. 正转时,编码器counter的值总是自动的从0加到3999,然后归0后再自增... 反转时,counter从3999减到0,然后自动复位为3999,再自减...
2. 启动时,先把转子拉到A-axis,然后将counter清0;
3. 读取转子位置时,直接把counter值读出来,假设是pp对极电机:那么转子位置是 counter * (65535/3999) * pp,这就是归一化的转子位置了。
页:
[1]