在实验运行7.1章节例程时 [CW32数字电压电流表软件进阶教程-1.电压电流同时显示] ,会发现实时显示更新的数据是当前采集值,并未做数据滤波处理。由于采集到的原始数据有一定的波动,因此在显示更新速度较快时,数字有跳动现象。
因此,在数据处理前,可以增加常见的均值滤波算法。均值滤波原理在实验七中已有讲述。
在7.1实验例程基础上,增加均值滤波的核心代码如下:
void Volt_Cal(void)
{
V_Buffer = Mean_Value_Filter(Volt_Buffer,ADC_SAMPLE_SIZE);; //使用均值滤波
I_Buffer = Mean_Value_Filter(Curr_Buffer,ADC_SAMPLE_SIZE);; //使用均值滤波
V_Buffer = (V_Buffer * ADC_REF_VALUE > > 12) * (R2 + R1)/R1;
// 四舍五入
if(V_Buffer % 10 >= 5)
{
V_Buffer = V_Buffer / 10 + 1;
}
else
{
V_Buffer = V_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
*/
}
在上述例程中,可以看到使用了均值滤波函数:
Mean_Value_Filter(Volt_Buffer,ADC_SAMPLE_SIZE);; //使用均值滤波
Mean_Value_Filter(Curr_Buffer,ADC_SAMPLE_SIZE);; //使用均值滤波
其中,原始数据为每1MS采集一个数据点,共采集100次,即100MS内的定时数据值。单点数据采集在定时器BTIM1中断函数中完成。
均值滤波函数定义如下:
uint32_t Mean_Value_Filter(uint16_t *value, uint32_t size) //均值滤波
{
uint32_t sum = 0;
uint16_t max = 0;
uint16_t min = 0xffff;
int i;
for(i = 0; i < size; i++)
{
sum += value[i];
if(value[i] > max)
{
max = value[i];
}
if(value[i] < min)
{
min = value[i];
}
}
sum -= max + min;
sum = sum / (size - 2);
//if(sum >1)sum+=4; 后期校准
return sum;
}
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据采集
+关注
关注
42文章
8325浏览量
121253 -
定时器
+关注
关注
23文章
3373浏览量
124552 -
均值滤波
+关注
关注
0文章
10浏览量
7267 -
CW32
+关注
关注
1文章
324浏览量
1958
发布评论请先 登录
相关推荐
热点推荐
汽车电压电流信号测试方案 横河DL950示波器记录仪 科瑞杰
深圳市科瑞杰科技有限公司-电压电流信号测试方案:电力驱动系统的自身损耗占电动汽车总电量的16%~18%。因此,精确采集电动汽车和混合动力汽车电压电流信号,对提升电机与控制器的效率至关重要。
深入解析LTC4151:高性能高电压电流与电压监测器
深入解析LTC4151:高性能高电压电流与电压监测器 在电子设计领域,对于高电压环境下的电流和电压监测需求日益增长。LTC4151作为一款高
CW32L012电压电流表设计思路
CW32L012C8T6 定位为 电机控制、电源管理、智能仪表、工业传感器 等领域的高性价比解决方案,尤其适合需要 高精度模拟信号处理 + 复杂数字控制 的混合信号系统, ARM
电压电流采集模块:电力物联网的感知核心与数据基石
电压电流采集模块是电力物联网(IoE)的核心感知单元,将物理世界的电力参数转化为数字世界的可用数据,为电力系统的智能化、数字化和网络化提供了关键支撑。
工业级电压电流采集模块:±0.2%精度,隔离防雷防浪涌
电压电流采集模块是工业物联网、电力监测、工控系统中核心的信号感知与转换设备,核心作用是将现场的模拟电压/电流信号精准采集、处理后,转换为可被控制器、PLC、物联网平台识别的数字信号(或
AD8212 高电压电流分流监测器:特性、应用与操作原理
AD8212 高电压电流分流监测器:特性、应用与操作原理 在电子工程师的日常设计工作中,对于高精度、高可靠性的电流监测方案的需求始终存在。今天,我们就来深入探讨一款高性能的高电压电流分流监测器
CW32 电容式触摸按键设计指南
前言 CW32 电容式触摸按键设计指南向客户提供一种利用 CW32 内部资源结合软件编程实现电容式触摸按键有效 触摸检测的方法。本指南的内容重点在于工作原理、软件检测过程以及调试指引。
发表于 12-09 06:53
基于芯源半导体MCU cw32芯片制作的USB电压电流表
1、项目功能介绍
基于芯源半导体MCU cw32芯片制作 USB电压电流表
基于芯源半导体MCU cw32芯片+INA199芯片制作 USB电压电流表,精度1%。可以检测
发表于 12-02 06:39
CW32 MCU的工作电压、工作温度是多少?
CW32通用型MCU工作电压是1.65V~5.5V,射频MCU工作电压则是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW
发表于 11-12 06:49
INA232 高精度数字电流/电压/功率监测器技术解析与应用指南
Texas Instruments INA232电流/电压/功率监控器是一款16位数字电流监控器,具有兼容I^2^C/SMBus的接口。该器
电容降压式直流稳压电源__电容值&电流计算与稳压电路
廉、可靠性高、无干扰辐射等明显优势。本文给出了降压电容与输出电流的简单计算公式,并设计需求电流>30mA 的稳压电路,在交流输入上、下限电压
发表于 06-19 16:35
电压环路:电池 → 升压电路 → 降压电路 → 电池
因产品需要,设计电路产生了疑难问题。例如:一12v电池接DC-DC升压电路,电压升至18v。输出又接一DC-DC降压电路,降至12v,输出又接至电池。由于电压不可能精准等于理想
发表于 06-13 09:16
常规的电压电流测量方式有哪些?
常规的电压电流测量通常采用均值检波法、峰值检波法、真有效值法三种方式,本文对比每种方式适应场合以及优势。 一均值检波法 采用均值检波法将交流
CW32数字电压电流表软件进阶教程-2.电压电流值做均值滤波
评论