中小学科普用植物浇水控制器的设计与实现
2018-03-12樊溶
樊溶
摘 要:目前,许多中小学校都成立了植物种植科普兴趣小组,在兴趣小组开展活动时,在关键的节点,比如浇水、加热、喂食喂水等环节,由于参与人员意见往往不能够完全一致,引起争执甚至冲突。特别是城市中的中小学生,从小生活在城市,对植物生长规律、水分条件等都缺少直观的认知。中小学科普用植物浇水控制器通过引入单片机,通过采集所关注的物理量(如湿度、温度、水位等),由兴趣小组成员进行判断,投票表决,由单片机根据投票结果进行判断,自动启动控制继电器,来执行是否进行浇水的意见,解决了传统植物种植兴趣小组只是观察记录、缺少互动的弊端,以达到兴趣小组成员集体参与、共同表决、提升兴趣的目的。
關键词:单片机;科普;投票;控制
中图分类号:TP23 文献标志码:A 文章编号:1673-8454(2018)04-0080-06
一、引言
土壤湿度表示一定深度土层的土壤干湿程度的物理量,又称土壤水分含量。土壤湿度的高低受水分平衡各个分量的影响,比如注入水量、环境温度、环境湿度、土壤成份密度、植物叶面积等,但起决定作用的是注入水量。土壤湿度决定植物的水分供应状况。土壤湿度过高,土壤通气性变差,影响土壤中微生物的活动,使植物根系的呼吸、生长等生命活动受到阻碍,造成烂根、滋生病害,从而影响植物地上部分的正常生长。土壤水分含量过低,形成土壤干结,植物的水分摄入不足,造成光合作用不能正常进行,影响植物的生长,严重缺水导致作物凋萎和死亡。
在中小学校植物种植的科普活动中,土壤的湿度状况决定了植物的生长状况,对土壤湿度的控制显得尤为重要,中小学科普用植物浇水控制器通过单片机的引入,可以实时显示土壤湿度状况,通过参与者的表决,自动控制对植物水分的补充。YL-69土壤湿度传感器感应土壤湿度信息,经A/D转换后由单片计算机控制实时显示,参与同学根据土壤湿度状况,结合自己的经验判断,通过设置的投票键盘,投票表决是否浇水,最后由单片计算机根据投票情况判断浇水与否。第二天通过观察植物的生长情况,结合实时显示的土壤湿度,兴趣小组的每位成员再进行新的一轮判断。以此提升同学们的兴趣,同时也通过单片计算机的引入、应用,使同学们学习掌握计算机知识、电器原理知识等,以丰富其知识面。
二、系统组成及工作原理
该系统组成如图1所示,包括STC89C52单片机、复位及时钟电路、湿度传感器模块、A/D转换模块、键盘输入模块、继电器控制水泵模块与LCD显示模块。
该系统的工作过程为:土壤湿度传感器(YL-69)将湿度信号送至A/D转换模块,经模数转换后,所得数字信号送入单片机进行数据处理,将得出的结果发送到液晶显示器进行显示,供兴趣小组成员直观了解目前的土壤湿度状况。兴趣小组成员结合植物长势、光照等条件综合做出是否同意浇水的意见,通过S2(同意浇水)、S3(不同意浇水)进行投票。LCD屏幕上实时显示已经投票同学的意见结果,全部同学表决结束后,按S1键(结束),由单片机判断控制,如同意票数大于不同意票数,单片机输出信号控制继电器电源进行浇水,同时点亮LED1指示浇水状态,单片机自动延迟10秒(根据种植的容器大小进行设置)后停止,完成一个浇水过程。
三、各单元模块功能介绍及电路设计
1.传感器部分
测量土壤湿度的方式很多,其原理是根据某种物质从土壤中吸收水分后引起的物理或化学性质的变化,间接地获得该物质的湿度。电容式、电阻式和湿涨式湿敏元件等是根据其介质材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。
YL-69是一个简单的土壤湿度传感器,感应部分为湿敏电容,当环境的湿度发生改变时,会使得湿敏电容存在的环境中的介质发生改变,通过该部件外围电路将电容的变化转换为模拟电压值。该系统供电电压为5V,当温度值为0%-100%时,模拟输出端电压变化在4.75V-1.45V之间,与所测湿度值成反比。
2.A/D转换模块
ADC0832是8位分辨率、双通道A/D转换芯片,最高分辨可达256级,可以满足模拟量转换要求。芯片转换时间仅为32μS,具有双数据输出可作为数据校验或有效减少数据误差,转换速度快且稳定性能强。将YL-69输出的模拟电压信号输入DI 数据输入端,转换为数字信号,输入单片计算机进行处理。
3.STC89C52单片机模块
(1)功能特征描述
单片机采用广泛使用的STC89C52,为通用单片机,拥有灵巧的8 位CPU 和在系统可编程Flash,通过Keil 编程软件可将C语言程序进行编译、仿真、写入。
(2)硬件端口连接
P0端口:是一个8位漏极开路的双向I/O口,作为输出口与LCD1602的数据输入端D0-D7相连接。
P1端口:P1端口的0、1、2分别连接模数转换器ADC083的CLK、DIO和CS端口,控制模数转换器并读取转换结果。
P2端口:系统中使用P2的5-7端口与LCD1602的RS、RW和EN口相连接,控制LCD显示。P2的0端口作为输出输出控制端口,低电平有效。控制输出通过三极管控制继电器,驱动水泵进行浇水,延迟10秒后置P2的0端口高电平停止。在启动水泵浇水的同时置LED2灯控制端低电平,发光,指示浇水状态。
P3端口:是一个有内部上拉电阻的8 位双向I/O 口,利用P3的0、1和2端口通过S1、 S2 S3与地连接,捕捉开关有触发输入。
(3)时钟与复位电路
根据STC89C52的要求,要使内部振荡电路启振,形成时钟,必须外接晶振以及电容C1和C2,构成了并联谐振电路接在放大器的反馈回路中。外接电容的大小会影响振荡频率的高低和振荡器的稳定性。晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为便于计算,采用12MHZ的晶振,电容选择30pf。endprint
本系统在设计上对复位电路设计成上电复位加手动复位,方便使用。在程序“跑飞”时,可以手动复位,不用再重起单片机电源。单片机加电瞬间,时钟电路产生时钟脉冲,控制器按照指令的功能产生一系列在时间上有一定次序的信号,控制相关的逻辑电路工作,实现执行指令的功能。
4.键盘输入模块
该系统设计3个键盘输入端,分别为按键S1、S2和S3。S2为同意浇水按键,每按1次,同意寄存器数据增加1;S2为不同意浇水按键,每按1次,不同意寄存器数据增加1。S1为结束按键,按下后启动比较程序,比較两个寄存器数据大小,执行不同的指令。
5.LCD显示模块
该系统设计要求能同时显示实事监测的土壤湿度值,还要同步显示两组投票的数据,显示内容较多,而且需要同屏显示,数码管不能满足需要,选用能够同时显示较多信息的LCD1602。1602字符型液晶显示器是一种专门用来显示字母、数字、符号等的点阵型液晶模块,可同时显示两行,每行8个字符。第一行显示实时土壤湿度值,第二行为状态行,投票时显示同意和不同意两组数据,表决后显示执行的动作,执行浇水动作时显示“STARTING WATER”,不执行则显示“STOPED OVER...”。
在LCD1602显示湿度值、投票情况和浇水状态的同时,设计了2个LED和1个蜂鸣器,进行辅助状态提示,当土壤湿度值大于50%时,LED1点亮,警示土壤湿度值较高。当启动浇水时LED2指示正在浇水,同时蜂鸣器响起,指示正在浇水中。
四、系统软件设计
1.主程序流程图(见图2)
2.软件设计原理
本系统的软件设计采用C语言编写,软件设计采用结构化和模块化设计方法,便于功能扩展。系统上电以后初始化,同意票数和不同意票数置零,湿度传感器采集到的数据通过A/D模数转换后传送给单片机,单片机将采样芯片送来的数据送到液晶显示器(LCD1602)显示,LCD602的第一行显示“Humidity”和土壤湿度值,LCD1602的第二行显示“YES: 0 NO: 0”。进入主循环程序,对按键是否触发进行判断,如有按键触发则进入判断程序,若S2按下,则为同意票数增加1票,送LCD602显示;若S3按下,则不同意票数增加1票,送LCD602显示;若为S1按下,则启动判断程序,比较同意票数和不同意票数的大小,若同意票数>不同意票数,启动继电器为水泵加电浇水,同时在LCD602第二行显示“STARTING WATER”,若同意票数<=不同意票数,则显示“STOPED OVER...”。
3.软件设计所用工具
完成该设计的软件编程主要是利用单片机的外部接口电路和单片机编程软件实现的,所以程序的正确可行是实现该方案的必要条件,编写程序时主要利用的软件是Keil 编程软件。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil则为其提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
4.程序代码
五、结束语
本系统通过一块STC89C52单片计算机实现了土壤温度的采集、显示,表决投票的输入、显示,同时可对输入结果进行比较,以控制继电器,进而驱动水泵对植物进行浇水。将投票表决和植物种植浇水有机结合起来,增强了科普的兴趣性。本系统具有硬件电路简单、外围元器件少、成本低的特点,软件一次性写入固化,并且具有可升级性能,在硬件电路不变的情况下,通过控制程序简单修改即可增加其它功能,比如可以固定设置兴趣小组总人数,全部投票后自动比较判断,还可以增加湿度超过设置值(如70%)屏蔽灌水功能等,以供参与的同学们拓展和开发。
参考文献:
[1]张毅刚,彭喜元编.单片机原理及应用[M].北京:高等教育出版社,2010.
[2]杨素行.模拟电子技术基础简明教程[M].北京:高等教育出版社,2006.
[3]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.
[4]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006.
[5]孟立凡等.传感器原理及技术[M].北京:国防工艺出版社,2005.
[6]陈有卿,张晓东.报警集成电路和报警器制作实例[M].北京:北京人民邮电出版社,2001.
[7]何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2001.
[8]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2008.
[9]史军勇,冀捐灶,杨宝强.基于AT89C2051的温湿度控制仪[J].电子技术,2004(1).
[10]周旭.现代传感器技术[M].北京:国防工业出版社,2007.
[11]肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8.(编辑:鲁利瑞)endprint