APP下载

基于C8051F040的CAN总线温湿度数据采集系统设计

2015-01-28姜久超郭玉霞王红艳刘海波刘婉慈

电子设计工程 2015年19期
关键词:粮库温湿度报文

姜久超,郭玉霞,王红艳,刘海波,刘婉慈

(1.河北工程技术高等专科学校 河北 沧州 061001;2.渤海理工职业学院 河北 黄骅 061100)

随着计算机控制技术的迅速发展,现场总线控制技术已经越来越广泛地应用于各行各业中。我国是一个产粮和储粮的大国,如何安全绿色储粮是关系到国计民生的重大事情。在众多大型仓储粮库中,通过单片机实现粮食存储过程中的温湿度监测,其测控的点数一般是几十个,如果扩展的测控点数多大几百甚至上千时,单片机控制系统从存储空间、巡检速度上都无法达到控制要求。而CAN总线具有开放性、高驱动能力、成本低、容易实现等优点,且其在一定的传输距离内,传输速率高、抗电磁干扰能力强,这为CAN总线应用在粮库温湿度测量中打下了基础。

在粮库粮食存储过程中,由于受地区、气候条件、存储仓的结构形式和材料、粮仓通风条件等的影响,粮仓内粮食的温湿度极易发生变化,如果监测不够及时和准确,很容易导致粮食发霉和腐烂,针对这种情况,必须对粮食的温湿度参数进行监测。大型粮库检测点数量大,传统的温湿测量精度低,抗干扰能力差,智能化、数字化程度低,远程监控联网功能差,不能满足现代粮库对粮食存储和管理的需求。而CAN总线应用在粮库温湿测量中,现场众多检测点的问题得以解决,同时能实现实时检测和智能分析,数据能进行显示、保存和上传为保证粮食的存储质量起到了重要的保障作用。本文以CAN总线为核心设计了智能温湿数据采集系统,在应用于粮库粮食温湿度测量中,实现了粮食温湿参数的智能测量、处理、显示和记录,对粮库参数精确测量提供了有力的帮助。

1 温湿度采集系统的构成

基于CAN总线的温湿数据采集系统采用上位机加智能测量节点组成[2]。系统组成框图如图1所示。

1.1 CAN总线

图1 系统结构框图Fig.1 System structure diagram

CAN总线是一种多主方式的控制总线,在汽车电子、自动控制、智能仪表、楼宇自动化等领域,是应用最广泛的一种总线。CAN总线上的节点不分主从,在任意时刻均可向网络上的其他节点发送信息;根据实时性的要求不同,总线上的节点又可分成不同的优先级,优先级高的数据传送时间不超过134 us,当多个节点同时向总线传送数据时,优先级别低的节点自动退出;CAN总线通信的报文采用短帧结构,传输时间短,受干扰概率低,保证了通信低出错率;CAN通信的每帧信息都有CRC校验及其它检错措施,保证了数据传输的可靠性;CAN总线的传输介质可为双绞线、光纤等,传输距离最远为10 km;CAN总线协议已被国际标准化组织认证,是国际标准的现场总线,结构简单,开发容易,器件标准化,具有较高的价格性能比[1-3]。

1.2 系统工作原理

如图1所示,系统由传感器、智能节点、CAN收发器和监控主机组成。传感器由温度和湿度传感器组成,实现粮库温湿度的测量,并把信号传输给智能节点。智能节点由集成了CAN控制器的单片机C8051F040和CAN接口组成,完成对数据的采集并把数据传送至总线。CAN收发器是总线与上位机之间的接口,实现对总线上数据的接收和发送并与上位机实现通信。上位机接收数据实现对整个网络的监控同时还要实现对系统参数的设置及对下位智能节点发送控制命令。

2 系统硬件设计

2.1 温湿检测器件

1)温湿度传感器的选择

温度检测传感器采用DS18B20。DS18B20是一款单总线数字式温度传感器,它能直接将温度信号转换成数字信号,不需要模数转换(A/D转换),也没有采样、量化和编码的过程,能极大简化电路的硬件设计。它结构简单,体积小,测温范围在-10~85℃范围内精度可达±0.5℃。其封装简单,只有3个引脚:VCC,GND和DQ。其中DQ是数据输出端,GND是接地端,本方案中其为外部供电模式,引脚VCC与外部电源相接。

