基于GPS测速的电驱式玉米精量播种机控制系统
2018-08-31丁友强张东兴和贤桃钟翔君
丁友强 杨 丽 张东兴 崔 涛 和贤桃 钟翔君
(中国农业大学工学院, 北京 100083)
0 引言
玉米播种作业质量直接影响后期长势,进而影响产量[1-2]。精量播种技术可节约良种、提高植株分布均匀度、使植株更好地利用水肥光热条件,从而实现节本增收,因此近年来已成为玉米播种的主要发展方向[3-4]。
为实现高速精量播种,除了需性能稳定、播种精度高、适宜高速作业的排种器外,排种器的驱动方式也至关重要。传统播种机多采用地轮和链条驱动,在高速作业时易出现地轮打滑、链条跳动的现象,无法保证播种质量[5-10]。相关学者针对以上问题进行了研究,印祥等[11]设计了一种基于光电编码器测速的玉米精量播种机智能控制系统,实现了播种粒距和播种机作业速度的动态匹配;张春岭等[12-13]采用雷达测速仪检测播种机实时速度,并通过编码器采集排种器实时转速进行反馈控制,提高了排种精度;HE等[14]提出了采用电机驱动排种器,采用编码器测速、并加入滑移率参数进行速度修正的驱动方案,提高了播种质量。但编码器测速仍然受到地轮打滑的影响,且不同地块、不同土壤条件都有不同的滑移率,不能保证修正参数的普适性,无法从根本上解决地轮打滑的问题。
针对以上问题,本文设计一种基于GPS测速的电驱式玉米精量播种机控制系统,采用Android手机终端设置播种作业参数,GPS接收器采集播种机的前进速度,主控制器根据采集到的速度信息实时调节排种器驱动电机的转速,以期达到精量播种的目的。
1 系统整体设计和工作原理
基于GPS测速的电驱式玉米精量播种机控制系统主要由主控制器、Android手机终端、GPS接收器、直流无刷电机驱动器、直流无刷电机、减速器、排种器和信号灯组成。如图1所示,系统工作时,由安装在拖拉机驾驶室顶部的GPS接收器获取卫星报文,通过串口将报文信息传输到主控制器,主控制器从中解算出拖拉机的前进速度后,综合用户通过Android手机终端设置的播种作业参数配置定时器,输出相应占空比的PWM控制信号。在这个过程中,信号灯将以GPS接收报文的频率闪动,示意已成功获取卫星报文信息,电机驱动器根据接收到的PWM信号调整电机转速,同时采集电机实时转速,根据实际转速与理论转速的差值对电机进行闭环控制,从而实现对排种盘转速的精确控制,达到精量播种的目的。
图1 系统结构图 Fig.1 System structural diagram 1.Android手机终端 2.GPS接收器 3.信号灯 4.拖拉机蓄电池 5.直流无刷电机驱动器 6.直流无刷电机 7.减速器 8.排种器 9.主控制器
2 系统硬件设计
2.1 信号处理单元设计
考虑到系统未来功能的可拓展性,选择意法半导体公司生产的基于Cortex-M3内核的32位单片机STM32F105RCT6作为主控芯片,该单片机拥有64k SRAM,最高运行频率72 MHz;同时有多个定时器和多种通讯模块,性价比高,可以满足高性能、低功耗的设计要求。
2.2 信号采集单元设计
2.2.1GPS信号采集
GPS接收器是采集播种机速度信息的核心部件,本系统选用上海吉度信息科技有限公司生产的UB-355型GPS接收器,该GPS接收器速度精度为0.1 m/s,最大信号更新频率10 Hz,工作温度-40~80℃,冷启动时间在26 s之内,热启动时间仅需1 s,以上关键参数均可满足系统需要。
由于UB-355采用RS232串口通讯,而主控制器芯片选用STM32F105RCT6,其片上串口电平类型为TTL电平,设计了图2中的电平转换电路,以实现二者之间的通讯。
2.2.2作业参数采集
系统采用Android智能手机作为人机交互设备,用以设定株距、排种盘型孔数和传动比3个作业参数。
图2 控制系统原理图 Fig.2 Schematic diagram of control system
考虑到田间复杂的作业环境,采用有线通讯方式进行作业参数传输,以保证信号传输的稳定性,普通Android手机具有耳机、USB两种有线通讯接口,选用耳机接口进行通讯需进行A/D转换,STM32方面可借助现有的编解码芯片进行开发,而Android方面解调编程复杂,开发难度大,故选择USB口进行通讯[15-16]。设计如图2所示的USB通讯电路,其核心为CH9343芯片,该芯片针对USB Android手机终端提供了GPIO、PWM、UART、SPI Master、SPI Slave及I2C主机共6种模式,可以通过配置CFG2、CFG3、CFG4 3个引脚的电平选择CH9343的工作模式[17-18],这里将3个引脚都配置为高电平,使其工作在UART模式。
2.3 排种器驱动单元设计
排种器驱动单元主要由直流无刷电机驱动器、直流无刷电机、减速器以及排种器组成。本试验中选用中国农业大学研制的气压组合孔式玉米精量排种器(图3),该排种器在作业速度达到10.9 km/h时,仍能保证95%以上的合格率[19-20];根据最大作业速度和株距,选择减速器传动比为10;直流无刷电机驱动扭矩为
(1)
式中M1——电机驱动扭矩,N·m
K——安全系数
M2——作业时排种器最大负荷,N·m
μ1——周向传动传动比
μ2——减速器传动比
本系统所用气压组合孔式玉米精量排种器作业时最大排种负荷M2=3.72 N·m[14];周向传动传动比μ1=5;减速器传动比μ2=10;安全系数K取2。由式(1)计算得电机驱动扭矩为0.148 8 N·m,选用时代超群BL55S06-230TF9型直流无刷电机,其额定转矩为0.18 N·m,可满足作业要求;选用BLD5010A型智能直流无刷驱动器,该驱动器通过采集电机的霍尔信号判断出当前电机的实际转速,并结合目标转速进行实时调整,可实现电机转速的闭环控制,驱动器和控制系统的连接方式如图2中的电机驱动电路部分。
图3 气压组合孔式玉米精量排种器 Fig.3 Pneumatic maize precision seed metering device with combined holes
3 系统软件设计
本控制系统的软件包括两部分:主控端硬件驱动程序和Android手机终端人机交互程序。主控端硬件驱动程序基于keil Vision 5进行开发,采用C语言编程;Android端人机交互程序基于Android Studio进行开发,采用Java语言编程。
3.1 主控端硬件驱动程序
主控端硬件驱动程序的主要功能是对来自各个单元的信息进行综合分析计算,再通过配置片上定时器输出控制信号。其整体流程如图4所示,系统一方面在循环中不断查询播种作业参数是否更新,另一方面根据当前播种作业参数和GPS接收器获取的拖拉机速度实时调整排种器驱动电机的转速。
图4 主控端整体流程图 Fig.4 Program flow chart of overall control system
3.1.1速度信息的获取
UB-355输出的定位数据采用NMEA-0183协议,利用ASCII码传递信息,主要包括GNGGA(GPS定位信息)帧、GNGSA(当前卫星信息)帧、GPGSV(可见 GPS 卫星信息)帧、GNRMC (推荐定位信息)帧、GNVTG(地面速度信息)帧、GNGLL(大地坐标信息)帧。其中速度信息包含在GNVTG(地面速度信息)帧中,基本格式如下:
$GNVTG,(1),T,(2),M,(3),N,(4),K,(5)*hh(CR)(LF)
$GNVTG:$为帧命令起始位,GN为识别符,VTG为语句名;
(1):以真北为参考基准的地面航向;
(2):以磁北为参考基准的地面航向;
(3):地面速率(单位:节/h);
(4):地面速率(单位:km/h);
(5):模式指示(A为自主定位,D为差分,E为估算,N为数据无效)。
可以看出,通过处理GNVTG帧中(4)处的数据可得到当前拖拉机的前进速度,具体流程如图5所示,其中GPS报文缓存器数组GPS_BUFF、接收状态变量RX_STA,GPS_BUFF用来存储来自GPS接收器的报文信息,RX_STA用以统计报文长度并作为报文是否接收完毕的标志,其次对串口3、定时器4、信号灯控制IO口等相关外设进行初始化,初始化完成后开启串口3的数据接收中断和定时器4的溢出中断,当接收到的数据超出最大长度或在接收到一节数据后连续20 ms未接收到下一节数据,即标记接收完成,而后查询数组GPS_BUFF中是否含有“$GNVTG”字段,没有则清空GPS_BUFF数组继续等待数据,有则改变信号灯开关状态并返回该字段地址p1,计算出自p1地址处出现第7个“,”字符的地址偏移a,提取p1+a地址至下一个“,”字符地址间的所有字符,最后将得到的字符转换为数值即为拖拉机的前进速度,单位为km/h。
图5 速度解析程序流程图 Fig.5 Program flow chart of velocity computing
为了提高程序的执行效率,通过UB-355自带的配置软件设定接收器只接收GNVTG帧。
3.1.2电机调速的数学模型
系统在工作过程中,应尽量保证作业株距和预设株距的一致性,这就要求电机转速与拖拉机前进速度动态匹配。作业距离和作业时间、拖拉机前进速度的关系式为
(2)
式中 Δt——任意时间间隔,s
ΔS——Δt内作业距离,m
v——拖拉机前进速度,km/h
作业距离和作业时间、直流无刷电机转速、排种盘型孔数、预设株距的关系式为
(3)
式中n1——直流无刷电机转速,r/min
n2——排种盘型孔数
l——预设株距,cm
直流无刷电机转速、定时器捕获/比较寄存器值、自动重装载寄存器值、PWM占空比为100%时的电机转速之间的关系为
(4)
式中VCCR——定时器捕获/比较寄存器值
VARR——定时器自动重装载寄存器值
nmax——PWM占空比为100%时电机转速,r/min
综合式(2)~(4),可得定时器VCCR值和拖拉机前进速度v的关系为
(5)
3.1.3作业参数的采集和控制信号的输出
为方便解析数据,自定义STM32和Android手机终端作业参数传输协议如下:
$WKPARM,(1),(2),(3),
$为帧命令起始位,WKPARM为语句名;
(1):播种株距;
(2):排种盘型孔数;
(3):传动比(周向传动传动比μ1和减速器传动比μ2之积)。
如图6所示,主控制器上电复位后,对相关外设进行初始化,主要包括DMA、串口1和定时器1;初始化完成后,程序读取来自Android手机终端设置的作业参数信息,通过DMA将参数信息直接存储到缓存器Rx_Buffer数组中,然后查询Rx_Buffer数组中是否存在“$WKPARM”字段,没有则清空Rx_Buffer数组并继续接收信息,有则返回其地址p2;计算出自p2地址处出现的第一个“,”字符的地址偏移b1,提取p2+b1地址至下一个“,”字符地址间的所有字符,将得到的字符转化为数值,即得到播种株距参数;同样方式重复两次,得到排种盘型孔数、传动比参数,将3个作业参数回传到Android手机终端后,再结合3.1.1节中获取的拖拉机前进速度v,3.2.2节中定时器的VCCR值即可实时调节PWM占空比,实现排种器转速和拖拉机前进速度的动态匹配。
图6 作业参数采集和控制信号输出流程图 Fig.6 Program flow chart of capturing work parameter and outputting control signal
3.2 Android手机终端人机交互程序
人机交互程序的主要功能是根据实际作业情况设置株距、排种盘型孔数、传动比3个参数。
3.2.1功能设计
基于CH9343开发的Android人机交互程序包括接口层(CH9343 Interface Layout)和用户层(User Layout)2个部分,接口层中定义了WCHUARTInterface类,该类中实现了SetConfig、WriteData、ReadData方法,其中SetConfig方法用来设置CH9343波特率(9 600)、数据位(8)、停止位(1)、奇偶校验位(无),考虑到系统工作时并不需要改变以上参数,故设置为定值;从输入界面获取到设置的作业参数之后,按照3.1.3节中STM32和Android手机终端作业参数传输协议,调用WriteData方法将作业参数传输到STM32;为了明确是否设置成功,通过调用ReadData方法将作业参数再回传至Android手机终端,用户通过比较回传过来的参数和目的参数是否一致决定是否需要再次设置。
3.2.2界面设计
Android端人机交互界面设计的原则是简洁易懂,方便操作。Genymotion模拟软件界面如图7所示,左边一栏3个文本框分别用于输入传动比、排种盘型孔数、播种株距,输入完成后,点击设置按钮,参数信息传输至主控制器,设置成功后,右边一栏会接收到主控制器回传过来的当前传动比、排种盘型孔数、播种株距信息。
图7 播种参数配置APP Fig.7 Config APP of seeding parameters
4 试验和数据分析
4.1 田间试验
图9 不同作业株距和作业速度下的合格指数和变异系数 Fig.9 Sowing qualified index and distance variation coefficient under different seed spacings and working speeds
为了测试系统的作业效果,对编码器测速和GPS测速两种作业方式进行对比试验。在同一台播种机的两个播种单体上装载两种系统,二者除控制方式不同外,其余均保持相同。将播种株距、播种速度作为试验因素,播种株距设18、22、25 cm 3个水平,播种速度设4、6、8、10、12 km/h 5个水平进行全因素试验。播种作业完成后,用人工扒种的方式将播下的种子全部扒出,随机取3段分别采集数据,每段连续测量250个株距。试验于2017年11月17日在河北省固安县西市村进行(图8)。
图8 田间试验 Fig.8 Field experiment
4.2 数据分析
数据处理和评价依据中华人民共和国国家标准《单粒(精密)播种机试验方法》(GB/T 6973—2005),将合格指数、变异系数作为评价控制系统性能的指标。
两种控制方式的合格指数、变异系数随作业速度和作业株距变化的趋势如图9所示。可以看出:
(1)相同作业速度下,两种作业方式均表现出播种株距越大,合格指数越大,变异系数越小的趋势,在作业速度为4 km/h时, GPS测速方式平均合格指数小于编码器测速方式,而其余作业速度下均大于编码器测速方式。
(2)相同作业株距下,随着作业速度的提高,编码器测速方式合格指数下降,变异系数升高;GPS测速方式合格指数先上升后下降,变异系数先下降后上升;且GPS测速方式的合格指数和变异系数受作业速度的影响更小。
(3)在相同试验条件下,GPS测速方式变异系数均小于编码器测速方式;在低速4 km/h时,GPS测速方式的平均合格指数比编码器测速方式低5.39个百分点;作业速度6~10 km/h时,GPS测速方式的平均合格指数比编码器测速方式高7.96个百分点;在高速12 km/h时,GPS测速方式的平均合格指数比编码器测速方式高14.32个百分点;表明GPS测速方式更适宜高速作业。
5 结论
(1)设计了基于GPS测速的电驱式玉米精量播种机控制系统,系统以STM32单片机作为主控制器,以Android手机终端作为人机交互设备,用GPS接收器采集拖拉机前进速度,建立了排种器驱动电机的调速模型,避免了地轮打滑对播种作业造成的影响,进一步发挥出排种器高速作业的潜力,改善了播种作业质量。
(2)以作业速度和播种株距为试验因素,以播种合格指数、变异系数为评价指标进行全因素试验,结果表明,在相同试验条件下,GPS测速方式的变异系数均小于编码器测速方式;在低速4 km/h时,GPS测速方式的平均合格指数比编码器测速方式低5.39个百分点;作业速度6~10 km/h时,GPS测速方式的平均合格指数比编码器测速方式高7.96个百分点;在高速12 km/h时,GPS测速方式的平均合格指数比编码器测速方式高14.32个百分点;表明GPS测速方式更适宜于高速作业工况。