夏衍,李军伟,单坤山
(1.255049 山东省 淄博市 山东理工大学 交通与车辆工程学院;2.261206 山东省 潍坊市 潍柴雷沃重工股份有限公司)
长期耕作方式单一及大型农机易压实土壤,导致土壤形成坚硬的犁底层,犁底层的存在是导致土壤肥力下降的首要因素[1-5]。采用深松作业,可以有效打破犁底层,改变土壤空间结构,促进微生物繁衍,提高作物产量[6-9]。在深松作业过程中,由于无法实时获取耕深数值,需要操作人员凭经验判断是否达到耕深要求,容易出现耕深作业不达标需要重耕的现象,既耗时又增加人力物力成本。
为了能够实时得到耕深数据,研究人员利用现代电子技术开展了耕深监测的研究。丁瑞华[10]基于深松机建立了耕深与深松机力臂之间的数学模型,通过实时检测力臂与水平面的夹角来获得耕深,进而推算出耕深值,但该方法在地面起伏时有较大误差;蒋哮虎等[11]采用超声波传感器和红外传感器联合检测耕深,避免了地形起伏和地面稻草秸秆带来的检测误差;杜新武等[12]基于旋耕机运动姿态,建立了以下拉杆和机架平面的水平倾角为变量的耕深计算模型,克服了因旋耕机组形变和车轮倾斜对结果的影响。
本文在前者研究的基础上,利用耕深监控装置内置的MPU6050 陀螺仪实时得到深松机组的三维角度值,耕深监控装置将当前的三维角度同标定的基准角度进行分析比较,通过深松机组悬挂的结构模型计算得出耕深数值,并将该数值通过CAN 总线发送至电脑端,以期实现耕深作业过程全自动化监控。
深松机通过三点悬挂装置和拖拉机相连,悬挂装置三点分别为装置上拉杆点、装置左侧下拉杆点和装置右侧下拉杆点。本文以悬挂式深松机为例,具体机构悬挂示意图如图1 所示。三点悬挂装置由摇臂、液压油缸、提升臂、上拉杆和下拉杆构成,摇臂前端、上拉杆前端以及下拉杆前端分别铰接在拖拉机机身上,摇臂后端与提升臂上端相连,上拉杆后端和下拉杆后端分别与深松机具连接,耕深监控装置安装在下拉杆与深松机具连接点处。通过连接在摇臂下方的液压油缸的起落运动来驱动摇臂,从而带动提升臂拉起或降低下拉杆,上拉杆仅起支撑旋转的作用,最终实现深松机的起落运动。
图1 深松机悬挂示意图Fig.1 Schematic diagram of deep looser suspension
在深松机水平作业时,具体示意图如图2 所示。图2 中AD 杆为摇臂,BF 杆为上拉杆,CG 杆为下拉杆,DE 杆为提升臂,FGH 机构为悬挂深松机,点A、B、C 分别为摇臂、上拉杆、下拉杆在拖拉机上的固定点,点D 为摇臂和提升臂的铰接点,点E 为提升臂和下拉杆的铰接点,点F、G 为三点悬挂装置和深松机的连接点。
图2 深松机水平作业示意图Fig.2 Schematic diagram of horizontal operation of deep looser
下拉杆与深松机刚性连接,由于水平作业车身未发生倾斜,因此下拉杆和深松机的连接点G 变化的高度即为深松机变化的高度,所以只需知晓下拉杆和水平方向夹角α的变化值即可计算出耕深值。由于耕深监控装置垂直安装在下拉杆下方,采用MPU6050 陀螺仪的俯仰角测得下拉杆和水平方向夹角。拖拉机静止于水平地面,降低深松机与耕作地面接触,得到此时下拉杆与水平方向夹角α,并记此时角度为α0,由此得水平耕深计算模型:
式中:LCD——下拉杆在水平面投影的杆长,cm;α——任意时刻下拉杆与水平面的夹角,°;L——深松机垂直下降距离,cm。
MPU6050 陀螺仪得到的俯仰角在水平方向绕逆时针时显示为正值,绕顺时针时显示为负值。因此当L 为负值时,深松机处于耕作状态,-L 即为耕深值;当L 为正值时,此时深松机处于悬空状态,L 值为深松机高于耕作地面的距离。
在深松机作业时,拖拉机受地形、深松机组的影响,在一定程度上会出现整机倾斜现象,因此仅使用水平面时得出的耕深值会与实际耕深值产生较大误差,还需要加上侧倾时耕深计算模型。整机侧倾示意图如图3 所示。
图3 整机侧倾示意图Fig.3 Schematic diagram of the whole machine
图3 中,CG 杆为左侧下拉杆,C'G'杆为右侧下拉杆,GG'为深松机,点W 为左侧车轮接地点,点O 为深松机组中心点,夹角β为车身侧倾角。假设机具未升高降低,则整车侧倾时深松机组中心点O 变化的高度即为深松机侧倾作业导致的误差高度,只需知晓OW 连线和地平面夹角的变化值就可以计算得出该高度值的变化,而该角度变化值即为车身侧倾角变化值。由于下拉杆与车身刚性连接,因此车身倾斜导致下拉杆倾斜且两者倾斜角度一致,故安装在下拉杆上的耕深监控装置可实时得到车身侧倾角度值,根据耕深监控装置安装位置,采用MPU6050 陀螺仪的横滚角测得车身侧倾角度值。拖拉机静止于水平地面,降低深松机与耕作地面接触,得到此时车身侧倾角度值,并记此时角度值为β0,同时测得OW 连线和地平面夹角角度值为β1,将OW 连线作为固定的斜边长,得到侧倾耕深计算模型
式中:LOW——OW 连线的长度,cm;β——任意时刻车身侧倾角度值,°;L1——侧倾时深松机垂直变化距离,cm
MPU6050 陀螺仪得到的横滚角在侧倾方向绕逆时针时显示为正值,绕顺时针时显示为负值。因此,当L1为负值时,深松机向下倾斜;当L1为正值时,深松机向上倾斜。最后将L 与L1相加即为最终的耕深值,若该值为负值时,深松机处于耕作状态;若该值为正值时,深松机处于悬空状态。
硬件电路是实现耕深监控装置的核心部件,是耕深实时反馈策略稳定运行的前提。硬件电路结构框图如图4 所示。监控装置硬件功能包括:电源管理功能,将蓄电池的12 V 电源输入转换为3.3 V对内供电;角速度传感器信号、加速度传感器信号等模拟信号的输入;用于与其他节点通信的CAN总线网络。
图4 硬件电路结构Fig.4 Hardware circuit structure
STM32F103 芯片是基于Arm Cortex-M3 内核的32 位微控制器,相比同类微控制器具有更加卓越的性能。该芯片工作主频为72 MHz,大大加快了芯片运行速度。该芯片具有32 位浮点数运算单元,能够满足耕深监控装置的数据处理需求,保证控制策略执行的实时性。该芯片能够在-45~125℃温度范围内稳定运行,保证了耕深监控装置在使用过程中的可靠性。该芯片具有64 kB 的System RAM 和512 kB 的Flash,能够满足耕深监控装置的程序运行以及存储需求。
耕深作业时,深松机极易产生抖动现象,因此装置的稳定性、耐振性是首要选择因素。在了解不同姿态传感器特性的基础上,本文采用MPU6050陀螺仪,其拥有16 位精度的模/数转换器,可以将三维坐标精准地转化为数字量输出,同时内置数字运动处理器(DMP),可将计算结果存入数据输出寄存器。
本文将耕深监控装置的软件系统架构分为应用层(Application Layer)和硬件层(Hardware Layer)。应用层软件为通过Simulink 搭建的控制策略模型,用于实现耕深监控装置的控制策略,保证耕深监控装置能够安全稳定地运行。硬件层为耕深监控装置的底层驱动程序,用于驱动硬件中的各模块电路。。
底层驱动程序模块包括时钟模块、定时器模块、IIC 模块、MPU6050 角度解算模块和CAN 模块。
时钟模块主要负责为系统运行提供时钟信号。由外部的8 MHz 晶振作为输入时钟源,然后将其倍频至 72 MHz。各模块可根据运行频率的需要将72 MHz 时钟分频使用,如CAN 模块通过分频设置为36 MHz 等。
定时器模块内有4 路通道。配置相应的寄存器将该模块的时钟源设置为总线时钟,启用通道0的计数功能,并将通道0 的定时周期设置为1 ms并使能定时器中断,当定时器的计数值达到 1 ms对应的通道值时,触发定时溢出中断用于定时执行控制策略主程序。
IIC 模块用于MPU6050 传感器和主芯片之间的数据传递。用于IIC 通信的GPIO 类型必须配置成开漏输出,只有这样IIC 设备才能输出低电平和高阻态。因为 SCL 和 SDA 连接上拉电阻到电源,那么GPIO 输出低电平则拉低,输出高阻态则拉高。
MPU6050角度解算模块用于得到三维角度值。通过配置SMPLRT_DIV 寄存器的SMPLRT_DIV 位设置采样频率为100 Hz,配置GYRO_CONFIG 寄存器的FS_SEL 位设置角速度量程为±2 000 dps,配置ACCEL_CONFIG 寄存器的AFS_SEL 位设置加速度量程为±2 g。通过IIC 模块读取MPU6050 三轴的角速度和加速度,由于期望得到航向角、横滚角和俯仰角的三维角度,所以这些数据无法直接使用,故需利用读取的原始数据,进行姿态融合解算。直接计算是比较复杂的,但MPU6050 自带了数字运动处理器 DMP,因此利用MPU6050 的DMP,可以将得到的原始数据直接转换成四元数输出,而得到四元数之后,就可以计算出三维角度值。
为了实现监控系统与主机之间的通信,必须对STM32F103 的CAN 模块进行初始化及相关功能配置。模块初始化包括模块输入时钟源选择、选定总线的波特率、接受过滤特定的标识符及设置中断。初始化时,配置CAN_MCR 寄存器,将72 MHz 的总线时钟作为CAN 模块的时钟源并设置分频系数为2,调整寄存器CAN_BTR 的值,将模块波特率设置成250 kbps,最后使能CAN 模块接受中断。
上电后,待底层驱动程序完成初始化,则进入控制策略主程序,如图5 所示。系统首先判断是否完成标定,若未完成则启动标定程序。为了确保能够顺利完成标定,对启动标定程序和完成标定添加了限制条件。当标定完成标志位未置1 且车速满足条件时,则进入标定程序,而当任意一条件不满足时直接退出标定。在标定过程中,当系统接收到提升臂下降命令且角度变化值在一定误差范围保持不变,保持该过程一定时间则判断标定完成,将此时的角度值作为标定值且标定完成标志位置1。若系统已完成标定,在接收到使能耕深监控命令后,进入耕深实时监控模式,则通过对比三维角度值的变化,对当前的耕深值进行计算。最后,将深松机的耕深值反馈给主机,驾驶员通过耕深值的反馈对深松机进行相应的调整。
图5 控制策略流程图Fig.5 Flow chart of control strategy
为了检验耕深监控装置的准确性和可靠性,于潍坊市坊子区马司试验农场进行了耕深监控装置的田间测试试验,如图6 所示。
图6 耕深监控装置田间试验Fig.6 Field test of tillage depth monitoring device
驾驶员操纵按钮控制深松机的升高降低,按照耕深逐渐增大的次序,每两组之间设置耕深数值之差为4~6 cm,共设置7 组。每组耕地间距为15 m,以保证深松机能够平稳作业。在耕地之前,驾驶员操控深松机组至平稳,同时记录此时监控装置反馈的耕深值作为测量值,之后开始深松作业,以拖拉机前进3 m 为一个单位,采用人工扒土测量的方式,测出耕地表面至深松机刀头最底端的垂直距离,记录5 组数据并取平均值作为耕深的实际值。当测量值达到32.6 cm 时,采取耕深逐渐减小的顺序共设置6 个组,重复之前的操作并记录相应的实际值和测量值。
试验总共记录13 组对比数据,试验结果如图7 所示。对比13 组数据发现,测量值与实际值之间最大差值为1.10 cm,出现在第12 组。经计算,机组降低过程平均误差为0.70 cm,机组上升过程平均误差为0.75 cm,滞后误差较小,表明该监控装置运行较稳定。总体平均误差为0.72 cm,均方根误差为0.74 cm,可见通过该监控装置反馈的耕深数值与实际值的符合度较高,具有较高的稳定性。
图7 测量值与实际值数据对比图Fig.7 Comparison of measured value and actual value data
结合三点悬挂装置的结构特点,对深松机组运动姿态进行了理论分析,采用MPU6050 陀螺仪实时得到下拉杆与水平方向夹角以及车身侧倾角的变化,建立了耕深计算模型,减少了因机身侧倾带来的测量误差。
设计了由三维角度采集模块、定时器模块和CAN 通信模块等组成的悬挂式深松机耕深监控装置,实现了耕深实时监测的功能。
进行了悬挂式深松机耕深监控装置田间试验,对比装置反馈值与人工测量值,发现两者的最大差值为1.10 cm,均差为0.72 cm,表明该监控装置具有较高的准确性和稳定性,符合设计要求。