收藏 分享(赏)

基于STM32智能灌溉系统的设计与实现_李焕然.pdf

上传人:哎呦****中 文档编号:2250776 上传时间:2023-05-04 格式:PDF 页数:4 大小:4.07MB
下载 相关 举报
基于STM32智能灌溉系统的设计与实现_李焕然.pdf_第1页
第1页 / 共4页
基于STM32智能灌溉系统的设计与实现_李焕然.pdf_第2页
第2页 / 共4页
基于STM32智能灌溉系统的设计与实现_李焕然.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、38|电子制作 2023 年 2 月智能应用0 引言过去几年,我国农业智能灌溉技术得到了一定的发展,但由于市面的灌溉控制器使用不方便、功能较少等缺点普遍存在,需要人工手动操控,工作人员要频繁的手动切换电动阀门在不同的灌区之间,高人工费用,无法解放劳动力,难以开展大规模的农业管理活动。另外,传统的灌溉机也有很多问题需要解决,比如不能对灌区目前的土壤水分进行实时监测,单靠人工进行灌溉决策,土壤含水量不能保持在合适的水平,造成了大量的灌溉用水不能得到有效利用,导致过涝、土壤硬化,作物减产等问题。因此,针对智能灌溉进行系统化的研究具有重要的使用意义和开发价值。1 系统整体方案本次基于 STM32 智能

2、灌溉系统的设计,选用 STM32F 103C8T6 来作为灌溉控制器的 MCU,由电源模块、湿度传感器模块、OLED显示模块、蜂鸣器和水泵等部分组成,系统运行后土壤湿度传感器检测环境湿度,OLED 显示屏实时显示当前土壤湿度、水泵浇水状态、模式、土壤干燥阈值和过湿阈值,通过按键可以改变自动、手动和设置三种模式的转换,自动模式下当土壤湿度小于干燥值时水泵自动浇水,当土壤湿度大于过湿阈值时声光报警,手动模式通过按键控制水泵开关,设置模式通过按键设置干燥阈值和过湿阈值以实现智能灌溉。图 1 为基于 STM32 智能灌溉系统的整体框架。2 硬件电路设计 2.1 主控核心电路设计STM32F103C8T

3、6 最小系统板由外部复位电路、外部时钟电路以及MCU 本体构成。控制器作为 MCU 的主要控制核心,其作用是在系统运行期间,有效地识别出由 MCU 发出的指令,并根据指令控制系统的某些功能,从而确保 MCU 可以按照指令执行所要求的工作。在整个微处理器工作系统中,通过控制器来完成各种指令的传递和处理。在实际运行时,控制器会把系统内存中的指令发送到一个寄存器中,然后进行相基于 STM32 智能灌溉系统的设计与实现李焕然(黑龙江工商学院,黑龙江哈尔滨,150025)摘要:该系统硬件采用STM32F103C8T6单片机作为主控单元,土壤湿度传感器为主要传感器,通过按键可以改变自动、手动和设置三种模式

4、的转换,OLED实时显示当前土壤湿度、水泵浇水状态、模式、土壤干燥阈值和过湿阈值,自动模式下当土壤湿度小于干燥值时水泵自动浇水,当土壤湿度大于过湿阈值时声光报警,手动模式通过按键控制水泵开关,设置模式通过按键设置干燥阈值和过湿阈值以实现智能灌溉。关键词:STM32F103C8T6;OLED;智能灌溉PC13/TAMPER-RTC1PC14/OSC_IN2PC15/OSC_OUT3PA0/WKUP/ADC12_IN0/TIM2_CH14PA1/ADC12_IN1/TIM_CH25PA2/UART2_TX/ADC12_IN2/TIM2_CH36PA3/UART2_RX/ADC12_IN3/TIM2

5、_CH47PA4/ADC12_IN48PA5/ADC12_IN59PA6/ADC12_IN6/TIM3_CH110PA7/ADC12_IN7/TIM3_CH211PA8/TIM1_CH112PA9/UART1_TX/TIM1_CH213PA10/UART1_RX/TIM1_CH314PA11/USBDM/CAN_RX/TIM1_CH415PA12/USBDP/CAN_TX16PA13/JTDI17NC18NC19NC/GND20NC21NC22NC23PB0/ADC12_IN8/TIM3_CH324PB1/ADC12_IN9/TIM3_CH425PB2/BOOT126PB3/JTDO27PB4

