王 瑛,林树德,唐上余,李派霞,韩文霆
(1.北部湾大学,广西钦州 535000;2.武汉海王科技有限公司防城港分公司,广西防城港 538000;3.西北农林科技大学机械与电子工程学院,陕西杨凌 712100)
随着人们物质生活水平的不断提高,人们也对饮食安全健康的要求也随之提高[1]。许多人为了给生活添加色彩,会种植花草用于观赏,或者利用有限的空间(如阳台、楼顶等)种植一些花草蔬菜[2-4]。许多种花草蔬菜本身对水分有较高的要求[5]。在种植过程中如果不能对花草蔬菜进行合理有效浇灌,不仅会造成水资源的浪费,而且会造成花草蔬菜因浇灌不合理而导致生长缓慢甚至死亡[6]。许多学者对自动浇灌进行了研究,比如郭非凡[7]利用52单片机进行灌溉,周燕鸥等[8]利用可编程序控制器(PLC)进行设计,郭紫照等[9]利用WIFI传输的方式进行灌溉系统设计。笔者以STC15W408单片机为核心,采用遥控方式进行灌溉。
该设计利用红外遥控对交互界面进行参数设定,只需要用码提取软件对遥控码进行提取,经编程处理后,使用时遥控器要对着红外接收头。温度传感器的使用能够有效避免因温度过高时浇灌造成的植物根系损伤,从而造成植株代谢异常或者死亡的情况。自动浇灌模式有实时自动浇灌、定时自动浇灌2种方式,使用时可根据地域差异、季节差异、植物种类差异选择合理的浇灌方式。根据花草蔬菜的土壤温度和湿度,对植物进行自动浇灌。自动灌溉不仅能节约水资源,而且能使花草蔬菜更好地生长。
该方案是基于单片机设计的一种简易自动浇灌系统,核心为单片机STC15W408。系统通过红外遥控器进行人机交互操作,可对浇灌参数进行设定。通过温度传感器、湿度传感器对土壤温度、湿度进行实时或者定时监测,并传回单片机STC15W408,再由单片机对数据进行处理,从而控制浇灌系统开启或者关闭。除了手动浇灌外,自动浇灌系统有2种模式:一种为实时自动浇灌模式,另一种为定时自动浇灌模式。根据地域差异、季节差异、植物种类差异等条件,系统选择不同的模式。浇灌参数显示界面由LCD1602液晶显示器显示,参数直观可视。系统原理如图1所示。
图1 系统原理示意Fig.1 The working principle of the system
2.1 单片机选择及电路设计该系统选用STC15系列的单片机,有STC15W104和STC15W408。STC15系列单片机具有成本低、能耗低、可靠度高等特点[10],由于其内置的RC振荡器精度高、温漂小并可多频选择,可满足设计要求。该系统中主单片机STC15W408为20 脚贴片封装,STC15W104为8脚贴片封装。
主单片机STC15W408的1脚、2脚、13~18脚连接液晶显示器LCD1602,主要用于控制系统参数的显示。3脚、6脚连接三极管,数据处理后,给信号控制三极管的通断,从而控制该部分电路的通断,来控制继电器的启动停止,进而控制阀门的开启与关闭。4脚作为连接STC15W104单片机总线,用于控制红外遥控模块;5脚为冗余设计;7脚、9脚连接时钟芯片DS3231,用于断电及初始化时自动更新时间、日期等参数;8脚为供电脚,接5 V的VCC,为单片机的供电来源;10脚接地;11脚、12脚为程序烧录脚;19脚为温度传感器总线传输脚,20脚为湿度传感器传输脚。上述为主单片机STC15W408的引脚情况。对于红外遥控模块单片机STC15W104,2脚供电,4脚接地;3脚连接液晶显示器LCD1602,用于控制显示器的亮度;5脚、6脚为总线,其中6脚为冗余设计;7脚连接红外遥控的接收头,在此处设计了一个由电容、电阻等构成的退耦电路,其主要功能是消除阀门启动及停止时电流波动对红外模块的影响,使得设备红外遥控模块功能更加稳定;8脚接按键,可用于屏幕的点亮及定时器参数的复位。浇灌系统总电路图如图2所示。
图2 浇灌系统总电路图Fig.2 General circuit of the irrigation system
2.2 温度传感器温度传感器的使用过程中,当温度过高时不适宜对植物进行浇灌,以免造成植物根系损伤,从而造成植株代谢异常或死亡。该系统中使用DS18B20数字温度传感器(图3)进行温度检测。DS18B20温度传感器具有体积小、抗干扰能力强、精度高的特点,其可测温范围为-55~125 ℃,信号通过单总线即可传输[11]。该系统将该总线连接到STC15W408的P1.0口(即19脚)上进行通信,读取实时温度。通信过程如下:单总线上的所有通信都是从初始化序列开始,单片机输出低电平时间,保持低电平时间至少480 μs,以产生复位脉冲。然后,主机释放总线,10 K 的内部上拉电阻将单总线拉高,延时15~60 μs,并进入接收模式(Rx)。DS18B20 拉低总线60~240 μs,以产生低电平应答脉冲,若为低电平,再延时480 μs 。写时序包括写0 时序和写1 时序。所有写时序至少需要60 μs,且2 次独立的写时序之间至少需要 1 μs 的恢复时间。2种写时序均起始于主机拉低总线。写 1 时序:主机输出低电平,延时2 μs,然后释放总线,延时60 μs 。写0 时序:主机输出低电平,延时60 μs,然后释放总线,延时2 μs。单总线器件仅在主机发出读时序时,才向主机传输数据。因此,在主机发出读数据命令后,必须马上产生读时序,以便从主机能够传输数据。所有读时序至少需要60 μs,且2 次独立的读时序之间至少需要 1 μs的恢复时间。每个读时序都由主机发起,至少拉低总线 1 μs。主机在读时序期间必须释放总线,并且在时序起始后的15 μs内采集总线状态。
2.3 湿度传感器湿度传感器选择电阻式湿度传感器(图3),具有响应速度快、体积小、线性度好、灵敏度高等特点。湿度传感器的工作原理是在吸湿和脱湿过程中传感器电阻值发生了改变,达到测量湿度的效果,而该传感器也是通过单总线进行信号传输。由于选取的温度传感器、湿度传感器均为单一线形式传输信号,为了方便安装使用,在电路上做了一个USB端简易化连接设计,其中USB端的3脚接温度感器,传回单片机19脚,USB端的2脚连接的是湿度传感器,传回单片机20脚处。由于湿度传感器探头为电阻式探头,因此在USB端的2脚设计了一个电阻值可调节的上拉电路,通过ADC采样转为数字信号,传输回主单片机进行数据处理,其中可调电阻的作用是方便调试时取得合理的电阻值。
图3 温度及湿度传感器Fig.3 Temperature and humidity sensor
2.4 遥控模块设计系统通过红外遥控器对温度、湿度及定时器等进行设定,舍弃在机壳开孔的按键式想法,做好机壳密封,能够尽量避免因环境影响造成的设备寿命缩短。红外遥控模块由红外遥控器、红外接收头、定时器复位按钮等构成。电路设计中使用STC15W104单片机。STC15W104单片机的功能是对遥控器的输入信号进行解码并传回主单片机STC15W408中,进行参数的设定。其中,红外接收头连接STC15W104单片机的7脚,复位按键连接8脚。STC15W104单片机的5脚、6脚作为总线传输信息。由于该系统只需要单向传输即可,因而目前只用STC15W104单片机的5脚作为总线信号,6脚暂时冗余。工作过程如下:当红外遥控器发出信号,红外接收头接收到遥控器发出信号的编码头码并识别,点亮LCD1602显示器。屏幕点亮后,操作遥控器上的相关按键,对温度、湿度、定时浇灌等参数进行设置。如果不选择定时自动浇灌模式,在开机时通过显示器侧面的复位按键清空即可。此处需要获得遥控器的编码信号,通过一个码提取软件提取即可。
2.5 显示模块设计显示模块采用的是LCD1602液晶显示器,而LCD1602是一款应用广泛的字符型液晶显示器[12]。在此次设计中,考虑到需要显示温湿度、当前日期、时间等参数,采用LCD1602显示器,并通过程序设计了可翻页操作,满足了设计需求。屏幕的A脚、K脚可以控制屏幕的亮度。
参数由主单片机STC15W408通过并口通讯协议传输到液晶显示器LCD1602进行显示,在单片机的7脚、9脚上连接DS3231时钟芯片。该芯片是一款高精度实时时钟器件,能够保存秒、时、分、星期、日期等信息。当浇灌系统初始化完成时,在LCD1602液晶显示器上即可自动更新时间、日期等参数。温度、湿度、时间等参数通过红外遥控器进行设定,如图4所示。
图4 显示界面示意Fig.4 The displayed interface
2.6 继电器模块该部分电路由三极管连接继电器,通过单片机控制三极管的开关量来控制电路中继电器的开关,从而控制阀门的开启与关闭,从而达到控制浇灌的目的。阀门的输入口接在水龙头上,水龙头为开启状态。
系统软件设计主要包括土壤温度检测程序设计、土壤湿度检测程序设计、红外遥控程序设计、显示器程序设计等。自动模式下有2种浇灌方式:一种为实时自动浇灌方式,另一种为定时自动浇灌方式。这2种浇灌方式在初始化完成后进行参数设定时即可选择。实时自动浇灌方式会一直保持对土壤温度、湿度的检测,当参数满足要求时即启动阀门进行浇灌。如果选择定时自动浇灌方式,浇灌系统会在达到浇灌时设定的时间段后才对温度、湿度等参数进行采集处理,满足条件时进行浇灌。该系统中设计了2种可选方式,主要考虑季节差异、地域差异、植物种类差异等因素的影响,用于选择更合适的浇灌方式。系统软件流程图如图5~6所示。
4.1 浇灌系统的安装该系统中各个单元基本已经模块化,所以安装起来也十分简单方便。电路板件与显示器安装在机箱盒内,留出供电口、USB接口、DC头。阀门管输入安装在水龙头上,水龙头开启,而阀门管输出布置在浇灌系统上方。温度、湿度传感器埋于土壤内即可。部分浇灌系统的安装如图7所示。
4.2 测试结果在浇灌系统测试时,准备了红外测温仪、湿度测量仪、热风枪等工具,并准备了试验土样。该试验采用实时自动浇灌模式,对温度、湿度等参数进行设定,多次试验结果与预测结果均一致,可见设计能满足要求。测试结果如表1所示。
笔者对自动浇灌系统的温度传感器、湿度传感器进行USB端简易化连接设计,通过设定温度、湿度等参数进行处理。浇灌系统通过红外遥控进行温度、湿度等参数的设定,设定实时自动浇灌模式或定时自动浇灌模式,从而能够根据地域差异、季节差异、植物种类差异作出合理选择。根据试验要求,进行自动和手动浇灌试验。
图5 实时自动浇灌模式流程Fig.5 The flow of real-time automatic irrigation
图6 定时自动浇灌模式流程Fig.6 The flow of timed automatic irrigation
图7 灌溉系统安装与应用Fig.7 The installation and application of the irrigation system
(1)利用红外遥控器对交互界面进行参数设定,此过程涉及对遥控码的提取,并对提取的遥控码头进行信号标记,提供可行的设计方法。使用时只需要将遥控器对着红外接收头,即可进行系统参数设定。
(2)温度传感器的使用能够有效避免因温度过高时浇灌造成的植物根系损伤,造成植株代谢异常或死亡,有效保障了植物的正常生长。
表1 浇灌系统部分测试结果Table 1 Some testing results of the irrigation system
(3)自动浇灌模式有实时自动浇灌、定时自动浇灌2种方式。使用时可根据地域差异、季节差异、植物种类差异选择合理的浇灌方式。
该设计是基于单片机的自动浇灌系统,系统设计思路清晰,安装简单,成本较低,便于推广。系统可根据土壤的干燥条件进行合理浇灌管理,能够有效节约水资源,促进农业的自动化发展。