湿度检测传感器采用SHT71。SHT71湿度传感器是一款智能型数字式温湿传感器,它集温湿传感器、信号放大处理电路、A/D转换、I2C总线与一个芯片上,并具有免调试、免标定的特点,同时具有长期稳定性好、功耗低、体积小、分辨率高等优点。相对湿度的测量范围0-100%,响应时间8 s。SHT71结构形式为表面贴片封装,其管脚有4个:GND,VCC,DATE,SCK。其中GND为接地端,VCC为供电电源端,DATE为双向串行数据端,SCK为串行时钟输入端。

传感器接口电路如图2所示。

图2 传感器与单片机连接图Fig.2 connection of SCM and sensor

2)湿度传感器的非线性补偿

SHT71湿度传感器的输出为非线性的相对湿度数字信号,为了得到较为准确的湿度信号就需要对其非线性进行补偿,补偿公式为:

式中:RH为线性补偿后的湿度值,SH为湿度传器的输出值,C1,C2,C3为线性补偿系数。

线性补偿系数C1,C2,C3的取值在湿度转换精度为12位时分别为:-4,0.0405,-0.0000028。

由于湿度测量时温度对其影响较大,而实际测量温度和传感器测试时的温度25℃也不一定相同,所以湿度测量值在经过线性补偿后还要进行温度补偿,补偿公式为:

式中:RHT为温度补偿后的湿度值,SH为湿度传器的输出值,T为测试湿度时的温度值 (℃),RH为线性补偿后的湿度值,t1,t2为温度补偿系数。

温度补偿系数t1,t2的取值在湿度转换精度为12位时分别为:0.01,0.00008。

3)温湿度传感器的使用注意事项

使用DS18B20温度传感器需要注意的问题:

①当使用传感器的数量增加时,就要考虑单片机总线的驱动能力。由于加入4.7 K上拉电阻后,相当于把所有温度传感器挂在了一条总线上,受单片机总线驱动能力的影响,本系统中经过试验验证单片机每个I/O口所挂接的传感器数量只要不超过30个,温度就能正常转换。

②由于所用DS18B20的数量较多,为了能正确读出其转换值,必须保证有严格的读写时序。

③连接DS18B20的总线电缆的长度有一定要求,当采用屏蔽电缆时,总线长度可达150m,当连接长度超多此值时,就要考虑总线电容和阻抗对测量带来的影响。

使用SHT71湿度传感器需要注意的问题:

①在采用信号电缆与单片机连接时,信号电缆的长度和质量将影响湿度传感器的响应时间和供电电压的质量。经实验证明,信号电缆越长,传感器响应的时间越长,超过一定值后就需要增加单片机的驱动能力,一般电缆的传输距离在10 m;同时由于电缆长度和电缆电容的变化,会影响传感器的供电电压质量,造成传感器输出误差增加,一般可以通过降低电缆长度、增加去耦电容等来改善供电电压的质量。

②单片机与SCK相连接的I/O口应设置成输出模式控制湿度传感器的时钟。多个SHT71同时使用时,其SCK控制端可以共用。

③为了避免温度增加给是度测量带来的误差,SHT71在工作时必须避免阳光直晒或高温等场合,其转换频率也不宜太高,再用烙铁焊接时也应避免烙铁和管脚的接触时间不超过3秒。

2.2 C8051FO40单片机

C8051F040在指令上完全与MCS-51单片机兼容,但其集成度更高、运行速度更快,与MCS-51单片相比,其具的特点为:有与51兼容的CIP-51内核,运行时钟可达254MHz;2.7~3.6V低电压供电,输入端口兼容5V电平,输出端口有开漏和推挽模式,共有64个多功能I/O端口;其内部集成了局域网(CAN2.0)控制器,12位和 8位 ADC模块各一个,12为DAC模块 2个;有 64KBFlash ROM,256字节片内内存和4KB片外内存。

2.3 CAN总线收发器PCA82C250

PCA82C250是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力。它具有完全符合ISOll898标准,主要特性:高速率(最高可达1Mb/s)、瞬间抗干扰能力、未供电节点不干扰总线、斜率控制以降低射频干扰(RFI)、差分接收器具有抗宽范围的共模干扰和抗电磁干扰(EMI)、可连接110个节点、低电流待机模式[4][7]等特点。其接口电路如图3所示。为保证其抗干扰性能,在传输通道中增加了两个完全隔离的光电耦合器件。

图3 总线接口电路Fig.3 Bus iterface circuit

2.4 上位机接口设备

