关于A/D采样值 ->送显示平滑处理思想求助?

2020-02-09 11:29发布

我使用的单片机是dspic30f2012 A/D产考基准采样的是MC1403 -> 2.5V 在电力系统中有1.2倍过载也就是X * 1.2 = 2.5v 单片机A/D最高被限定在2V。但单片机采样不了负极性,加1V偏移。12Bit A/D采样满度值就变成了±1638;如果想显示满度值866.0W  有:1638*21655>>12; ≈8659.8 这样处理是因为单片机内部含有16bit乘法器。处理除法要稍慢些。有此系数带来的就是A/D每变化一个字,显示值就变化了5个字!相对误差为0.6‰虽然可以达到技术要求但是5个字的蹦字看着难看!软件滤波方法不用说(采样频率6.4K,采样128点去掉一个最大值一个最小值平均,1s输出5次结果);我的问题来了,有什么样的思想可以稍微牺牲点响应速度,让显示值为一个字蹦字的假象!在输入信号不变的情况下,显示值尾数是±1为变化的范围还是5。要不然我也不会问这样的问题,刚在市场上买了一块表。也是用12位A/D的单片机处理的。回来测试,加上信号源。显示却很平滑。跳字范围也是5个字,但是他是以±1的循环变化。虽然响应速度有所下降,但是这种低价位的表,对于使用者来说没什么。希望处理过的同志给点思想!

前级采样的是时分割乘法器

(原文件名:plx.png)
Proteus仿真

(原文件名:dspic33fj32gp204.png)
Altium PCB

(原文件名:754.png)
硬件已经固定

(原文件名:752.png)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
my2009
1楼-- · 2020-02-10 05:55
【4楼】 wangqh1983
------------------------------------------
“滑动平均"----就是这个意思, 我设想一个算法:

*   6.4k的采样频率, 取得8个AD值后平均AD值, AD_x=(AD0+AD1..+AD7)/8
*   AD_x 转换为显示值 disp_x

*   buf[pi++]=disp_x,   pi&=0x1f,   ----- 将这个disp_x值存入数组最后一位(不用移动数据, 只需改变指针)
*   disp_w = (buf1[0]+...buf[31)/32
*   显示 disp_w

   数据例子:  disp_x1=disp_x2....    =disp_x20=1000  ---->
               disp_x21=disp_x22......=disp_x32=1005  ---->   20个1000, 12个1005 数据跳变
   disp_w=(1000*20+1005*12)/32=1001.8 ------ 这个数跳变小一些

*  适当改变 参数 "32"  和 "8",  看一下什么数更合适


你的图画的很漂亮
wangqh1983
2楼-- · 2020-02-10 11:02
回复【7楼】my2009
-----------------------------------------------------------------------

谢谢你的回复。我看明白了,你的方法是比方先用8个AD值平均,之后处理成显示的数据转存成32个缓冲区,进行递推!这个方法不错。我之前也用过N次AD值平均,之后在把N次结果进行递推但是效果不好。把显示值再进行处理是个不错的方法!
buf[pi++]=disp_x,   pi&=0x1f;这个语句很好。我一直都在用 pi %= 32;与语句应该更快些!3D模型模型只是业余爱好。其实对于某个行业使用的元器件不会太多。处理过一次,一劳永逸了。而其对于装配我觉得会给用户节省时间。
gx_huang
3楼-- · 2020-02-10 11:43
做假的显示也是容易的,以前也做过。
先采取低通滤波,取得最新测量值:
1、当测量值和上次显示值差距比较小,则显示值不变
2、当测量值和上次显示值差距适中,则显示值加1或者减1
3、当测量值和上次显示值差距比较大,则显示值=当前测量值,否则用户会怀疑,还认为反应速度慢
以上是3档处理,也可以多分几档。
经过处理,输入快速大变化,显示实时更新,当输入慢速变化,显示也慢速变化,输入不变,即使测量值有变化,
显示也基本稳定。
mcu5i51
4楼-- · 2020-02-10 12:25
 精彩回答 2  元偷偷看……
wangqh1983
5楼-- · 2020-02-10 13:58
回复【10楼】mcu5i51 学途浪子
-----------------------------------------------------------------------

不要只说名称啊,既然能说上两句,何不好人做到底提供/讲一下思想!欢迎大家多多讨论。俺是个拙人,愿洗耳恭听!或者坛里已有此类的回复;知道链接的方便的话贴出来……
wangqh1983
6楼-- · 2020-02-10 15:39
帖子顶起来!高手们多多发表一下自己的看法;小弟愿闻其详……

一周热门 更多>