6、/NJTRST28PB529PB6/TIM4_CH130PB7/TIM4_CH231PB8/TIM4_CH332PB9/TIM4_CH433PB10/UART3_TX34PB11/UART3_RX35PB1236PB1337PB1438PB15393V340GND41VCC_5V42GND43VCC_5V44GND45VCC_5V46U1STM32_COREPC13PC14PC15PA0PA1PA2PA3PA4PA5PA6PA7PA8PA9PA10PA11PA12PA13GNDVCC_5VVCC_3.3VPB0PB1PB4PB7PB8PB9PB10PB11PB12PB13PB14PB15PB6

7、PB5PB2PB3图 2 STM32F103C8T6 单片机的引脚图 电源 STM32 单片机 主控器模块 OLED 显示模块 灌溉模块 YL-69 湿度 传感器模块 蜂鸣器 按键 模块 图 1 系统整体框图DOI:10.16589/11-3571/tn.2023.03.015wwwele169com|39智能应用应的存储。然后由指令译码器进行解译,并将所得到的结果传送到时序控制逻辑电路,再通过指令传递给其他器件,从而实现单片机的工作。STM32F103C8T6 单片机的引脚图如图 2 所示。整个单片机一共引出 44 个引脚,该单片机 GPIO 口有很多种模式,其中最多使用到的模式有推挽输出以

8、及模拟输入这两种模式。其丰富的 IO 口模式使得在外接按钮时可以不设计上下拉电阻,更方便设计与研究。2.2 OLED 显示模块电路设计在本设备添加 OLED 显示模块展示当前环境参数信息,例如土壤湿度、水泵浇水状态、模式、土壤干燥阈值和过湿阈值。方便查看实时环境参数,提供具体数据供用户参考。OLED 显示模块选用 0.96 寸四针 I2C(Inter-Integrated Circuit)接口的OLED显示屏,显示效果非常清楚,对比度高,无需电平转换芯片,成本低且易开发,OLED 显示模块如图3 所示。OLED 显示模块只需要 SCL 和 SDA 两条信号线即可与 MCU 进行通讯,SCL 和

9、 SDA 分别与 GPIO 端口 PB8 和PB7 相连,通信通过模拟 I2C 的方式来实现,OLED 显示模块电路原理图如图 4 所示。GNDVCCSCLSDAOLEDGNDVCCPB8PB7图 3 OLED 显示模块 图 4 OLED 显示模块电路原理图 2.3 按键电路设计为了实现智能灌溉控制,有四个按键被加在本系统的电路中,四个按键依次接在 MCU 的 PB12、PB13、PB14、PB15 端口上,S1 可以进行自动、手动和设置三种模式的转换,手动模式下 S2 控制水泵的运行的状态,设置模式下S3 和 S4 可以增加或减少干燥阈值和过湿阈值。这四个按键应用的是上拉输入方式,按键如果闭

10、合,主控制器就会检测到低电平,按键松开时则会检测到高电平。按键电路设计如图 5 所示。2.4 土壤湿度传感器电路设计YL-69 是本次设计所需的土壤湿度传感器的最佳选择,因为镍被镀在了它的探测器表面,既可以改善导体的导电性,又可以避免与土壤接触后的腐蚀。图 6 为其实物图。图 6 YL-69 实物图在本次设计中,通过 ADC 采样的方式对 AO 端口进行模拟量的采集,经过模数转换,能得到更准确的土壤含水量,如图 7 所示,STM32 单片机通过 ADC1 的 PA0 引脚对土壤湿度传感器 AO 端口输出的模拟电压进行采集。AO/NC1DO2GND3VCC421U2土壤检测MODEVCC_5VG

11、NDPA0 图 7 土壤湿度传感器电路设计 2.5 灌溉模块电路设计此模块主要由一个 5V 供电的水泵、S8050NPN 型三极管、电容以及 LED 灯组成。其中电容 C1 并联到水泵电枢两端,可以起到滤波和抗干扰的作用,当 MCU 给引脚 PC14高电平时,三极管导通,水泵开始运转,LED1 指示灯亮起;当MCU给引脚PC14低电平时,三极管截止,水泵停止运转,LED1 指示灯熄灭。灌溉模块电路原理图如图 8 所示。2.6 蜂鸣器报警电路设计此模块主要由一个 S8050NPN 型三极管、LED 灯,以及有源蜂鸣器组成。R4 为限流电阻,当 MCU 给引脚 PC13高电平时,三极管导通,VCC

