额温枪查表算法.doc

额温枪查表算法.doc

ID:57311042

大小:89.50 KB

页数:3页

时间:2020-08-11

额温枪查表算法.doc_第1页
额温枪查表算法.doc_第2页
额温枪查表算法.doc_第3页
资源描述:

《额温枪查表算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、额温枪查表算法目前额温枪这个东西特别火,所以大家都在搞这个事情,那我也来蹭个热度吧。大概的工作原理:热电堆传感器->ADC->MCU->LCD显示。其实原理很简单,那比较麻烦的事情就是温度补偿和校准的事情了。这个需要太多专业仪器,繁琐,这里不多说。那其实简而言之,就是传感器,ADC采集出来之后运算,就得到了温度。那从传感器采集到的数据是什么呢?现在大部分用的都是热电堆传感器,这种传感器检测到红外热射信号后,会将该信号转换成模拟数据传出来。传出的信号有2种信号,一种是热敏电阻NTC,另一种是热电堆电压。只要有这两个数据,就能推算出温度。这

2、里可以推算出来的温度一共有两种,一种是环境温度,一种是物体表面温度。环境温度主要通过热敏电阻NTC的值来算,表面温度主要根据环境温度和热电堆电压来算。那怎么算呢?首先,ADC采集到热敏电阻NTC的值后,这时候需要去查V-T表。这个表一般是传感器厂家提供的。就是热敏电阻值和温度的对照表。如下左边是温度,对应右边热电堆的电阻值。所以ADC采集到热电堆电阻值后可以根据这个表来反推到温度,这个温度就是环境温度。当如,采集出来的电阻不可能说刚好是表上的值,比如23度对应106.9320,24度对应104.5436.那如果采集出来的值在这个之间,那

3、肯定不能近似等于23度或24度。这里需要根据这4个值做一个计算。这个热电堆电阻的变化曲线随温度变化近似为一次函数,如下:可以简单理解为一次函数,2个点的坐标就能求出这两个点上的所有点。这就是算法需要做的。这个算法在文章会附上。那只要我们得到热电堆电阻,然后查表查出在哪个区间,保留这个区间的4个数值,就可以计算到热电堆值对应的具体温度。当然,精度根据算法来。本算法只保留小数点后1位,也就是说只精确到0.1。热电堆查表算法如下:uint16_tgst_algorithm_get_T_from_R_T(uint16_tinput_r){   

4、uint8_txdatai=0;   uint16_txdatarst=0,temp1=0,temp2=0;if(input_r>temp_form_R_T[0])   //不在区间{      returnOVERFLOW_RETURN_L;}   elseif(input_r

5、ni*10;      }     elseif(input_r==temp_form_R_T[43])      {         return43*10; }elseif((input_rtemp_form_R_T[i+1]))   {//找到对应区间rst=(((i+1+32)*temp_form_R_T[i]-(i+32)*temp_form_R_T[i+1]-input_r)*10)/(temp_form_R_T[i]-temp_form_R_T[i+1]);    

6、     returnrst;      }   }   return0;}这里只测量温度从0-43度之间,超过该范围则认为是异常值,不做处理。temp_form_R_T数组就是存储的热电堆的电阻值,从0-43,共44个数。这里所有的电阻值扩大了100倍,方便计算。毕竟MCU最好不要运算浮点,比较慢。同样的,热电堆电压值也根据同样的方式计算,就能得到目标的温度。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。