基于CAN总线的智能型温湿度采集系统设计
扫描二维码
随时随地手机看文章
摘要:设计一种基于CAN总线的智能型温湿度数据在线采集系统。该系统主要由两大模块构成:现场数据采集模块和USB-CAN转换接口模块。现场数据的采集是以AT89S52单片机为核心控制单元,外接温度传感器AD590和湿度传感器HM1 500,通过CAN总线控制器SJA1000将数据发送到CAN总线上;USB-CAN转换接口模块是以ATmega 162芯片为控制单元,外接FT245BM USB通信芯片及sJAl000控制器,实现USB—CAN接口转换。整个系统的终端设备为监控PC机,用户软件采用VC++语言编写,可以实现现场状态监控、上下限报警和中断接收数据管理等功能。
关键词:CAN总线;单片机;数据采集;USB-CAN接口转换
0 引 言
温湿度监测系统是在环境试验、科学研究(诸如种植、养殖、生物工程、化工工程)、工业生产等领域应用广泛的现场环境控制系统。它能模拟各种环境条件,即按照实际要求精确控制环境的温度和湿度,为研究不同的生化过程创造了良好的环境条件。因此,温湿度监测系统广泛应用在科研、现代农业、医药、冶金、化工、林业、环境科学及生物遗传工程等领域。
为了满足化学工业过程对环境条件的需求,我们在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温湿度监测系统。该系统由数据采集模块和接口模块组成。其中数据采集模块采用了以单片机AT89S52为核心外接传感器的结构框架,保证了系统对现场温湿度信号采集的实时性和准确性。而接口模块则采用了处于当前通信领域前沿的USB-CAN转换接口模块,为整个系统的实时性提供了坚实的通信保障,而且笔者认为这种通信方式已经成为了工业化通信的发展方向。
1 温湿度采集模块的硬件电路设计
温湿度采集模块的硬件电路由CAN总线的SJA1000控制器、TJA1050收发器、温度传感器ADS90、湿度传感器HM1500和单片机TA89S52芯片组成,其电路框图如图1所示。
1.1 温度检测电路
温度检测电路的核心采用美国AD公司生产的二端式集成温度-电流传感器AD590,该器件体积小、重量轻、性能稳定,且非线性误差小和校准方便、互换性好、功耗极低、适合于动态温度测试和远距离测温。温度信号采集电路设计如图2所示。
在传感器输出信号处理方面,由于被测量含有一定的干扰信号,所以采用放大器芯片LM324和稳压管D对被测信号进行二次处理。AD590的电源电压范围为4~30 V,可以承受44 V正向电压和20 V反向电压,因而即使反接也不会损坏器件。稳压管D1连接可调电阻用于保证A点(即放大器反相端)的输入电压;稳压管D2限制了电源所提供的电压电流,通过连接可调电阻,保证了B点(即放大器同相端)的输入电压,而且适当地改变R8和R9的电阻值,可以改变输出电压的线性放大倍数。
1.2 湿度检测电路
湿度检测电路采用集成温度传感器HM1 500,其输出电压在1~4 V间随温度线性变化。由于该设计采用的是单电源结构,湿度信号采集电路设计如图3所示。
线性电压输出式集成湿度传感器HM1500采用湿敏电阻HS1101设计制造,其湿度测量范围为5%~99%(相对湿度);相对湿度精度为3%;工作温度为-30~+60℃;工作湿度范围为O%~100%(相对湿度);供电电压为5 V(最大电压为DC 16 V);可输出DC电压为1~4 V;响应时间为5 s,适用于动态温度测量。
由于该电路中没有负压,电路的主体采用差分式减法电路。通过设置R3,R4,R6,R7这四个精密电阻可调节增益,其输出电压的计算公式为:
图3中R1可以用来消除由于传感器差异而带来的误差。
2 CAN总线接口电路
本系统选取PHILIPS公司CAN总线控制器SJA1000以及收发器TJA1050,考虑到SJA1000是一种独立的CAN总线控制器,同时支持CAN 2.OA和CAN 2.0B协议,通信速率可达1 Mb/s,能够完成通信协议的所有要求。JA1050是CAN总线控制器与物理总线之间的接口,是一种标准的高速CAN收发器,其可以为总线提供差动发送性能,为CAN控制器提供差动接收性能。SJA1000主要负责数据链路层的工作,把发送缓冲器的信息经过处理后送到TJA1050,数据经过处理后放到接收缓冲器等待微处理器的读取,CAN总线接口电路框图如图4所示。
3 USB-CAN转换模块接口电路
由于计算机没有专用的CAN总线接口,所以需要设计一个模块单元将CAN总线上的数据转换成USB接口数据,模块的一端接监控计算机的USB接口,另一端接CAN总线网络接口。本系统设计选用Atmel公司的ATmega 162芯片。总线控制器SJA1000实现CAN数据的发送和接收,接收方式仍采用中断方式;USB通信控制芯片FT245BM实现USB数据的发送和接收;ATF16V8负责对两个接口芯片得地址进行编码。USB-CAN转换模块结构框图如图5所示。
4 系统软件设计
系统软件主要包括:监控PC机通信处理软件、温湿度控制算法软件和现场测控节点数据采集与处理软件。软件系统采用模块化设计,分成若干相对独立功能模块,并为各模块安排适当的入口和出口参数,使得模块之间的相互连接组合灵活方便。系统软件模块主要由数据采集、温度传感器的线性化校正、键盘输入、测量数据显示、输出控制、CAN总线通信等组成,各模块在监控程序的调度下协调工作。
4.1 通信处理软件
采用Window XP SP3作为平台、VC++语言进行编程。包括系统参数设置、监控状态设置、数据发送和接收、本机状态查询、上下限报警、中断接收数据管理等功能模块。监控PC机首先对CAN总线适配器及自身进行初始化,然后发送命令通知特定节点向CAN总线上发送数据,通过CAN总线适配器转换后,由监控PC机根据实际情况进行相应处理,监控PC机采用定时循环扫描方式向各节点发布命令,采用中断方式接收数据。
4.2 节点软件
节点软件由初始化、数据发送和数据接收三部分组成。初始化程序放在主程序的最前端,考虑到系统对程序运行效率的要求,数据发送和数据接收采用中断方式进行。当监控PC机请求数据采集时,将采样点所在区域的温湿度和CAN节点状态等数据传送给上位计算机,完成温湿度传感器的采样和控制算法。
5 结 语
基于CAN总线的智能型传感器实现了对工业过程中温湿度的自动测量,为实现自动化远程温控湿控、保持环境温湿度符合工艺要求提供了高效的测控手段。USB-CAN数据转换的使用,使数据的传输速率远远超过了传统的RS 232转换,而且支持“热插热拔”,使用方便,具有广泛的应用前景。