微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于MSP430和VB的温度监测系统设计

基于MSP430和VB的温度监测系统设计

时间:10-18 来源:互联网 点击:

进入21世纪,人们对科学生产、自动化服务有了更深的认识,温度监测更是在很多领域备受关注。传统的实地数据测量局限于测量方法单一测量数据不连续,并且时效性差,随着计算机技术、嵌入式技术、通信技术的发展,在线实时监控系统已经越来越多的运用于我们的日常生活中,对提升生产生活水平具有重要意义。

近年来随着工业和农业现代化发展,智能化生产已经是一种生产趋势,高速发展的嵌入式技术是其中主要的推动力。针对目前集群现场温度采集,提出使用单片机自动采集和上报温度数据,省去人工采集环节,而且保证了数据实时性和完整性。而MSP430单片机由于具有超低功耗,低成本,处理能力强,运算速度快等特点,成为了工业数据采集的一个很好的选择。

1 系统总体设计

温度监测系统由1台计算机,1片MSP430F149单片机作为主控芯片,若干DS18B20采集温度组成,系统总体设计结构图如图1所示。

各监测点的DS18B20由单片机逐个发送相应指令负责采集现场温度数据,然后通过RS232串口通讯发送给上位机,上位机负责接收和显示采集到的温度信息,并将采集到的温度按时间先后绘成对应的折线图,此外,可以通过上位机随时发送召测指令获取当前温度数据。

2 监测系统硬件设计

2.1 温度传感器

温度传感器与单片机连接硬件结构如图2所示。

温度传感器模块采用DS18B20,工作电压范围是3.0~5.5 V,在寄生电源方式下可由数据线供电,它的测量温度范围为-55~+125℃,支持”一线总线”接口,每个DS18B20的光刻ROM中出厂前就被光刻64位序列号,可以看作是它的地址序列码。光刻ROM的作用是使每一个DS18B 20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

2.2 主控芯片选择

主控芯片采用美国德州仪器公司的16位单片机MSP430F149,其工作电压为1.8V~3.6V;CPU运行正交的精简指令集;MSP430F149具有5种低功耗模式;它还具有丰富的片上外围模块,其16位定时器Timer A具有4种工作模式,可同时进行多个捕获/比较功能;2个串行通信接口

USART0与USART1;FLASH存储器多达60 KB,擦写次数可达10万次。

2.3 电源模块设计

电源模块设计,主要采用输出电压固定的低压差三端稳压器LM2940将输入8~12 V电压稳压至5 V输出,由MSP430F149芯片的工作电压决定需要再进行一次稳压,这里选用AMS1117的固定输出3.3 V版,再将5 V电压稳压至3.3 V给主控芯片供电。具体稳压电路如图3、图4所示。

2.4 通讯接口设计

RS232接口采用美国EIA(电子工业联合会)与BELL等公司一起开发并于1969年公布的通信协议。该总线广泛使用在微机数据终端设备DTE和数据通信设备DCE之间。微机配备RS232接口不仅可以与多种仪器和外设连接,而且通过它还可以在两台微机之间进行近程和远程的通信。 RS232采用的是负逻辑,所要求的电平不是TTL电平,但系统的其它数字硬件都采用TTL电平,因此,两者通信时,必须有相应的电平转换电路。本系统采用MAX232接口芯片,它可以满足TTL向RS232和RS232向TTL电平转换的功能。

3 监测系统软件设计

3.1 DS18B20软件设计

本设计是多个DS18B20并联监测各点温度,所以每次采集温度之前需发送读取ROM指令读取对应DS18B20的序列号,确定采集点,然后发送温度转换指令,等待温度转换完毕后,读取所测定的温度。具体程序流程如图5所示。

3.2 下位机软件设计

温度检测系统需要定时将采集到的温度数据上报给上位机,本系统采用MSP430F149的16位定时器Timer B的增计数模式,当计数到跟TBC CR0一样的时候,就返回0,重新计数,同时产生一个中断标志,触发对应的计数中断程序,将温度数据发送给上位机;同时为了能随时召测到实时温度,若上位机向单片机发送指令,则触发串口中断,进入中断服务程序,读取对应检测点温度并发送给上位机,或者将对应数值赋值给定时变量,若没有检测到串口中断则进入低功耗模式。具体程序流程如图6、图7所示。

3.3 上位机软件设计

本系统上位机软件是使用Microsoft公司的VisualBasic6.0编写,主要使用MSComm控件实现PC机和下位机进行通信,将下位机测得的温度上传到PC机中,同时也通过上位机向下位机发送召测指令(本系统设计指令为255。),获取实时温度;然后使用MSChart控件将上报的温度数据依时间先后绘成折线图,最后,用到timer控件,记录温度上报时间。

4 系统测试

首先打开上位机软件,点击“打开串口”按钮打开通讯端口,接着给下位机上电,然后设置召测时间间隔,本系统测试时间设置为30分钟,伴随实时发送召测指令获取当前温度量,测试结果如图8所示,对应温度计测量结果如

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top