历史上的今天
返回首页

历史上的今天

今天是:2024年09月25日(星期三)

正在发生

2019年09月25日 | 一阶互补滤波应用到stm32 ADC采集上

2019-09-25 来源:eefocus

大家都知道,adc采集,不管分辨率高低,特别是采集电压电流的值都是有一定漂移的,比如漂移个100mv左右是很正常的现象。


很多人都是用平均滤波法,这里我想说的是其实没有用,我之前就一直用的这个,真心效果很差。


其实这个问题可以用   平均滤波   加  一阶互补滤波  比较完美的滤除波动。


我这边只用平均滤波漂移在100mv,加上互补滤波后漂移基本只有10mv。已经算是相当完美了。


放小10倍的话,你的ad值基本都完全恒定了。


下面是代码,一阶互补滤波思想我就不介绍了,其实就是一个权重的问题,你更相信哪一时刻的值?不懂的自行百度。


void DEVICE_INFO::TX_updata()

{

//使用一阶互补滤波算法

static u16 bre_i=0;

static u16 bre_ii=0;

static u16 bre_v=0;

static u16 bre_vv=0;

u16 adci,adcv;

unsigned char r_buff[33];

//TX电流

adci=Get_Adc_Average(ADC_CH11,10); //此处有10次平均滤波

adci=(adci*3300)/4096;

//TX_electricity=adci;

//电压

adcv=Get_Adc_Average(ADC_CH10,10); 

adcv=(adcv*3300)/4096;

  

//TX_voltage=adcv;

//说明一下  0.92和0.08是权值 ,0.000001是处理周期,我这里处理比较快,单位是s

TX_electricity=0.92*(TX_electricity-bre_i*0.000001)+0.08*bre_ii;

TX_voltage=0.92*(TX_voltage-bre_v*0.000001)+0.08*bre_vv;

 

bre_ii=bre_i; //保存上次值

bre_i=adci; //保存本次值

bre_vv=bre_v;

bre_v=adcv; //保存本次值

}

相信很多算法都是一个思想,具体在自己的系统中会变成什么样,还是得自己琢磨。

推荐阅读

史海拾趣

Anachip公司的发展小趣事

随着电子行业的竞争日益激烈,Anachip公司意识到单凭自己的力量难以应对市场的快速变化。于是,公司开始积极寻求与其他企业的合作。通过与多家知名电子企业建立战略合作关系,Anachip成功将自己的芯片技术应用于更多领域,进一步扩大了市场份额。同时,这种合作模式也促进了整个电子行业的共同发展。

Boyd Corporation公司的发展小趣事

随着公司规模的扩大和市场需求的增长,Boyd Corporation积极拓展全球业务版图。公司在多个国家和地区设立了生产基地和研发中心,以便更好地服务全球客户。通过全球化布局,Boyd Corporation不仅提升了生产效率,还加强了与全球客户的合作关系,进一步巩固了其在电子行业的领导地位。

Eagle-Picher公司的发展小趣事

然而,Eagle-Picher的发展并非一帆风顺。1991年9月16日,位于密苏里州乔普林的Eagle-Picher工业公司电子部遭受了一场毁灭性的大火。火灾导致公司的电池生产设备化为灰烬,给公司的业务带来了巨大的打击。然而,Eagle-Picher并没有放弃,而是迅速组织力量进行重建和恢复生产。这一事件虽然给公司带来了短期的困难,但也展现了Eagle-Picher的坚韧和决心。

Endicott Research Group Inc (ERG)公司的发展小趣事

面对日益激烈的市场竞争,ERG始终坚持技术研发和创新。他们与多所知名大学和科研机构建立合作关系,共同研发新型电源技术和照明解决方案。这些合作不仅为ERG带来了先进的技术和研发资源,还使其在行业中保持了技术领先地位。通过与科研机构的紧密合作,ERG不断推出更具创新性和竞争力的产品。

AF International公司的发展小趣事

在电子行业发展日新月异的背景下,AF International始终坚持技术创新,不断推出新产品、新技术。公司投入大量资金用于研发,引进先进的生产设备和测试仪器,确保产品质量的稳定提升。此外,AF International还积极与高校、科研机构合作,共同开展技术研发项目,推动电子行业的创新发展。正是这些技术创新成果,使得AF International在行业中始终保持领先地位。

Floeth Electronic Ltd公司的发展小趣事

AF International的创立可以追溯到上世纪末,当时创始人张先生凭借对电子行业的敏锐洞察和深厚技术背景,决定创办一家专注于电子元器件研发与生产的公司。张先生深知技术创新是行业发展的关键,因此在公司创立之初就投入大量资源用于研发,逐步开发出了一系列具有竞争力的产品。凭借这些产品,AF International在电子行业中逐渐崭露头角,赢得了客户的信赖和市场的认可。

问答坊 | AI 解惑

电磁流量计原理

1. 概 述 电磁流量计(以下简称EMF)是利用法拉第电磁感应定律制成的一种测量导电液体体积流量的仪表。50年代初EMF实现了工业化应用,近年来世界范围EMF产量约占工业流量仪表台数的5%~6.5%。 70年代以来出现键控低频矩形波激磁方式,逐渐替代早 ...…

查看全部问答>

电流转换成电压再进行AD转换的电路,有个问题,请教模电

最近正在做一个同时电压和电流的电路 。现在有个问题。 单独测量电压和电流都没有问题,只是不能同时测量,同时测量的话,电压正常,电流就不对了。 电流测量点是在VDD端,我估计可能是共模干扰的问题,但是不知道怎么解决。 请高手指点,不胜感 ...…

查看全部问答>

4星C++经典(英文清晰PDF)

C++: The Complete Reference, 3rd Edition Product DescriptionBest-selling genius Herb Schildt covers everything from keywords, syntax, and libraries, to advanced features such as overloading, inheritance, virtual functions, name ...…

查看全部问答>

这种情况下怎样滤波效果更好?

最近用到AD698来检测位移,用示波器发现698输出的直流电压有纹波,大约10mv,几十Hz,即使使用电池供电也照样存在!想用简单的阻容滤除,但电容加大到100uF才滤掉了纹波!但此时出现了一个非常讨厌的现象:          ...…

查看全部问答>

为什么我的贴被删

不可以那样发贴吗,版主,解释下 死也要死的明白??…

查看全部问答>

诚聘硬件部经理

公司:深圳市亚特尔南京研发中心(正在筹建中) 地址:南京市鼓楼区定淮门12号世界之窗软件园15号楼北301室 TEL:025-83752651     Website:www.szartel.com 要求: 1、本科以上学历,电子信息相关专业; 2、从事ARM、DS ...…

查看全部问答>

供应VGA控制板

VGA控制板: 1. 为单片定身量做的显卡,单片机通过8/16/32位数据总线或IO口直接控制             2. 标准VGA输出接口,直接驱动15/17\"LCD和CRT显示器            ...…

查看全部问答>

CF卡的驱动

您好,我最近在做CF卡的驱动,是基于arm9(at91rm9200)平台linux操作系统的,看了一段时间书也没什么大的头绪,能否给我源代码做参考,非常感谢! 我的邮箱:jink1977@163.com…

查看全部问答>

版主,请问串口1如何使用呢?

版主,我用的是207R8,想使用串口1,如何配置寄存器,才能使它像普通单片机串口一样收发使用呢,寄存器配置太多,不知道如何使用了 使用库函数也行啊 我使用的是 stvp,外部时钟 22.1184…

查看全部问答>