高分辨率温度采集算法优化

上传人:飞*** 文档编号:6455354 上传时间:2017-09-11 格式:DOCX 页数:3 大小:13.78KB
返回 下载 相关 举报
高分辨率温度采集算法优化_第1页
第1页 / 共3页
高分辨率温度采集算法优化_第2页
第2页 / 共3页
高分辨率温度采集算法优化_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《高分辨率温度采集算法优化》由会员分享,可在线阅读,更多相关《高分辨率温度采集算法优化(3页珍藏版)》请在金锄头文库上搜索。

1、 高分辨率温度采集算法优化摘要:本文表述一种高效、实用的高分辨率的温度采集算法,适用于低成本 8位单片机(本文所用单片机为为意法半导体 STM8L152K4T6) ,以实现空调高精度控制。除了温度采集外,此算法适合其他非线性的模拟量采集,提高采集分辨率。关键字:AD 采集;单片机;STM8L152K4T6;高分辨率;非线性引言随着生活质量的提高,人们对空调控制要求越来越精确。传统 1分辨率的控制精度已经不能满足要求。单片机也越来越强大,集成 10bit、12bitADC 的单片机也已经很普遍,让低成本、高精度、高分辨率温度采集成为现实。1 传统方法优缺点分析第一种是直接查表法。表中的值为温度值

2、,根据 AD 采样值,直接查表得出温度值。此方法可以很好解决模拟量的非线性问题,同时处理速度快。最大缺点是无法做到高分辨率。8bitAD 采样,表格大小为 256byte,10bit 就会变为2*1024byte,12bit 的话 2*4096byte。表格巨大,制作难度也大。第二种做法,将温度曲线分为 8 段,求出每一段的线性表达式,将得到的系数存为表格。每段进行线性计算。此方法可以做到很高的分辨率,而且不需要表格。缺点是,人为分的这 8 段,每一段假定为线性,单并非真实的线性,整数部分可能出现偏差,同时由于系数往往不是整数,因此此方法计算量大,8 位单片机运行负担较重。2 二分查表求值法结

3、合两种方法的优点,可以做一个新的算法。整数部分通过查表求得,保证准确,小数部分线性插值,提高分别率。此方法可以无需很大的表格,可以得到 0.1 度的分辨率。下面以 12bit AD 为例,表述具体实现方法。2.1 表格制作:区别与传统方法,按照 AD 值,做温度表,表格中存放温度值;此法是根据温度值,做 AD 值的表,表格中存放的是 AD 值。如 25 度为 10K,通过计算就可以得到 AD 值:1830 。以此类推,-20100做 121 个值的表格 Tab121(int 型),占用空间 242byte。表格的大小由温度点个数决定,不受 AD 分辨率影响。2.2 具体算法:2.2.1:得到

4、AD 值2.2.2:查找整数部分表格内的值不能举尽所有 AD 采样值,所以无法直接查表得出对应温度。最简单的方法是得到的 AD 值同表格内的的值比较一遍,直到 Tabi TempADTabi-1)TempInt = i-1;break; 此方法有遍历表格中的每一个数据,速度较慢。因此采用二分法来进行快速查询。首先 AD 值比较表格中 Tab0Tab120中间的数据 Tab60,如果 AD Tab60,就比较 Tab60Tab120数据中间数据 Tab90,如果 AD TempAD) TempMin = TempCal;/取上半部分,得到最小值else TempMax = TempCal; /取

5、下半部,达到最大值TempCal = TempMin + TempMax;TempCal = TempCal1 ; Temp = TempCal*10; /整数部分2.2.3:计算小数部分Tabi 、Tabi+1间隔为 1 度,在一度范围内可认为阻值随温度线性变化,对这一度进行插值计算。ADBuf = Tabi+1 -Tabi实际 AD 值与 Tabi的差值ADBuf2 = AD - Tabi所以小数部分可以计算TempDecimal = 1*(ADBuf2/ ADBuf)取合适的小数位数。最终 Temp = TempInt + TempDecimalBuf1 = TempADTabTempC

6、al+1;Buf2 = TempADTabTempCal;Buf1 = Buf1 - Buf2;if(ADCVal TempADTabTempCal) Buf2 = ADCVal - TempADTabTempCal;else Buf2 = 0;Buf2 = Buf2 * 10;Buf1 = Buf2 / Buf1; /小数部分Temp = Temp +Buf1;整个计算占用时钟周期约 400 个,分辨率为 0.1。结束语市场要求空调的控制越来越精确,但是在成本压力下,能充分利用传统的8 位单片机的资源得到更精确的控制,在不增加成本的前提下得到更精准的控制,无意是最好的选择。本文提出的方法 AD 采集的整数部分通过查表得到,小数部分相当于把每个温度点分成一段,进行插值计算,所以既有查表的准确,又有插值的分辨率,而且计算量中等。既满足高精度的要求,有对单片机的性能要求不高,是一种不错的折中选择。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号