单片机ADC采样算法----限幅消抖滤波法

发布者:Lianai最新更新时间:2020-03-30 来源: eefocus关键字:单片机  ADC  采样算法  限幅消抖滤波法 手机看文章 扫描二维码
随时随地手机看文章

限幅消抖滤波法相当于“限幅滤波法”+“消抖滤波法”    。   


下面直接看C代码的实现


#define A 200

#define N 20

//返回两个整数差

unsigned int num_sub( unsigned int a, unsigned int b )

{

    return ( a >= b ? ( a - b ) : ( b - a ) );

}

 

unsigned int filter10( void )

{

    unsigned int count = 0;

    unsigned int new_value = 0;

    static unsigned int last_value = 0;

    new_value = ReadVol_CH2();

    if( num_sub( new_value, last_value ) < A )

    {

        new_value = new_value;

    }

    else

    {

        new_value = last_value;

    }

    

    

    while( new_value !=  last_value)

    {

        count++;

        if( count >= N )

        {

            last_value = new_value;

            return new_value;

        }

        new_value = ReadVol_CH2();

        if( num_sub( new_value, last_value ) < A )

        {

            new_value = new_value;

        }

        else

        {

            new_value = last_value;

        }

    }

    return last_value;

}

 

 

 

void main( void )

{

    while( 1 )

    {

        val = ReadVol_CH2();        //读取AD采样值

        val1 =  filter10();

        printf( "A%drn", val );

        printf( "B%drn", val1 );

    }

}

主函数中实时采样AD端口的波形值,然后将采样值经过限幅消抖滤波法进行滤波,然后用串口输出原始采样值和滤波后的值,并在串口波形软件上显示采样的数据波形。

图中蓝色曲线为原始数据曲线,橙色曲线为经过滤波算法后的曲线。


限幅消抖滤波法继承了“限幅”和“消抖”的优点,改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统。

关键字:单片机  ADC  采样算法  限幅消抖滤波法 引用地址:单片机ADC采样算法----限幅消抖滤波法

上一篇:STM8在IAR环境的新建工程标准
下一篇:单片机ADC采样算法----加权递推平均滤波法

推荐阅读最新更新时间:2024-11-08 18:09

