基于单片机的农田节水灌溉系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:农田湿度是农业中考量自然环境的重要因素,为了保证农田湿度适合农作物良好生长,设计了一套基于at89c51/smt32单片机的农田精准灌溉智能监测及控制系统。系统主要功能:结点湿度传感器检测土壤湿度并发送到单片机,结点单片机将土壤湿度传感器检测到的土壤湿度模拟量传给主机单片机转换成数字量显示到led显示器;若需灌水,则开启电磁阀进行倒计时定时灌水。
关键词:节水灌溉;单片机;智能监测
一、系统总体方案设计
本次设计的湿度检测系统如图1所示,是由电源、stm32单片机、at89c51单片机、湿度传感器、串行接口通信模块等几个部分。用户通过上位机对现场数据进行检测并且进行实时有效的远程控制,可以实现对农田的采集,并且通过485将数据传输至stm32单片机,进行数据的处理及存储。处理后的数据经gprs无线通信发送到远程监控中心,并对接收到的数据结合气象信息进行分析,与专家决策系统信息按照一定算法得出决策信息,来控制电磁阀的开关,以完成监控。
二、系统硬件电路设计
本次设计的湿度检测系统实物如图2所示。核心部分硬件包括以下几个部分:时钟电路、复位电路、数据采集(模数转换)电路。时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。引脚xtall和xtal2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定。复位是靠外电路来实现的,在正常运行情况下,只要rst引脚上出现两个机器周期时间以上的高电平,即可引起系统复位。但如果rst引脚上持续为商电平,单片机就处于循环复位状态。复位后系统将输入/输出(i/o)端口寄存器置为ffh,堆栈指针sp置为07h,sbuf内置为不定值,其余的寄存器全部清0,内部ram的状态不受复位的影响,在系统上电时ram的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。
三、系统软件设计
节水灌溉系统下位机在μvision4环境下开发,使用c语言编程。程序流程图如图3所示。
(1)节点通过uart2获取传感器数据,经过crc校验,如果数据有效,则将数据交给mudbus协议栈。stm32主机向节点分时获取数据时,stc51节点uart1将通信协议栈的数据上传到485总线上。
(2)主机stm32的usart1通过485总线发送指令给节点、接收节点数据(包括按键状态)。usart2发送数据给液晶屏并显示,同时接收液晶屏数据。usart3发送数据给gprs,并接收来自gprs的指令,这些数据和指令来自远程监控中心(linux服务器通过tcp/ip协议发来的数据,即android/pc用户上位机发来的数据指令)。stm32的io管脚部分按键的状态,以此来确定是自动还是手动控制。整个过程要对数据进行crc校验,状态保存,数据比对。
(3)面板按键在本套系统中被当作节点控制,stc51检测io管脚链接的按键状态,处理后上传给stm32主机。
小结
本文研究设计了一种基于stm32/at89c51单片机的智能检测控制系统,其融合了电子信息技术、计算机技术、物联网技术等,现已投入使用。这套系统实现了实时监控功能,随时掌握土壤湿度并控制滴管,但只进行六个测试点在15cm/25cm/40cm深度测试湿度,如果进行多点测试精度会更高;湿度传感器使用寿命较短需找到解决问题的方法。