标题:
ECT 测量转速 结果不稳定
[打印本页]
作者:
transmission
时间:
2010-7-28 20:50
标题:
ECT 测量转速 结果不稳定
关于转速测量的,我测量的结果波动较大,我做了Buffer【8】去除最大最小值后做个除以6平均,还是不稳定有时候会突然蹦下 。S12xdp512的mcu在xgate处理ECT中断,共有三路转速信号的测量。代码如下;
//read RISING sec rpm @ic3
interrupt void ic3(void)
{
TFLG1_C3F=1;
T_3_over=overtime;
T3over=T_3_over-T_3_over_last;
if(T3over<0)
T3over+=300;
period3=((long)T3over*65535+ TC3-TC3_last) ; //ms
sec_rpm[i_secrpm%8]= (120000000/period3);
T_3_over_last=T_3_over;
TC3_last=TC3;
i_secrpm++;
//asm SIF;
}
这个是xgate里头的处理的,ECT的输入捕捉。
接下来在 mcu的每20ms中断里头处理计算转速
interrupt void clutch0 (void)
{
XGIF1_XGIF_65=1;
do{SET_SEM(0);}
while(!TST_SEM(0));
if(period3>12000000)sec_ave=0;
else {
max_sec=sec_rpm[0];
min_sec=sec_rpm[0];
for(i=1;i<8;i++)
{if(sec_rpm[i]>max_sec)
max_sec=sec_rpm[i];
if(sec_rpm[i]<min_sec)
min_sec=sec_rpm[i];
}
sec_ave=(sec_rpm[0]+sec_rpm[1]+sec_rpm[2]+sec_rpm[3]+sec_rpm[4]+sec_rpm[5]+sec_rpm[6]+sec_rpm[7]-min_sec-max_sec)/6;
}
REL_SEM(0);
}
作者:
pauljames
时间:
2010-8-6 09:29
转速不稳定会不会是设备本身运行就有问题?我碰到的液压马达,转动过程本身就有脉动现象,有跳变才是正常的。
作者:
transmission
时间:
2010-8-12 18:31
里头的那个信号周期的计算出了问题,到65535后的溢出处理要特别修正,所以会突变。不是信号发生器的问题。
作者:
hxcic
时间:
2010-8-13 09:46
支持,什么出错了?
作者:
梦逍遥
时间:
2010-8-13 19:46
要怎么修正呢?
作者:
康桥人
时间:
2010-8-13 21:06
我还真没有看明白你的意思 ,不过,我觉得一个测速,还真没有必要弄的那么复杂
作者:
transmission
时间:
2010-8-20 16:06
就是输入捕捉的时候,每个上升沿会记录单前的TC值,前后两次的值一般情况是前次的数值小于当前的。若是反了,就是说TC值到65535后溢出,这个时候会出现较小的数减去较大的数,这样计算出来的数据会很大。(unsigned long 数据)这个时刻的处理要修正。注意period3的计算方法。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0