注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
Tobey的个人空间 https://home.eeworld.com.cn/space-uid-719346.html [收藏] [复制] [分享] [RSS]
日志

AD转换所得温度值波动的缓解方法

已有 2059 次阅读2016-10-9 18:48 |个人分类:硬件开发_嵌入式编程| ADC, 温度, 稳定, 均值


/******2016.10.07***********/
开发环境:
开发工具:keil V5.20,
硬件设备:STM32F103C8T6,ADS1248,PT100
问题描述:
基于ADS1248,借个PT100温度传感器,实现了7个通道的AD转换。
根据查表法,使用串口将AD值对应温度逐个打印出来,发现温度数值
波动较大,于是对AD值进行多次取平均数操作,每次获取温度时,
连续进行10次AD转换,将取得的10个温度值取平均值得到最终温度,
此时波动在0.1度左右,在进行PID调节时对PID输出结果产生累加影响,
为此,希望将温度值的波动范围再次缩小。
问题出处:
虽然对10个温度值进行了取平均操作,然而在两次取平均值操作之间
直接造成一个梯度,,前10个温度值温度较低,后10个温度值温度较高,
此时得到的两个均值之间将存在一个梯度,,

其它缺陷:由于每次获取温度都将进行10次AD转换并取均值,因此,
每次对通道进行控制将十分耗时!
解决方法:
采用填充式的方式取均值,将第一次获取到的温度×10存储为all并返回
温度值x;此后,每次获取温度值时返回x = (all - all/10 + x) / 10,通过
这种方式获取到的温度值波动范围仅为0.01左右(本人测试结果),,
贴张图,直观些:



评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章