打印

请问各位专家在UC/OS任务中计算电量相对误差在上升?

[复制链接]
2269|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lw2008|  楼主 | 2007-1-12 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

请问各位专家在UC/OS任务中计算电量相对误差在上升?

开了一个独立任务累计电量,有功功率在AD任务计算。
在标准电子台上与0.1级电能表比较,相对误差在5小时内由-0.5%升到+0.5%。
U,I,cos和时间都是常数,电能误差也应是个常数。

void Task_Meter(void *pdata) //优先级比AD任务高
{
    fp32 fv1,fv2;
    pdata = pdata;
    for (;;)
    {
    fv1 = sDRtime.uiPower.fPW_P[0];  // 总有功
    fv2 = sDRtime.uiPower.fPW_Q[0];  // 总无功
    assay_Energy  (fv1, fv2, 3600);  // 累加总有功/无功
    OSTimeDly(100);
    }
}

void Task_AD(void *pdata)
{
    pdata = pdata;
    for (;;)
    {
        AD_Task();    // 实时采样分析(采样,计量)
        OSTimeDly(88);
    }
}
 
 

相关帖子

沙发
bozai| | 2007-1-12 11:16 | 只看该作者

会不会是系统抖动引起的

使用特权

评论回复
板凳
zhiyu03| | 2007-1-12 11:54 | 只看该作者

计量的时间准不?

使用特权

评论回复
地板
lw2008|  楼主 | 2007-1-12 12:31 | 只看该作者

把功率乘100倍累计,与基准表电量的相对误差,10秒就显示出


把功率乘100倍累计,与基准表电量的相对误差,10秒就显示出来。
E=P*T,是T的间隔小于1秒引起,每秒多累计电能。

      基准表     UC计量
 0秒  1.00        0.99    -1.0%
 5秒  2.00        2.00     0.0%
10秒  3.00        3.01    +1.0% 

可能是OSTimeDly(100)的原因, 很难控制在精确1秒。

使用特权

评论回复
5
lw2008|  楼主 | 2007-1-12 14:20 | 只看该作者

要把累时间从OSTimeDly(100)减去

OSTimeDly(100)  ->  OSTimeDly(74)
考虑了累计电量时间

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

296

帖子

0

粉丝