12、 便给蜂鸣器供电,LED2 指示灯亮起;当 MCU 给引脚 PC13 低电平时,三极管截止,蜂鸣器不导通,LED2 指示灯熄灭。蜂鸣器电路原理图如图 9所示。12121212PB12PB13PB14PB15图 5 按键电路设计40|电子制作 2023 年 2 月智能应用12ventilationQ1S8050C1220uFR1220RR11KLED1GREENGNDVCC_5VPC14 图 8 灌溉模块电路原理图R31KR41KLED2YELLOWQ2S8050+B1BUZZERVCC_5VPC13GND 图 9 蜂鸣器电路原理图3 软件设计在系统的设计中,不仅要进行硬件设计,还要进行软件编程

13、。由于本设计中使用了以单片机为控制器,所以在软件编程平台的选取上也要相应地考虑。一般情况下,针对单片机的软件开发平台有很多,比如 Keil,IAR 等。C 语言易于移植、灵活,非常符合系统的设计要求,与汇编相比,C 语言具有较高的可移植性。KeiluVision5 是一个高效、易用的开发环境,它不但加快了我们的研究速度,也降低了我们的人力物力,并且满足了我们的需求。所以,这个设计选用了KeiluVision5 来进行程序调试。同时,该软件还具有联机调试的能力,利用专用的联机调试工具,能够实现对单片机的运行状态的实时监测,并能够设定断点,实现单步运行,便于用户进行程序的调试。首先需要进行对单片机

14、引脚初始化操作,土壤湿度传感器将采集到的环境湿度上传到 MCU 进行分析,若环境湿度小于干燥阈值则开启水泵进行灌溉,然后和过湿阈值进行对比,若大于过湿阈值,则水泵关闭,蜂鸣器警报,反之进行循环系统的判断,然后与 OLED 显示模块通过模拟 I2C 的方式进行通讯,并将当前环境数据和水泵运行状态进行展示,最后 MCU 持续扫描按键对应 IO 口的输入状态,根据不同的按键,可以进行自动、手动和设置三种模式的转换,控制水泵的运行的状态,增加或减少干燥阈值和过湿阈值。系统流程图如图 10 所示。开始初始化水泵开启是否大于过失温度阈值执行对应指令结束是否小于干燥阈值YYN采集环境湿度值水泵关闭蜂鸣器报警

15、OLED显示数据有按键按下?YN 图 10 系统流程图4 系统调试用吸水的纸巾模拟不同的土壤环境进行测试,系统初始化完成之后,自动模式下,当纸巾湿度小于干燥阈值时,通过 OLED 显示屏可以观察到水泵已经成功开启进行灌溉,如图 11 所示,OLED 显示屏中土壤湿度为 2%,干燥阈值为 48%,过湿阈值为 80%,水泵:开启。当纸巾湿度大于干燥阈值,小于过湿阈值时,通过OLED 显示屏可以观察到水泵已经关闭停止灌溉,如图12 所示,OLED 显示屏中土壤湿度为 65%,干燥阈值为48%,过湿阈值为 80%,水泵:关闭。wwwele169com|41智能应用 图 11 OLED 显示 图 12

16、OLED 显示当纸巾湿度大于过湿阈值时,通过 OLED 显示屏可以观察到水泵已经关闭停止灌溉,蜂鸣器指示灯亮起并发出警报,如图 13 所示,OLED 显示屏中土壤湿度为 99%,干燥阈值为48%,过湿阈值为 80%,水泵:关闭。当灌溉模块启动之后,水泵通水,指示灯亮起,进行灌溉,如图 14 所示。图 14 进行灌溉以上测试数据整理如表 1 所示。表1 不同环境下的测试数据土壤湿度 干燥阈值 过湿阈值 水泵状态LED1蜂鸣器LED22%48%80%开启亮关闭灭65%48%80%关闭灭关闭灭99%48%80%关闭灭开启亮对系统按键模块进行测试,按下按键 S1,模式已经切换为手动,如图 15 所示。图 15 按键控制再次按下按键 S1,模式已经切换为设置,按下 S3 或S4 即可改变干燥阈值和过湿阈值,如图 16 所示。图 16 按键控制经过多次实验测试,系统显示和控制效果均达到预期,能够稳定运行,基本符合设计要求。5 结论水资源的不合理利用、灌溉不及时、高人工费用等是当前传统农业灌溉中普遍存在的问题,本文提出了一种基于STM32 智能灌溉系统的设计,与传统的灌溉方法比较,能够自动进行控制灌

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2