刘传茂,王 熙
(黑龙江八一农垦大学 工程学院,黑龙江 大庆 163319)
农机数据采集传输系统的设计与实现—基于CAN总线
刘传茂,王熙
(黑龙江八一农垦大学 工程学院,黑龙江 大庆163319)
摘要:随着CAN总线的发展应用,越来越多的农业机械开始装备使用CAN总线,采集农机CAN数据对于农机作业运行及故障维修的应用研究具有重要意义。农机CAN总线数据采集传输系统,能够实时采集、解析、传输农机CAN总线数据信息,且可将数据传输到PC机进行数据处理和数据分析。为此,详细介绍了基于单片机、CAN控制器及CAN收发器的农机CAN总线数据采集传输系统,并给出了硬件设计和软件实现。试验表明:该系统将发动机转速、油耗、经纬度、高程等数据解析并传输存储,在实际应用过程中,系统可靠性好,信息准确、运行正常。
关键词:农机数据;数据解析;控制器局域网;CAN
0引言
近年来,随着我国农业机械化、现代化的迅速发展,农机总量、农机作业水平及信息化技术应用水平不断提高,对提高农业生产效率、增加粮食产量发挥了重要作用[1]。拖拉机、收获机及喷药机等农机是实现农业机械化和现代化的重要动力机械。电子控制技术已逐步应用到这些农机各个系统中,如发动机控制系统、动力输出系统、后悬挂系统及驾驶操作系统等。为适应农机电子控制设备的应用需要,控制器局域网 (CAN总线) 应运而生[2]。CAN总线是一种串行多主站控制器局域网总线,主要原理是把车身上相关控制器都联系起来,实现发动机控制器、变速箱控制器、车身控制器及其它控制器的通信[3]。车身CAN网络中包含有农机车身状态信息数据及农机作业时的各信息数据,对农机CAN数据采集并解析可以得到农机的作业状态信息。
本文探讨了基于CAN总线的采集传输装置设计和实现,详细阐述了系统的整体设计、硬件电路设计及软件设计流程。所开发的系统装置用于在农机作业过程中实时采集农机 CAN总线数据信息,并对数据进行筛选解析,然后通过RS-232串口通信传输到PC机,同时将数据存储在 U 盘中,可运用 PC 机上的软件对数据进行分析。该设计实现了现场传输和U盘存储同时进行的模式,克服了以往现场数据采集系统必须有1台PC机的模式,可了解农机作业期间各种数据信息变化,同步记录作业状态,在农机长时间作业以后,存储的数据可用于分析农机行驶性能的运行情况和作业情况。
1系统的总体设计
由于CAN总线本身良好的功能特性, 已经广泛应用到现场数据采集系统、汽车制造以及农业等领域内[4]。本文所设计的基于 CAN 总线数据采集传输系统应用在进口的大马力农机上,对农机CAN 网络数据进行采集和传输存储。考虑到系统功能的需求,整个系统由主控制器、CAN控制器、CAN收发器、RS-232模块及U盘存储模块等组成,如图1所示。
系统工作时,CAN接线与农机CAN接口相连,采集农机CAN数据信息。该系统不仅可以采集CAN数据信息,还可以将CAN数据解析并传输存储。其中,传输既可以采用实时有线传输,也可以通过GPRS模块实现实时无线传输。同时,解析后的数据可以实时存储到U盘中,方便以后对农机数据进行分析。
2系统硬件设计
按照整体设计, 系统硬件电路主要由以下几大模块组成:主控制器模块、CAN 接口模块、电源模块、RS-232串口通信模块及无线传输存储等模块。
图1 系统结构框图
本系统主控制器采用是STC89C52RC单片机,是由宏晶科技公司生产的一款具有低功耗、高性能8位CMOS微控制器,成本低廉比较容易获得,可采用C语言进行程序编程,易于维护升级。主控制器是整个系统的核心,主要负责整个系统的初始化设置和数据的采集,还可进行数据的筛选解析以及数据传输。其主要特性如下:
1)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz(满足数据采集要求)。
2)用户应用程序空间为8kB,片上集成512kB RAM(满足功能需要)。
3)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,直接通过串口下载用户程序,数秒即可完成(程序维护升级简便)。
4)工作温度范围:-40~+85℃(工业级,满足工作环境要求)。
CAN接口模块主要是由CAN控制器模块和CAN收发器模块组成的,整个接口模块主要负责对农机CAN网络上的数据进行接收采集。本系统的CAN控制器选用的是SJA1000,是一种常用的CAN控制器,能够兼容CAN2.0B扩展帧,而且易于学习和开发[5]。SJA1000提供了与主控制器之间的数据线接口,其工作状态的设置和控制是由主控制器来编程实现的。CAN收发器选择PAC82C250,为SJA1000与农机CAN物理总线之间提供了数据线接口。其将CAN物理总线上接收的信号转换为SJA1000可以接收的电平信号,然后SJA1000将CAN报文数据发送给主控制器进行相关的处理。
本系统的电源依靠农机配备的12V蓄电池电源,为了保证给整个系统一个稳定的电压,采用了稳压电源电路。因为主控制器及CAN接口模块需要5V电压稳定供电,所以设计使用一个LM7805稳压器将12V转变为5V电压,并使用了一个容值为0.1μF的电容来消除高频干扰,使输出的5V电压稳定纯净。其电路如图2所示。同时,在电路中增加了两个单向二极管,用来防止电压过大或正负极颠倒而损坏系统电子元件。考虑到LM7805在工作过程中的散热问题,实际使用中,设计安装与其匹配的散热片,加速散热,增加LM7805的使用寿命。
图2 稳压电源电路图
本系统中,选用MAX232作为串口通信的主芯片,完成系统的通信传输及主控制器的程序下载烧写[6]。MAX232采用DIP16封装,为了防止干扰,在芯片引脚上接入电容。芯片一边引脚与单片机相连接,另一边引脚与DB9相连,实现系统串口通信功能。串口部分电路图如图3所示。
3系统软件设计
本文系统中,主控制器功能程序软件编程是基于STC89C52RC单片机开发的。软件编程开发采用的是Keil C51单片机C语言开发工具软件。从整个系统的性能维护、编写周期、程序改进等各方面考虑,程序软件采用模块化的设计方式,同时采用C语言来进行编程。包含系统主控制器的初始化设置、CAN控制器SJA1000的初始化设置、串口通信的初始化设置及数据的采集解析传输等功能程序。其中,设计了一个看门狗复位程序,使系统在突然死机的情况下,能够复位重新工作。图4是系统整体程序的设计流程图。
图3 串口模块电路图
图4 整体程序流程图
在完成整体系统及实现数据采集功能之前,需要先对CAN控制器进行初始化设置,即根据所要实现的目的功能对相关的寄存器进行初始化设置。针对本文系统所使用的CAN控制器SJA1000进行初始化,包括对其工作模式的选择、中断系统的设置、CAN波特率的设置及验收滤波器的设置等。这些初始化设置实际上就是对SJA1000内部相关的寄存器进行的写操作[7]。SJA1000首先进入复位模式, 然后对相关寄存器进行初始化工作;在相关寄存器初始化工作完成以后,退出复位模式,进入操作模式,完成整个CAN控制器的初始化工作。图5是SJA1000初始化程序流程图。
图5 SJA1000初始化流程图
数据采集程序主要负责对农机CAN网络中的数据进行采集,在处理采集数据的同时,要对错误报警、接收溢出及总线关闭等情况进行处理。
本系统中,CAN控制器SJA1000报文的接收方式采用中断接收,在有农机CAN信号传输后,触发中断程序,CAN收发器将采集的信号传输到CAN 控制器SJA1000,SJA1000开始接收报文。农机CAN数据采集程序主要是读取总线中断、错误和溢出状态;打开接收缓存器读取报文;缓冲区释放等过程。
主控制器对采集到的CAN数据根据ISO11783协议[8]和CAN总线协议,进行相应的ID筛选,得到发动机信息、地理位置信息及时间信息等数据帧,然后按照相应的协议进行具体实际参数值的解析传输[9],从而得到农机作业时具体各参数值。
4系统的田间试验研究
本系统实现的功能就是能够采集农机CAN数据,并将采集到的CAN数据,按照农机ISO11783协议进行相应的筛选、解析,从而得到农机发动机及作业数据的实际参数值。在系统研究设计完成后,考虑到农机作业环境比较恶劣,故对系统进行田间农机作业数据采集试验研究,以便使整个系统的稳定性、功能性及实用性更加完善和稳定,达到实际应用的要求。
试验地点为荣军农场,隶属于黑龙江农垦总局九三分局,位于嫩江县与讷河市交界处;田间试验地块为荣军农场十五连队的第十四号地,地块面积大约30hm2。
试验所用车型为约翰迪尔7830型拖拉机,车身配备有CAN总线网络、CAN物理接线口及星火GPS设备,将设计的系统通过接线与拖拉机上的CAN物理接线口相连接,使系统与拖拉机CAN网络连接起来,从而可实现CAN数据的采集。
启动拖拉机,开始进行整地作业,同时系统上电工作,开始采集并解析农机CAN数据。
解析后的农机作业数据可以通过GPRS无线传输到PC机中,也可以同时存储到U盘中,然后将U盘中的数据拷贝到PC机中,用于农机作业数据的分析处理。U盘中传输得到的数据是以.txt为扩展名存储的,每条记录包括日期、时间、经度、纬度、高程、发动机油耗、转速、发动机负荷率、后悬挂状态及发动机工作小时数等。表1是存储的试验作业数据。
表1 试验记录数据
从表1可以看到:本文设计的系统能够实现采集农机CAN数据,并经过解析传输存储得到了农机作业实际参数值,然后对这些作业数据进行分析处理。本文采用MatLab工具软件作为农机作业数据分析处理的工具,首先把U盘中存储的.txt文档的数据提取到EXCEL表格中,然后导入MatLab软件中,对其中的经度、纬度、高程及发动机油耗等参数进行变量设置。利用MatLab分析软件强大的数据可视化功能,进行分析处理得到农机作业轨迹图、作业轨迹与高程变化图及作业轨迹与油耗变化图等,进而对其作业时的状态进行检测分析。
图6是农机田间作业时的轨迹图。由图6可以看到农机在这一地块作业时的轨迹路线,对作业的GPS轨迹进行分析,根据作业时的幅宽,进而计算出作业面积。
图7是农机作业轨迹与高程的变化图。其中,颜色的变化代表高程的变化。从图7中可以看到作业地块地势的变化、地块高程变化的范围及整个地块一个大致的平均海拔。
图8是农机作业轨迹与发动机油耗的变化图,同样颜色的变化代表油耗的变化。从图8中可以清晰地看到农机在进行整地作业时发动机的瞬时油耗和作业时油耗的范围大小。对得到的所有油耗数据进行统计计算,可以得出作业这一地块需要消耗多少的油量,从而进一步分析作业的经济性。
图6 作业轨迹图
图7 作业轨迹与高程变化图
图8 作业轨迹与油耗变化图
5结论
详细介绍了农机CAN数据采集传输系统的设计,并基于农机ISO11783协议对农机CAN数据进行筛选解析,最后传输存储得到农机作业时的日期、时间、经纬度、高程、发动机油耗、发动机转速等实际参数值。同时,通过MatLab软件分析处理,直观地得到了关于拖拉机的作业行驶状态,为进一步的统计分析奠定了基础。在对得到的部分数据进行分析处理过程中,深感农机作业数据采集的重要性,随着CAN总线技术应用及精准农业的不断发展,农机作业数据对农机管理运营必将有更重要的应用。
参考文献:
[1]黎运宇,李明.我国农业机械化新技术应用与展望[J].中国农机化学报,2014(3):296-301.
[2]侯占峰,鲁植雄,赵兰英,等.CAN总线技术在拖拉机上的应用展望[J].农机化研究,2006(10):184-186.
[3]鲁植雄,王文伟,袁越阳.基于CAN总线的拖拉机虚拟仪表系统设计[J].农业装备与车辆工程,2010(2): 3-6.
[4]纪朝凤,刘刚,周建军,等. 基于CAN总线的农业车辆自动导航控制系统[J]. 农业机械学报,2009(S1): 28-32.
[5]崔巍.基于CAN总线技术的智能汽车系统的设计[J].装备制造技术,2012(8):263-265.
[6]李俐,谢显中.基于CAN总线的行车记录仪设计[J].计算机工程与设计,2009(22):5120-5123.
[7]于成毅.CAN总线数据记录仪的研究与设计[D].太原:中北大学,2011.
[8]周建军,郑文刚,李素,等.基于ISO 11783的拖拉机导航控制系统设计与试验[J].农业机械学报,2010(4):184-188.
[9]刘传茂,王熙.基于CAN总线的拖拉机作业数据解析[J].农机化研究,2015,37(10):254-257.
Design and Implementation of Agricultural Machinery Data Acquisition and Transmission System—Based on CAN bus
Liu Chuanmao, Wang Xi
(College of Engineering, Heilongjiang Bayi Agricultural University, Daqing 163319, China)
Abstract:With the development of CAN bus, more and more agricultural machinery equipment is equipped with CAN bus. Collect agricultural machinery CAN data, which is very important for the agricultural machinery operation and application research of maintenance.Agricultural machinery CAN data acquisition and transmission system can real-time gather the information of agricultural machinery CAN-Bus as well as parse and storage data.Farther, the system transfer data to PC and uses it to process and analyze the measure. This paper presents the agricultural machinery CAN data acquisition and transmission system based on microcontroller, CAN controller and CAN transceiver and sets forth its hardware and software. The experimental studies show that the system parse and transmission of storage engine speed, fuel consumption, latitude and longitude, elevation, etc. In the actual testing process, the system reliability is good, the information is accurate, the operation is normal.
Key words:agricultural machinery data; controller area network;data parsing; CAN
中图分类号:S242
文献标识码:A
文章编号:1003-188X(2016)12-0207-05
作者简介:刘传茂(1990-),男,山东汶上人,硕士研究生,(E-mail)408029753@qq.com。通讯作者:王熙(1962-),男,山西新绛人,教授,博士生导师,(E-mail)ndwangxi@163.com。
基金项目:“十二五”国家高技术研究发展计划项目(2013AA040401);
收稿日期:2015-10-30
黑龙江八一农垦大学研究生创新科研项目(YJSCX2015-Y13);黑龙江省大庆市项目(szdfy-2015-28)