原标题:基于Matlab的小型温度检测系统设计
1 前言
温度是表征环境的一个重要的参数。在工程领域,尤其像工程热力学等,温度检测非常普遍,对温度精确测量以便实时控制也显得尤为重要。
在控制系统中,上位机与下位机之间实现通信的方法和应用平台很多。目前,以VB和VC开发的通信软件较多,然而,这类软件虽然功能完善,但是到计算机后要进行各种处理(例如滤波,系统辨识,曲线拟合等)就显得不方便,编程比较复杂。Matlab具有强大的数据处理能力及功能丰富的工具箱,被广泛的应用于信号处理、自动控制等领域[1]。它编程语言简单易学,利用简单的命令就可以代替复杂的代码,极大地提高了开发效率。
本实验基于Matlab环境下设计了一个小型温度检测系统,下位机使用AT89S和完成温度数据采集,上位机在Matlab环境下,调用设备控制箱serial类操作RS-232串口,用串行通信方式交换数据,进而借助Matlab对数据进行分析和处理,得到了温度随时间变化的函数解析式,同时介绍了基于Matlab环境下PC机与串行通信的实时数据处理的实现方法。
2 系统总体设计
图1 系统结构图
温度检测系统的整体结构如图1所示。PC机串口与单片机USART口通过MAX232电平转换芯片相连,构成一个主从式通信系统。系统工作时,单片机对串口和DS18B20初始化,在读取温度的同时等待中断。PC机通过调用Matlab设备控制工具箱中的serial类及相关函数来创建对象,并以读写文件的方式实现对PC机串行口的访问,PC机通过Matlab向串行口发送特殊指令从而触发单片机,单片机调用中断服务例程,读取即使温度并将采集的数据通过串行口回送给PC机。此时,Matlab通过查询的方式,实时接收单片机发送的数据,并完成对数据的分析处理及图形显示。
3 下位机部分
下位机部分由AT89S51单片机和DS18B20温度构成,主要负责温度数据的采集工作,并