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

[复制链接]
1690|3
手机看帖
扫描二维码
随时随地手机跟帖
lw2008|  楼主 | 2007-1-11 20:15 | 显示全部楼层 |阅读模式
请问各位专家在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);
    }
}

相关帖子

zhangsifu| | 2007-1-17 12:47 | 显示全部楼层

要先保证你的电压,电流,时间的精度

要先保证你的电压,电流,时间的精度

使用特权

评论回复
lw2008|  楼主 | 2007-1-19 13:22 | 显示全部楼层

时间的精度难精确到1秒,用的13.592KHZ晶振。

电压,电流是0.2级的。
时间的精度难精确到1秒,用的13.592KHZ晶振。

使用特权

评论回复
publicrtos| | 2007-1-29 10:14 | 显示全部楼层

时钟不准,肯定有误差

解决办法:
1. 你搞一个准的时钟来进行电能计量。
2. 软件校准时钟。比如,每秒误差-1ms,1000秒后你再人为的多计一次。这样可以很大程度较少误差。

使用特权

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

本版积分规则

49

主题

296

帖子

0

粉丝