基于CAN信息采集的温室环境控制系统设计
2020-11-06冀宇航苗凯武东升
冀宇航 苗凯 武东升
摘 要:CAN作为当今最流行的现场总线技术以其高可靠性,低成本和实时性等优点被广泛应用于自动控制领域。文章主要介绍了基于CAN总线的多机通信。使用基本模型设计了一个基于CAN信息采集的温室环境控制系统,采用BasicCAN模式,该系统智能节点通过AT89C51单片机作为中央控制芯片。通过CAN总线的智能节点作为载体而传输和控制,不仅可以实时采集外界数据,控制外部设备,而且可以通过CAN总线与上位机通信,拓展了系统的功能,使得该系统具有较高的稳定性和可靠性。
关键词:AT89C51单片机;CAN总线;多机通信;BasicCAN模式
中图分类号:TP273 文献标识码:A 文章编号:2096-4706(2020)13-0167-04
Abstract:As the most popular field bus technology,can is widely used in the field of automatic control because of its high reliability,low cost and real-time performance. This paper mainly introduces the multi-computer communication based on CAN bus. Using the basic model,a greenhouse environment control system based on can information collection is designed. The BasicCAN mode is adopted. The intelligent node of the system uses AT89C51microcontroller as the central control chip. The intelligent node of CAN bus is used as the carrier to transmit and control. It can not only collect the external data in real time and control the external equipment,but also communicate with the host computer through CAN bus,which enhances the function of the system. The system has high stability and reliability.
Keywords:AT89C51 single chip microcomputer;CAN bus;multi-machine communication;BasicCAN mode
0 引 言
随着自动检测技术和计算机技术的发展,温室的气体控制技术也得到了发展,随着我国温室的种植面积的迅速增加,在温室中引入智能管理系统将有效提高农作物的产量和质量。我国温室种植的技术水平及产业化程度都比发达国家落后程度较大,其中最明显的就是在温室环境的控制技术方面,因此需要一种适用于农业环境的低成本,高性能的通信系统。基于河北农业大学农业科研基地的优势,为了弥补现有温室环境控制系统的不足,本人结合相关所学知识,运用CAN信息采集,建立更适应数据收集管控、不会影响网络的工作,并且响应速度快、可靠性高的温室环境控制系统。本文从硬件、配置参数等方面,详细地介绍了用于温室环境控制的CAN信息采集系统的设计。
1 温室环境控制的CAN信息采集系统的网络拓扑结构设计
1.1 管理中心设计
温室大棚需要实时监测各种信息,所以在管理中心里面放置了一个主服务器和3个备用服务器,防止服务器出现故障。
一般环境采集系统网络连接均采用总线型接法,但是各个温室大棚之间通信距离较远而且位置较分散所以在组网过程中采用了网控器[1]。网控器作为组网的关键设备,将各种传感器节点等终端与服务器连接起来[2]。所有的网控器也全部位于管理中心内,这种设计有利于网控器的集中管理和维护,如出现问题能及时发现和排除。
1.2 通信距离和传输速率设计
通信距离和传输的速率之间存在关系,速率越低通讯距离就越远,也就是说CAN总线的通讯距离和波特率成反比,标准波特率可以参考如下对应关系,如表1所示。
由于所有主网控器都位于管理中心内,因此与主干的距离相对较短,主干的通信速度为250 Kbps。主网控器干线速率可以大大提高服务器对终端传感器节点的响应速度,并实时提高系统的响应能力。网控器一方面连接到服务器,另一方面连接到终端的采集节点构成的子网[3]。如图1中的网控器2和网控器3分别与号温室大棚和3号温室大棚相连,通信速率为100 Kbps。网控器1与1号温室大棚相连,通信速率为50 Kbps。整个系统网络是一个树形结构。
1.3 终端设计
终端的作用就是实时采集大棚里面的信息,为了做到全面检测,各个大棚里面的需要采集的節点很多,那么就要在保证系统正常运行的情况下,尽可能多的多分配采集节点的ID,BasicCAN模式ID长有限制,但这个系统仍然可以采集十余个采集节点信息。
1.4 网络拓扑结构图
系统的网络拓扑图如图1所示,采集节点将采集的信息通过网控器上传到服务器上,用户通过登录服务器,就可以得到相应信息。
2 CAN协议设计和系统网络参数配置
2.1 CAN协议设计
从图1的温室环境控制的CAN信息采集系统网络的拓扑结构图可知,构成系统网络的主要设备是服务器,备用服务器,网控器,采集节点等。系统网络的关键之一是这些网络设备的标识符的分配以及参数的建立,例如屏蔽代码寄存器(AMR)和验收代码寄存器(ACR)[4]。
系统网络设备参数的配置如图2所示。参数配置的一个重要方面是分配11位标识符,标识符是唯一标识网络设备类型和位置的识别码。ACR和AMR只能对八位进行滤波屏蔽,所以低三位是控制命令字段。标识符按表2进行分配。
2.2 系统网络参数配置
ID.10~9共2位标识符分配给服务器,最多可接4台服务器。服务器一般应位于干线上,否则会使网络的复杂性大大增加。图2中服务器的ID为1000 0000 XXXB(最低3位为控制命令字段,用于指明是什么操作)。另外,干线上除了接有服务器和网控器外,一般不直接连接终端,所有终端均通过网控器转接。该设计不算是大型设计,所以使用一级网控器就可以。ID.8~7共2位分配给网控器,网控器的一端接在干线上,另一端与子网相连。如图中网控器1(ID为1001 0000 XXXB)和网控器3(ID为1011 0000 XX XB)。
接在由网控器构成的子网中,同时该子网中也接传感器采集等终端。终端分配ID.6~3,如图中采集节点1温度传感器节点(ID为1001 0001 XXXB)、采集节点3湿度传感器节点(ID为1011 0011 XXXB)。
由于各个终端节点的ID以及通信命令都不同,所以并不会使服务器的工作产生混乱,先把服务器ID设置为1000 0000 XXXB,那么网控器和部分终端节点ID分配如表3所示。
3 硬件智能节点的软硬件设计
3.1 硬件设计
本文档中描述的智能CAN总线系统节点使用AT89C51作为微处理器,而在CAN 总线通信接口上,CAN通信控制器使用SJA1000和CAN总线接收器PCA82C250。CAN总线系统智能节点硬件电路原理图如图3所示。
根据CAN总线系统智能节点硬件电路原理图分析,电路主要由四部分组成:82C250CAN收发器,AT89C51单片机,SJA1000CAN独立通信控制器和6N137高速耦合器,AT89C51单片机控制SJA1000的初始化和接发信号等任务。在原理图中对大棚的二氧化碳采集节点设计进行说明,二氧化碳传感器MH-Z19模块的T(TXD)接单片机的RXD二氧化碳传感器的R(RXD)接单片机的TXD,二氧化碳的VCC连接单片机的VCC,GND连接单片机的GND。
SJA1000的AD0~AD7连接到AT89C51的P0.0~P0.7,而CS则连接到AT89C51的P2.0,可以为SJA1000选择CPU的外部存储器的地址,通过CPU能够执行对应于SJA1000的RD、WR和ALE的读取和写入操作,并与AT89C51的对应引脚连接。SJA1000的INT与AT89C51的INT0连接起来,AT89C51也可以通过中断方式访问SJA1000。
SJA1000的TX0和RX0并非与82C250的TXD和RXD直接相连,而是运用6N137与82C250相连,从而来加强CAN的节点的抗干扰性,更好实现节点的隔离。但是,应该注意的是,耦合部分电路中使用的两个VCC和VPP电源系统必须完全隔离,否则耦合将毫无意义。电源的完全隔离可以通过小型电源的隔离模块或绝缘电源大于5 V的开关电源模块实现,进而增加了节点的稳定性和安全性。
在与CAN总线的接口上还采取了安全和抗干扰措施。82C250的CANH和CANL引脚通过5 Ω电阻连接到CAN总线,该电阻可实现电流限制和可以保护82C250免受过大电流的冲击。CANH和CANL将两个30 pF小电容与地面并联在一起,以滤除总线上的高频干扰并提供一定的电磁辐射防护。将防雷管分别安装在罐式总线的两个入口端与地面之间,并通过防雷管进行排放,在两端之间出现瞬时干扰时起到保护作用。瞬态干扰是电磁兼容领域(尤其是波)中干扰的主要形式之一特别是雷击浪涌波,由于持续时间短,脉冲幅度数值大和能量大,对能保证正常运行的电子电气设备构成了极大的威胁。82C250中的RS引脚接着斜率电阻,其大小可以根据总线通信速度进行调整,通常在16~140 KΩ之间。
3.2 软件设计流程图
软件节点设计,例如在二氧化碳传感器的终端节点的情况下,根据数据采集系统的特性,系统各个节点之间和节点与上位机的距离较远,并且系统集合具有实时数据采集,实时控制,数据存储等功能。
单个节点模块的软件设计思想是:电初始化,实时数据采集,数据处理。图4显示了节点计算机程序一次接收和发送消息的流程。
4 结 论
CAN通信网络促进了全局优化控制的改进,并在控制温室大棚气体方面充分发挥了电气控制单元的作用,温室计算机智能控制系统是现代农业的首要驱动力,其具有广阔的应用空间和发展空间,本文所设计的基于CAN信息采集的温室环境控制系统,通过增置多个单片机作为下位机,可实现多参数的同时快速测量,减少多参数测量在生产生活的工作量,具有一定的实际应用价值。
参考文献:
[1] 姜幼卿,左国华,陈勤学,等.基于CAN总线的温室自动控制系统的通信设计 [J].仪表技术与传感器,2005(4):60-62.
[2] 姚世凤,冯春贵,贺园园,等.物联网在农业领域的应用 [J].农机化研究,2011,33(7):190-193.
[3] 马国俊.物联网核心技术及其在农业领域的应用 [J].江苏農业科学,2012,40(11):390-392.
[4] 邬宽明.CAN总线原理和应用系统设计 [M].北京:北京航空航天大学出版社,1996.
作者简介:冀宇航(1998.07—),男,汉族,河北顺平人,本科在读,研究方向:物联网工程;苗凯(2000.06—),男,汉族,河北保定人,本科在读,研究方向:物联网工程;武东升(1999.10—),男,汉族,河北张家口人,本科在读,研究方向:数据科学与大数据技术。