上位监控显示机采用PC机,其与总线之间通过CAN/USB转换器,连接至CAN总线收发器PCA82C250。CAN/USB转换器现在市场型号很多,这里采用一款CANUSB智能双路转换接口,其特点为:遵守CAN 2.0A和 CAN2.0B协议且兼容USB1.1和USB2.0总线;支持两路独立控制的CAN通道接口;传输速率在5 Kbps~1 Mbps之间可选;传输线采用双绞线,光电隔离接口;可直接使用USB总线电源,无需外部供电。

3 软件设计

CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,根据节点信息优先级的不同,其数据传输最多可在134μs内完成。本采集系统中,CAN总线将现场检测的温湿度信号传送到上位机,同时上位机通过CAN总线实现对下位机数据采集和传送的控制信号传递。

3.1 现场主机程序设计

程序流程框图参见图4所示。现场主机程序功能主要是从传感器检测到现场参数送显示并通过CAN总线上传至上位机。程序首先要初始化,主要包括:液晶初始化、晶振初始化、A/D初始化、CAN初始化等,进入主程序后完成参数检测功能,根据需要调用各功能子程序,如果有中断,完成相应的中断服务程序,从而实现数据的采集、显示、传输及控制。

CAN初始化程序主要实现CAN工作时的参数设置,主要包括工作方式的设置、控制寄存器和位定时寄存器的设置、接收滤波方式的设置、中断允许寄存器的设置、波特率的设置等。

3.2 CAN通信程序设计

通过CAN控制器实现报文的接收和发送,接收子程序负责节点的报文接收,发送子程序负责节点的报文发送任务,对报文发送和接收既可以采用查询方式也可以采用中断方式,本系统采用中断方式。如图5所示为报文接收程序流程图,图6为报文发送程序流程图[5-6]。

图4 程序流程图Fig.4 Program flow

在报文发送和接收程序中由于采用中断方式,所以在主程序中初始化中必须使能发送和接收中断,再中断服务程序中,判断是否有发送和接收中断标志,如果有,则相应进入到发送或接收程序,完成报文的发送或接收。

4 结束语

该温湿度测量系统完成了以C8051F040单片机为核心的CAN智能节点的设计,并通过CAN总线实现了与上位机的通信,并把其应用于存储玉米粮库中进行温湿度测量监控,实践应用中证明其能较准确反映粮库的温湿度,精度较高。同时该系统具有较高的抗干扰能力,稳定性高,参数采集实时化、智能化程度高,同时由于采用总线结构,系统布线的工作量大大减少,尤其在数量较多的检测点中优势更加明显。该系统在粮库温湿度测量中,还应注意测量点的均匀性,从而保证测量参数能正确反映粮库内的实际参数,为控制粮库内的参数及保证粮食的品质打下一个良好的基础。

[1]罗惠,叶湘滨.基于CAN总线的库房温湿度控制系统[J].沈阳工业学院学报,2004,23(2):45-47.LUO Hui,YE Xiang-bin.Acontrol systme of temperature and humindity for depot based on CAN Bus[J].Journal of Shenyang Institute of Technology,2004,23(2):45-47.

[2]张颖超,杨宇峰,叶小岭,等.基于CAN总线的温室监测系统的通信设计[J].控制工程,2009,1(1):103-104.ZHANG Ying-chao,YANG Yu-feng,YE Xiao-ling,et al.Design of communication for greenhouse monitoring system based on CAN Bus[J].Control Engineer,2009,1(1):103-104.

[3]史久根.CAN总线系统设计技术[M].北京:国防工业出版社,2004.

[4]EISELEH.Application note PCA82C250/251 CAN transceiver[M].Philips semiconductors,1996:83-91.

[5]邱成鹏.基于CAN总线与CVI的粮情检测系统的设计与实现[D].北京:北京邮电大学,2009.

[6]宫筱霞.基于CAN总线智能多参数监控系统 [D].南京:江苏大学,2010.

[7]刘海波.基于TMS320LF2407A的数据采集系统[J].仪表技术与传感器,2014(1):100-102.LIUHai-bo.CANBus IntelligentMulti-ParameterMeasurement and Control Based in TMS320LFLF2407A [J].Instrument Technique and Sensor,2014(1):100-102.

猜你喜欢

粮库温湿度报文
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
浅析反驳类报文要点
粮库竣工
粮库里的机器人
基于温湿度控制的天气预测装置
智能化粮库现场见闻
蒸发冷却温湿度独立控制空调系统的应用