我是靠谱客的博主 聪慧柠檬,最近开发中收集的这篇文章主要介绍UVC 光电池 ADC采集经验之谈,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

做一个消毒灯检测项目,用UVC的光电池采集紫外光强度。
发现采集的AD值会上下波动,很有规律,当时就很纳闷,难道我的AD值有问题(如下图)
这里写图片描述
然后就用上万用表,发现万用表的电压值很稳定,电压稳定上涨,不会上下周期性波动。
当时就懵逼了,越发的怀疑我的AD采集程序有问题。
反复验证无果后,经过高人大神指点后,用上示波器,一看,果真电压上下波动。
这里写图片描述
经过反复确定,是光源有波动,接下来然后就是数字滤波了。选用中位值平均滤波法(又称防脉冲干扰平均滤法)

//AD采集数据
void GetUVC(void)
{   
  uint16 i,j,temp;
  uint32 sum=0;

  for(i=0;i<uvc.N;i++)
  {
    uvc.value_buf[i]=HalAdcRead(HAL_ADC_CHANNEL_6, HAL_ADC_RESOLUTION_14);    
    Onboard_wait(300);
  }

  for(j=0;j<uvc.N-1;j++)
  {
    for(i=0;i<uvc.N-j-1;i++)
    {
      if(uvc.value_buf[i]>uvc.value_buf[i+1])
      {
        temp=uvc.value_buf[i];
        uvc.value_buf[i]=uvc.value_buf[i+1];
        uvc.value_buf[i+1]=temp;
      }
    }
  }

  sum=0;
  for(i=3;i<uvc.N-3;i++)
    sum+=uvc.value_buf[i];

  uvc.value=sum*1.0/(uvc.N-6);
  UpdateUVC();
}

经过反复调整采集数据长度和采集时间间隔,最终滤出的波形如下(一次比一次好~~~)
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

最后

以上就是聪慧柠檬为你收集整理的UVC 光电池 ADC采集经验之谈的全部内容,希望文章能够帮你解决UVC 光电池 ADC采集经验之谈所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部