基于中颖SH79F168单片机的航模无刷电调方案
1 概述 无位置传感器的无刷直流电机(Brushless Direct Current Motor, BLDCM)由于其快速、可靠性高、体积小、重量轻等特点,在航模领域得到了广泛的应用。但是与有刷电机和有位置传感器的无刷直流电机相比,其控制算法要复杂得多。加上航模设计中对重量和体积的要求非常严格,因此要求硬件电路尽可能简单,更增加了软件的难度。 本文提出了一种基于中颖8位单片机SH79F168的控制方案,借助于该芯片片内集成的针对电机控制的功能模块,只需很少的外围电路即可搭建控制系统,实现基于反电动势法的无位置传感器BLDC控制,在保证稳定性和可靠性的基础上大大降低了系统成本。而且该芯片与传统8051完全兼容,易于上手
[单片机]
51单片机系列学习——逐行扫描的方式实现矩阵按键的仿真
小编今天原本想用proteus7.8做个计算器显示的仿真,结果被矩阵按键这块整好长时间。秃头秃头!!! 某站上普中科技的教学视频里的“矩阵按键”采用的是行列式的扫描方式实现确定按键位置的。但我用那个程序仿真没整出来。分析修改程序等等,弄了好久没整出来。于是我换了一种方式,用视频里介绍的**“逐行扫描”**的方式弄了一下,整出来了!!,先把我的实验过程分享给大家,在来谈谈我的理解。 仿真图如下: 计算器在proteus7.8中搜“KEYPAD”即可 代码如下: #include reg52.h #include intrins.h #define uchar unsigned char #define uint
[单片机]
51<font color='red'>单片机</font>系列学习——逐行扫描的方式实现矩阵按键的仿真
OpenHW为物联网构建基于RISC-V的MCU开发套件
OpenHW Group 及其成员发布了据称是业界最全面的开源 RISC-V 开发套件之一。 它采用OpenHW Core-V MCU、带有全功能 Eclipse 集成开发环境 (IDE) 的 Core-V 软件开发工具包 (SDK) 以及通过 AWS IoT ExpressLink 支持 Amazon Web Services (AWS) 的开放式 PCB 设计。 AWS IoT ExpressLink为一系列硬件模块提供支持,并包括经过 AWS 验证的软件,可将设备安全地连接到云。基于 RISC-V 的 Core-V MCU DevKit 支持嵌入式、物联网和人工智能 (AI) 驱动及应用的开发。 Core-V M
[嵌入式]
Microchip获得MIPS32 M14K内核授权 开发新一代32位PIC32单片机
Microchip Technology Inc.(美国微芯科技公司,纳斯达克股市代号:MCHP)和MIPS Technologies, Inc.(MIPS科技公司,纳斯达克股市代号:MIPS)宣布,Microchip已获得MIPS的MIPS32 M14K内核系列授权,正在开发基于MIPS32 M4K内核的成功的32位PIC32单片机系列。 M14K内核将有助于Microchip通过提供无与伦比的性能,以及对嵌入式应用非常关键的经改进的代码密度,进一步巩固其在竞争激烈的32位单片机市场的优势地位。此外,M14K内核还可支持成本和性能上的可扩展性,同时保持与基于M4K内核的PIC32 MCU 100%的代码兼容性。
[单片机]
Microchip获得MIPS32 M14K内核授权 开发新一代32位PIC32<font color='red'>单片机</font>
瑞萨电子推出全新RX140 MCU
为家居与工业应用带来双倍性能和30%以上的电源效率提升 新型超低功耗RX140 MCU通过先进触控感应技术,实现更高噪声容限和感应精度 2021 年 9 月 29 日,日本东京讯 - 全球半导体解决方案供应商瑞萨电子集团,今日宣布,推出超低功耗32位RX140微控制器(MCU)产品群。作为入门级RX100系列的最新成员,RX140 MCU基于瑞萨强大的RXv2 CPU内核构建,具有卓越性能。其最高运行频率为48MHz,CoreMark评分达到204;同RX130 MCU产品群相比,可提供约两倍的处理性能,更将电源效率提升30%以上——当CPU处于工作状态时,电流低至56µA/MHz;在待机模式下低至0.25µA。这使
[单片机]
瑞萨电子推出全新RX140 <font color='red'>MCU</font>
怎样设计一个基于MSP430单片机的电桥平衡自调节?
本文设计的MSP430F2002单片机和MAX5402数字电位器所构成的电桥平衡自调节电路,具有结构简单、占用空间小、功耗低、可靠性高等特性,完全符合火炮膛压测试仪的要求。 1 电桥平衡自调节原理 在火炮膛压测试仪中,考虑到测试仪壳体结构的限制以及低功耗的要求,采用的电桥为1/4直流源电桥。电桥平衡自调节电路如图1所示。 图1 电桥平衡自调节电路图 左图为电桥平衡自调节电路工作原理。其中,R1为电阻应变计温度补偿片,R2为电阻应变计工作片,R1=R2=R3=R4=120 Ω,Uo为电桥输出电压,Io为恒流源。由电路理论计算可知: 若R2·R3-R1·R4=0,则电桥保持平衡。测量中电桥初始输出值一般不为零,这可能导致传
[单片机]
怎样设计一个基于MSP430<font color='red'>单片机</font>的电桥平衡自调节?
TI推出F2837x系列的最新C2000 Delfino32位F2837xD微控制器
近日,德州仪器 (TI) 宣布推出F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。 客户可通过采用强大片上集成模拟外设的 Delfino F2837xD MCU 同
[单片机]
基于单片机的多功能智能小车机器人
随着科学技术的日新月异及传感器技术的不断发展,各国对智能移动机器人的研制和开发力度也不断加大,各式各样的机器人进入社会生活的方方面面。机器人可以代替人力进行许多具有一定危险性的活动,进入一些人类难以涉足的空间,比如不久前成功在月球登陆的 玉兔 号月球车。本文设计的小车可以应用于无人驾驶机动车、无人工厂、仓库等领域,有实际应用推广价值。 1 系统总体设计 本文设计的小车采用51单片机作为控制核心,使用光电传感器检测小车的运动状态,进行循迹和避障,并由LCD实时显示小车的运动状态。金属传感器检测到铁片后小车由循迹状态进入到避障状态,按下遥控器可使小车进入遥控状态,每次状态转换都有报警指示。智能小车实物照片及功能示意图如图1所示。
[单片机]
基于<font color='red'>单片机</font>的多功能智能小车机器人
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved