冯燕柱 ,铁风莲 ,林思嫔
(仲恺农业工程学院自动化学院,广东 广州 510550)
2021 年,我国粮食总产量达到了6.82 亿t[1],而大部分的粮食都需要干燥后才能储存和运输,因而粮食干燥技术对现代农业发展十分重要。目前,粮食干燥的方法主要有两种,一是自然晾干,二是机器烘干[2]。大型的粮食生产基地主要采用机械设备进行烘干,这种方法效率高、劳动强度小,但成本高,只适合大型农场。而我国存在大量的小型粮食种植户,主要采用自然晾干的方式进行粮食干燥,该方法劳动强度高、作业环境艰苦。因此,迫切需要研发一款能够替代人工翻晒、成本低的自动化设备,以释放劳动力,减轻农民负担。
谷物翻晒设备必须让人无需在露天环境下进行干燥作业。汤成建等提出了一种以ATmega128 为主控板的太阳能谷物翻晒机器人,其主要功能包括太阳能发电和人工远程控制机器人进行谷物翻晒[3]。周湘博等提出了一种无人值守的太阳能自动翻晒装置,以太阳能发电的方式给装置供电,通过两组气囊形成高度差实现谷物翻晒[4]。这两种方法在一定程度上能够解决谷物翻晒的问题,但也存在适用性差的问题。因此,本文提出了一种基于单片机的实用性强的谷物翻晒小车。
目前,单片机在各个领域得到广泛应用,其中,在控制[5-7]、监测[8-9]和自动化[10-11]方面应用广泛。基于单片机技术,结合谷物翻晒的特点,设计了一台谷物翻晒智能小车。该小车具有定时按照设置的路线自主行走的功能;利用传感器模块采集温度与湿度信息,当温度和湿度低于设定值时,发出警报提醒农民收拾谷物;利用电量检测模块检测小车电池的电量,当电量低于设定值时,小车将自动回到充电点充电。
谷物翻晒小车主要由底板、轮子、主控板、电机和翻场板构成,如图1所示。底板主要起支撑作用,其他元件都是安装在底板上。谷物翻晒小车有4 个轮子,每个轮子都与电机连接,电机的驱动力通过齿轮箱传递给轮子,通过控制电机让小车按照预设的路径行走。主控板主要包括STC8H8K64U芯片、陀螺仪、电机控制模块、蜂鸣器、温湿度采样模块和电量采集模块。谷物翻晒小车的总体控制框图如图2 所示,主控芯片产生PWM 波传递给电机控制模块,实现电机的速度控制、小车的直线行走和转弯;温湿度采样模块通过传感器采集空气的温度与湿度信息,并输入主控芯片的引脚,主控芯片对接收的信息进行判断,当温度和湿度低于设定值时,通过蜂鸣器发出警报提醒农民收拾谷物;电量采集模块与小车的供电模块串联,通过测量供电模块的电压实现对电池电量的监控,当电量低于设定值时,小车自动回到充电点充电。
图1 谷物翻晒小车模型图
图2 谷物翻晒小车的总体控制框图
传统的谷物翻晒方式一般是先横向翻晒,再纵向翻晒,然后再交替翻晒。谷物翻晒小车先设定成横向行走,横向行走结束后,使用芯片的定时器定时一段时间,定时结束后让小车纵向行走,纵向行走结束后再定时一段时间,然后再横向行走,如此重复,便能够达到人工翻晒的效果。小车横向与纵向的行走路径如图3 所示。横向行走首先从充电点出发,沿着图3(a)中的黑色虚线路径行走,到达末端时再沿着红色虚线路径回到充电点,完成横向翻晒。图3(a)中相邻两条虚线的间距为W,W为小车车身的宽度。纵向行走与横向行走类似,首先从充电点出发,沿着图3(b)中的黑色虚线路径行走,到达末端时再沿着红色虚线路径回到充电点,完成纵向翻晒,图3(b)中相邻两条虚线的间距也是W。
图3 小车行走路径示意图
一般谷物翻晒的场地大小都是固定的,用户可以通过外设独立按键设置谷物翻晒场地的大小。小车在翻晒过程中设定以恒定的速度V行走。假设翻晒场地长为A、宽为B,那么每次横向行走的距离为B-2W,纵向行走W距离的总次数为A/W-1;每次纵向行走的距离为A-2W,横向行走W距离的总次数为B/W-1。采用编码器来计算小车行走的距离,通过小车上陀螺仪反馈的信息来确定顺时针转动还是逆时针转动。由于每次翻晒行走的路径和速度都是固定的,所以可以把行走的数据信息以数组方式存储,使用时调用即可。
露天翻晒谷物最怕遇到雷雨天气,来不及收拾晒好的谷物,导致谷物发霉,并增加晾晒的次数和农民的负担。因此,了解环境的温度与湿度信息十分重要,可以提醒农民提前收拾好谷物,避免淋雨。
温湿度信息采集模块选用DS18B20 模块,该模块由内部的单片机完成单线通信采集温度和湿度信息的工作,并通过串口方式输出给主控芯片。DS18B20 模块有4 个引脚,VDD 引脚接3.3 V 电源,GND 引脚接地,TX 引脚接主控芯片的P3.0 串口1 的接收引脚,RX 引脚接主控芯片的P3.1 串口1 的发送引脚,如图4(a)所示。当温度与湿度低于设定值时,蜂鸣器将发出响声提醒农民及时收拾谷物,蜂鸣器通过主控芯片引脚P2.3 控制,蜂鸣器的连接电路图如图4(b)所示。
图4 元件连接电路图
谷物翻晒小车在行走过程中消耗电量,使用电量采样模块对电池电量进行监测。当监测到电量低于设定值时,小车在执行完当前操作后,再沿设定的路径回到充电点充电。电量采样模块使用LT-211-B 型模块,该模块由5 V 的直流电源供电,测量直流电压的范围为1 V~260 V,能够满足对小车电池电量的测量。该模块提供RS485 和UART 两种通信方式获取测量的电压、电流和功率信息。本文使用UART 通信方式与主控芯片进行通信。
以小车横向行走为例,说明小车接到充电提醒信号后回到充电点的路径规划。小车横向行走时提醒充电的位置可以分成四种情况,如图5 所示。当小车在E 位置时,先让小车沿黑色虚线行走完路程,然后顺时针旋转90°后沿红色虚线回到充电点;当小车在F 位置时,先让小车沿黑色虚线行走到箭头末端,然后顺时针旋转90°后行走W距离,再顺时针旋转90°后行走B-2W距离,最后顺时针旋转90°后沿红色虚线回到充电点;当小车在G 位置时,先让小车沿黑色虚线行走到箭头末端,然后顺时针旋转90°后行走B-2W距离,最后顺时针旋转90°后沿红色虚线回到充电点;当小车在H 位置时,先让小车沿黑色虚线行走完W距离,再让小车顺时针旋转180°后沿红色虚线回到充电点。可以通过记录纵向行走W距离的次数为n,推断出沿红色虚线行走的距离为n×W。把每种情况的路径信息以数组方式存储,使用时再调用。同理,小车的纵向行走也可以分成几种情况。
系统采用C 语言,基于Keil 5 进行开发,系统程序流程图如图6 所示。系统上电后,将各模块的参数初始化。首先进行行走路径的选择,选择好路径后,主控芯片发送PWM 给电机控制模块控制小车沿设定的路径行走;在行走过程中一直判断是否行走完设定的路径、是否下雨和是否缺电,若否则小车继续行走,若是则小车沿设定的路线返回充电点;当小车没遇到下雨和缺电的情况,顺利行走完设定的路径时,小车返回充电点,等待一段时间后再进行行走路径的选择,在等待过程中也进行是否下雨的判断。当温度与湿度低于预设值时,判断为下雨,蜂鸣器响起。温湿度采集模块与电量采集模块通过UART 通信传输采集的数据给主控芯片,主控芯片将其与预设值进行比较并作出判断。
图6 系统主流程图
好的谷物翻晒设备可以降低自然翻晒的劳动强度,释放劳动力。因此,本文基于单片机设计了一台谷物翻晒小车,提出了横向行走翻晒和纵向行走翻晒交替翻晒的方式,小车缺电时能自主返回充电点充电,并具有下雨前兆提醒功能,可以实现较好的谷物翻晒效果。该设计适合小型种植户在太阳下翻晒稻谷、花生等谷物时使用。