CW32数字电压电流表软件进阶教程-3.电压电流标定

标定是通过测量标准器的偏差来补偿仪器系统误差,从而改善仪器或系统准确度、精度的操作。为了提高电压电流表在测量时的测量精度和准确度,需要对电压电流进行标定校准。

常见的标定原理如下:假设一个采样系统,AD部分可以得到数字量,对应的物理量为电压(或电流);① 若在“零点”标定一个AD值点Xmin,在“最大处”标定一个AD值点Xmax,根据“两点成一条直线”的原理,可以得到一条由零点和最大点连起来的一条直线,这条直线的斜率k很容易求得,然后套如直线方程求解每一个点X(AD采样值),可以得到该AD值对应的物理量(电压值):

上图中的斜率k:k =(Ymax-Ymin)/(Xmax-Xmin)(因为第一点为“零点”,故上面的Ymin = 0) 所以,上图中任一点的AD值对应的物理量:y = k×(Xad- Xmin)+0② 上面的算法只是在“零点”和“最大点”之间做了标定,如果使用中间的AD采样值会带来很大的对应物理量的误差,解决的办法是多插入一些标定点。如下图,分别插入了标定点(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4) 四个点:

这样将获得不再是一条直线,而是一条“折现”(相当于分段处理),若欲求解落在x1和x2之间一点Xad值对应的电压值:y = k×(Xad– X1)+ y1 由上看出,中间插入的“标定点”越多,得到物理值“精度”越高。在电压电流表测量可以使用“电压电流标定板”“万用表”等配合适合,对采集的电压电流进行标定处理。标定点越多,测量越精确。参考例程中,使用了3点标定。其中,电压标定点为0V、5V、15V。电流标定点为0A、0.5A、1.5A。

标定代码如下:

void Volt_Cal(void)
{   
  float t,KT1;

  V_Buffer = Mean_Value_Filter(Volt_Buffer,ADC_SAMPLE_SIZE);//使用均值滤波
  I_Buffer = Mean_Value_Filter(Curr_Buffer,ADC_SAMPLE_SIZE); //使用均值滤波

  if(V_Buffer>=X05)  //
  {
    t=V_Buffer-X05;
    V_Buffer=(K*t+Y05)*1000;}
  else
  { 
    KT1=5000;
    KT1=KT1/X05;
    V_Buffer=KT1*V_Buffer;
  }
  // 四舍五入
    if(V_Buffer % 10 >= 5)
    {
        V_Buffer = V_Buffer / 10 + 1;
    }
    else
    {
        V_Buffer = V_Buffer / 10;
    }


  if(I_Buffer>=IX05)
  {
     t=I_Buffer-IX05;
     I_Buffer=(KI*t+IY05)*10;
  }
  else
  {
    KT1=500;
    KT1=KT1/IX05;
    I_Buffer=KT1*I_Buffer;
  }

  if(I_Buffer % 10 >= 5)
    {
        I_Buffer = I_Buffer / 10 + 1;
    }
    else
    {
        I_Buffer = I_Buffer / 10;
    }
  //  I_Buffer=I_Buffer * ADC_REF_VALUE >> 12;
     /**
        mv =I_Buffer * ADC_REF_VALUE >> 12,
        R = 100mr,
        10ma = mv/R/10=mv/0.1/10 = mv
     */  
}  

该例程使用按键操作来标定。具体操作方法如下:定义5个工作模式,点按按键切换工作模式,长按3S设置对应模式下的参数值,并保存到FLASH:模式0:显示正常的电压电流值(上一排数码管显示电压值*.**V或**.*V自动切换,下一排显示电流值,*.**A)模式1:电压5V标定值设置。上一排数码管显示S.05. 。下一排显示当前电压值*.**V或**.*V。当长按3S 按键时,将当前值标定为5V电压值。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值