基于LabWindows/CVI多点无线温度数据采集系统设计
扫描二维码
随时随地手机看文章
摘要:给出了一种基于C8051F020单片机实现无线温度采集的系统方案。将AT24C16数据储存电路、AD590温度采集电路、实时时钟电路、无线收发模块和C8051F020控制电路置于采集环境中,采集到的数据可根据用户需要通过无线模块向主机发送,主机只需发送不同的控制命令,即可完成多点无线温度采集,然后主机再将接收的数据通过串口发给PC机,用户在LabWindows/CVI实现的PC机数据处理界面下,完成系统操作。实验结果表明,该设计很好地达到了设计目的。
关键词:C8051F020单片机;AD590;LabWindows/CVI;无线收发模块
测控软件开发平台Labwindows/CVI虚拟仪器在对数据采集、处理和分析方面得到了广泛的应用。本文介绍了一种基于C8051F020的温度采集卡和LabWindows/CVI虚拟仪器的多点无线温度采集系统,阐述硬件系统和软件系统实现多点无线温度采集的过程。硬件系统设计包括USB转串口、无线收发模块、温度采集等;软件系统设计包括用户界面、串口通信、无线发射、接收处理等。
1 整体方案设计
从机通过温度传感器AD590采集环境温度产生电流信号,该电流信号经信号调理电路完成I/V转换,送入单片机进行A/D转换,单片机将转化得到的信息保存到AT24C16中,同时保存时钟电路的实时时间。用户只需简单操作上位PC机软件界面,发出相应的控制指令,通过串口传给主机,主机发送地址和控制指令,若与某从机的地址匹配,则返回相应指令;若地址不匹配,则不做处理。主机收到相应匹配应答指令后,向从机发送温度传输指令,从机收到后,将保存在AT24C16中的信息发给主机。主机则将接收到的信息由串口传给上位PC机,用户只需在上位机操作界面进行操作就可以观察到相应区域的温度变化情况。当从机地址重叠,主机接收到错误信息时,可通过上位机发送新地址,修改从机地址,以确保区域内各个子系统的稳定运行。
2 硬件电路设计
2.1 硬件总体设计
整个系统主要由从机采集、存储和发射系统,主机接收和处理系统和上位PC机操作界面三部分组成。 从机部分由AT24C16数据储存电路、AD590温度采集调理电路、实时时钟电路、无线模块和C8051F020控制电路构成;主机部分由无线接收模块和串口转USB电路组成;上位PC机操作界面用于方便用户操作。系统总体电路(包括主机系统和从机系统)设计框图如图1所示。
2.2 从机部分电路
信息储存电路主要由AT24C16构成,AT24C16是具有I2C总线接口的E2PROM,其存储容量为16 KB,字节地址空间为0~2 047。AT24C16的数据输入引脚有过滤外部扰动信号的作用,在智能控制中广泛用于常数、重要参数、系数参数的存放。
温度采集部分采用AD公司的AD590单片集成两端感温电流源,它是利用PN结正向电流与温度关系的原理制成的,具有良好的互换性和性能稳定,使用方便,抗干扰能力强,输出阻抗高等优点。将AD590的输出信号转化为电压信号,处理后送给单片机A/D采样,如图2所示。
实时时钟电路采用Dallas的高性能、低功耗、带RAM的I2C总线的串行时钟/日历芯片DS1302。I2C总线通过使能交叉开关配置在C8051F0 20的P0.0(SDA)和P0.1(SCL),并加上拉电阻4.7 kΩ,完成DS1302的初始化和时间数据的传输。
无线模块由PT2262编码电路、PT2272解码电路和315 MHz无线发射模块组成。PT2262/2272是PTC公司生产的一种CMOS工艺、低功耗、低价位通用编解码电路,PT2262/2272最多可有12位(A0~A11)三态地址端管脚(悬空、接高电平、接低电平),任意组合可提供531 441个地址码,本系统从机地址码固定且不同,且从机地址码和主机地址码均由单片机控制。PT2262最多可有6位数据端管脚,设定的地址码和数据码从17脚串行输出。当PT2262的17脚为高电平时,315 MHz的高频发射电路起振并发射等幅高频信号,当17脚为低电平时,315 MHz的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。实际运用时要注意PT2262每次发射时至少发射4组字码,PT2272只有在连续两次检测到相同地址码加数据码时才会驱动相应的数据输出端为高电平和驱动VT端同步为高电平。
2.3 主机部分电路
串行通信是一种适用于两机之间的通信,通过通信接口,两机的发送、接收口按照预定的串口地址、传输速率(波特率)、数据格式、校验方式、传输方向完成数据交换。其中RS 232串行通信端口是计算机中常见的总线形式,在测量测试和仪器控制的过程中大量使用。然而现在笔记本电脑很少有串口,大多数PC机提供USB接口,所以系统采用了一种基于PL2303HX芯片的USB转串口的方法。PL2303HX是Prolific公司推出的USB转RS 232接口的转换芯片,能解决RS 232全双工异步串行通信与USB功能接口的连接,支持完整的RS 232接口,可编程波特率,并可为外部串行口提供电源,且低功耗、低成本。
3 软件设计
软件设计部分分为单片机程序设计和LabWindows/CVI程序设计两部分。系统总体流程图如图3所示。
3.1 单片机程序
单片机程序分为主机系统程序和从机系统程序。
主机程序主要包括数据的无线发射、接收和串口通信。从机程序主要包括温度、时间采集,AT24C16芯片的读/写和无线发射、接收。
MCU与上位PC机通信协议如下:
串口设置:RS 232C或TTL电平、115 200 b/s、8位数据位、1位停止位、无奇偶位;MCU UART端接收来自上位PC机的控制指令,也向上位PC机传输来自各个从机采集的温度数据。MCU端发送数据约定如下:
格式:0x55 Temperature Hour Minute Second;其中:0x55为数据头;Temperature为从机实际采集的温度数据;Hour Minute Second为从机采集温度数据的时分秒信息,变量类型均为字符型。
上位PC机向主机MCU发送的数据格式如下:
格式:0xAA ChannelAddress;
其中:0xAA为数据头,ChannelAddress为上位PC机要求上传温度数据的从机地址,变量类型均为字符型。
如果上位机需要更改从机的地址信息,则发送命令格式如下:
格式:0xBB ChannelAddressA ChannelAddressB;其中:0xBB为数据头;ChannelAddressA为上位PC机要求上传温度数据的从机原地址;ChannelAddressB为上位PC机要求上传温度数据的从机新地址,变量类型均为字符型。
3.2 LabWindows/CVI上位PC机界面程序
LabWindows/CVI有许多标准函数库。串口通信设计时,采用RS 232函数库提供的串口通讯控制函数和I/O函数。用户通过选择界面上相应区域的按钮,按下温度采集按钮,此时上位PC机发送一次该区域温度采集指令,下位机则传送该区域存储的温度数据,上位机将收到的温度数据保存到数组中,再通过画图函数绘制动态温度曲线。该上位PC机软件操作界面可以将不同从机的温度数据显示在同一界面上,方便用户进行温度数据对比。实际显示效果如图4所示。
4 结语
本系统在硬件和软件上都很好地实现了既定要求,既能够修改从机地址码,又能动态显示温度情况,对不同区域的温度采集也较为准确,操作界面便于管理人员使用。实验结果表明,以无线收发装置取代电缆线传输数据,可降低功耗,节约成本,安装简单灵活,灵敏度高,可靠性强,可移植性强。空旷环境下,无线传输距离超过150 m;遮挡情况下,无线信号可绕过多层建筑物。可以增加中继站,以增加传输距离。数据编码组数可以任意扩展。