基于CAN总线的温湿度测量装置设计

时间:2022-08-07 01:16:11

基于CAN总线的温湿度测量装置设计

摘要:针对实验现场监测的特点,引入先进的现场总线技术,发挥计算机可靠的控制能力,给出了自主开发基于CAN总线的环境温湿度测量装置实现方法。该系统基于CAN总线,采用PICl8F458单片机作为控制器,并通过RS232串口实现上下位机通信。软件设计采用模块化程序设计方法,包括CAN总线通讯、现场温湿度采集、LCD显示模块等。系统运行稳定、可靠、操作简便。

关键词:CAN总线;温湿度测量;PICl8单片机;温湿度传感器

中图分类号:TP336 文献标识码:A 文章编号:2095-1302(2011)02-0082-03

0 引言

CAN是控制器局域网络(Controller Area Net―work,CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发,并最终成为国际标准(ISOll898)。是目前国际物联网应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议的专为大型货车和重工机械车辆设计的J1939协议。

近年来,其所具有的高可靠性和良好的错误检测能力受到重视,故其也被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。温湿度是一种最基本的环境参数,人民的生活与环境的温湿度息息相关,在工业生产过程中,通常也需要实时测量温湿度,在农业生产中也离不开温湿度的测量,因此,研究温湿度的测量方法和装置具有重要的意义。但是,温度和湿度两个各自独立的传感器和仪表往往给工作带来不便,而一体化的温湿度传感器与配套仪表则很受用户欢迎。曾有人试图设计一种既能测量温度,又能测湿度的单一敏感元件,但至今仍未能有一个能上市的,可见其难度之大。问题的关键是如何把两种功能参数区分开来。所以,全世界都在同一传感器内分别采用测温、测湿两种敏感元件。这样的温湿度一体化传感器的发展方向首先就是选用优质热敏和湿敏元件;其次是需要有先进的电路和测量、控制、显示等配套仪表;再次,需要能实现温湿度信息的远程传输。所以,本课题具有重要的应用前景。

1 器件的选择

1.1PICl8F458微控制器

PIC单片机系列是美国微芯公司(Microchip)的产品,是当前市场份额增长最快的单片机之一,其CPU采用RISC结构,分别有33、35、58条指令(视单片机的级别而定),属精简指令集。该控制器采用双总线的哈佛结构,运行速度快(指令周期约160~200ns),能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构可在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来,每条指令只需一个周期(个别除外),故其效率较高。此外,它还具有低工作电压、低功耗、驱动能力强等特点。PICl8系列单片机内含CAN控制器,可减小电路设计的难度。

1.2数字温湿度传感器的选用

DHTll数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它采用专用的数字模块采集技术和温湿度传感技术,具有很高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此,该产品具有品质卓越、响应快、抗干扰能力强、性价比高等优点。每个DHTll传感器都在极为精确的湿度校验室中进行了校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的过程中会调用这些校准系数。单线制串行接口可使系统集成变得简易快捷。且具有超小的体积、极低的功耗,信号传输距离可达20米以上,故其可作为各类应用甚至最为苛刻的应用场合的最佳选则。

1.3CAN总线收发器MCP2551

MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。MCP2551可为CAN协议控制器提供差分收发能力,它完全符合ISO一11898标准,包括能满足24 V电压要求,工作速率高达1 Mb/s。MCP2551的CAN输出可以驱动最小45 V的负载,最多允许连接112个节点(假设最小差分输入阻抗为20 kV和标称终端电阻为120Ω)。

2 系统硬件电路设计

2.1系统设计框图

本系统采用模块化设计,包括温湿度信号采集模块、CAN总线模块和显示模块。温湿度信号采集模块用来采集环境温湿度;CAN总线模块用来传输采集到的温湿度信号;显示模块用来显示温湿度值。系统的设计框图如图1所示。

2.2各模块电路设计

2.2.1数据采集模块

DHTll的1脚与电源相连,4脚接地,2脚为信号线,可将采集到的信号传给微控制器MCU,连接时需要一上拉电阻。3脚悬空,其电路如图2所示。

2.2.2CAN通信模块电路

本模块选用MCP2551作为CAN总线收发器,通过P1的2、3引脚与CAN总线连接。CAN通信模块电路如图3所示。

3 系统软件设计

系统软件设计包括上位PC机程序和单片机程序两个部分。PC机程序采用Visual Basic编写,用来显示温湿度值和控制下位机的运行。通信处理程序在Visual Basic中MSComm控件的基础上编制。MSComm控件提供有标准的事件处理函数和过程,通过修改相应的属性参数可方便地设置串行通信参数。单片机程序采用C语言编写。它既具有高级语言的特点,又具有汇编语言的特点,故可作为工作系统设计语言编写系统应用程序,也可以作为应用程序设计语言编写不依赖计算机硬件的应用程序。

系统软件设计流程如图4所示。主机先发送开始信号,DHT响应后读出温湿度,各CAN节点将采集到的数据传输到主节点,最后主节点将数据传输到上位机。

4 系统软硬件调试与结果分析

整个实验装置由一块温湿度采集卡、一块CAN总线通信卡和上位机监测软件组成。温湿度采集卡采集到温湿度信号以后,即通过CAN总线传输到通信卡显示温湿度值,同时通过串口通信传输到计算机。图5所示为温湿度测量装置示意图。

本设计的CAN总线通信速率设置为125 KB/s,传输距离在1 km以上。串口通信速率设置为9 600B/s。从实际测试结果可以看到,当环境温湿度值升高以后,所得到的温湿度随之增大。从表1所列的温度测量结果可以看出,测量值与实际值的最大误差为1.8℃,而DHTll标称的温度误差为±2℃,可满足精度要求。

5 结论

本文给出了一种基于CAN总线的温湿度测量装置的设计方法。该装置可应用于对现场温湿度的监控,而且具有简单易用,通信结果准确,误码率低等优点。

上一篇:Pt100热电阻传感器和S7-200PLC在炉温控制系统... 下一篇:西京电气总公司物联网相关产品