EDN China > 设计实例 > 测试与测量 > 系统测试 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于LM3S101处理器的温度测量模块设计

电子设计工程 西安工业大学 张峰 石现峰 张妮?? 2010年12月08日 ?? 收藏0

?  1.4模块硬件电路设计

  以ARM处理器LM3S101为核心,结合上述热敏电阻阻值获取原理,给出该测温模块核心部分电路原理图,如图2所示。

模块硬件电路设计

  由图2可看出,按上述的电容充放电热敏阻值检测原理进行硬件设计,核心部分电路较为简洁,避免了传统方式中A/D器件的应用,达到了简化硬件电路设计,降低硬件成本的目的。同时,这种设计又不过多占用处理器的I/O端口,对处理器资源的占用也较少。由于这种方式在阻值获取时需处理器具有较高的计数精度,而在阻值到温度值转换时需处理器具有较强的运算能力,因此选用LM3S101进行核心处理,其20MHz的时钟频率及ARMCortex-M内核集成的硬件乘法单元对此有很好的保证。电路图中,其他部分简要说明:SP6201是集复位功能于一体的低压差线性稳压(LDO)器,将5V电源转换为处理器LM3S101所需的3.3V,同时产生处理器工作所需的复位信号。电阻RF、RT、RS和电容C6构成RC充放电电路,用以实现热敏电阻阻值的检测,与处理器通过PA2、PA3、PA43个GPIO接口相连。LM3S101的10和ll引脚使用其UART功能,连接至电平转换电路,以实现模块通过串口的通信及温度数据发送功能。

  2数据处理及软件设计

  2.1热敏电阻测温曲线的线性化处理

  热敏电阻的测温曲线反映了热敏电阻阻值与被测温度值之间的关系,由Steinhart-Hart方程确定:

  Steinhart-Hart方程确定

  式中,RT是热敏电阻在T1温度下的电阻值;R是热敏电阻在常温T2(T2=25℃)下的标称电阻值;B值是热敏电阻的材料常数;T1和T2为开尔文温度。

  由Steinhart-Hart公式可知热敏电阻的阻值温度特性曲线是一条非线性的指数曲线,直接使用该方程运算量大并且编程麻烦,需要进行线性化处理。由于该方程非线性程度较大,同时阻值到温度值的转换也是影响测温精度的主要原因之一,为使线性化处理不至于带来较大的误差,线性化过程进行了以下特殊处理:

  1)如果用一条直线代替该指数测温曲线,则不管采用什么样的线性化处理方法,误差都比较大。为解决这一问题,在整个测温范围之内对该曲线进行了分段的线性化处理,使误差能够控制在合理的范围内;

  2)分段线性化时,对测温曲线的分段采用非等间隔分段,在曲线非线性程度较小的区域内采用5℃分段间隔,在曲线非线性较为严重的区域内,采用较小的1℃分段间隔,以减小处理误差;

  3)在每一段测温曲线的线性化处理中,采用最小二乘法确定直线方程,以减小直线拟合的均方误差。

  实测结果证明,采用上述的线性化处理方法,可以有效提高处理精度,大大减小线性化处理的误差,保证测温的精度要求,同时运算速度也能得到保证。

  2.2测温数据的滤波处理

  测温模块工作过程中不可避免会受到噪声干扰。为减少测温过程中噪声干扰信号,特别是突发噪声的影响,提高测温模块的工作稳定性,需要结合滤波算法对测温数据进行滤波处理。这里采用简单的加窗平滑低通滤波的方法,即连续测量N个值,取平均后作为测量的有效值,即:

测量的有效值

  在具体的应用中,N越大对数据的平滑越好,但N过大会降低测温的速度和灵敏度。经实际试验,选择N=5~10之间较为合适,可在计算速度和平滑滤波效果之间取得较好平衡,实际应用中,可根据具体的测温要求进行合理设置。

  2.3测温模块的软件设计

  以上述的数据处理思路为基础,结合串口通信编程及必要的初始化处理工作,即可进行测温模块的软件设计。完成一次温度测量及测温结果传输的主流程如图3所示。

主流程

  整个模块的软件设计编程基于Cmssworksl.7开发环境进行,将整个程序的核心部分划分为4个函数进行设计,即:1)主函数,完成系统参数配置、端口初始化及滤波处理等功能;2)测温函数,完成热敏电阻的阻值获取,并将其转换为实际的温度值;3)测温结果传输函数,完成测温结果通过串口的发送传输功能;4)串口接收函数,通过串口接收控制指令,完成测温间隔时间、串口通信速率、平滑滤波加窗宽度、及测温结果显示格式等工作参数的设置。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

LM3S101? 温度测量? 热敏电阻? RC充放电?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