欢迎光临
我们一直在努力

基于STM32的智能农业大棚监测系统(完整项目)

基于STM32的智能农业大棚监测系统设计

摘要

随着农业现代化进程的加快,传统农业大棚种植模式存在环境监测不精准、人工控制效率低、资源浪费严重等问题,难以满足现代农业精准化、智能化的种植需求。为解决上述问题,本文设计并实现了一款基于STM32F103C8T6单片机的智能农业大棚监测系统,整合环境参数监测、智能设备控制、人机交互、无线通信及物联网平台对接等多项核心功能,构建了一套性价比高、操作便捷、性能稳定的智能农业解决方案。

系统以STM32F103C8T6单片机为核心控制单元,硬件上集成DHT11温湿度传感器、DS18B20土壤温度传感器、YL-69土壤湿度传感器、光敏电阻、CO₂浓度传感器、ULN2003A步进电机驱动电路、两路继电器模块、补光LED、蜂鸣器、0.96寸OLED显示屏、4个按键模块及ESP8266 WiFi模块,实现多模块协同工作;软件上基于Keil MDK5开发环境,采用C语言编写程序,遵循模块化设计原则,开发各功能子程序,同时对接机智云物联网平台,实现WiFi远程通信、数据同步及远程控制。

本文详细阐述了系统的总体方案设计、硬件电路设计、软件程序开发、机智云平台对接、系统调试及性能测试过程。测试结果表明,该智能农业大棚监测系统各模块工作稳定,环境及土壤参数采集精准,设备控制响应迅速,报警机制可靠,WiFi通信稳定,能够通过OLED显示屏实时显示监测数据,通过按键完成参数设置,通过机智云平台实现远程监控与控制,有效解决了传统大棚种植的弊端,提升了种植效率,节约了水资源和能源,具有良好的实际应用价值和推广前景。

关键词:STM32F103C8T6;智能农业;大棚监测;传感器检测;ESP8266;机智云平台

第1章 绪论

1.1 研究意义

农业是国民经济的基础产业,随着科技的不断进步,农业正逐步从传统粗放型种植向现代精准型、智能化种植转型。农业大棚作为现代农业的重要载体,能够有效调控室内环境,突破自然环境的限制,实现农作物的反季节种植和优质高产。但目前,我国多数农业大棚仍采用传统的人工监测和控制模式,存在诸多弊端:人工监测精度低、效率低,难以实时掌握大棚内环境及土壤参数的变化;人工控制设备响应滞后,易导致环境参数偏离农作物生长适宜范围,影响农作物产量和品质;水资源、电力资源浪费严重,种植成本居高不下。

基于STM32的智能农业大棚监测系统,通过各类传感器实时采集大棚内环境温湿度、土壤温湿度、光照强度、CO₂浓度等关键参数,通过单片机进行数据处理和逻辑判断,自动控制步进电机、继电器、补光灯等设备运行,同时借助ESP8266 WiFi模块对接机智云平台,实现远程监控与控制。该系统能够实现大棚环境的精准监测和智能调控,减少人工干预,提升种植效率,节约资源,降低种植成本,对推动农业现代化发展、提高农作物产量和品质具有重要的现实意义。

从理论意义来看,本研究融合STM32嵌入式技术、传感器检测技术、WiFi通信技术、物联网技术和智能控制技术,丰富了智能农业大棚系统的设计思路和技术方案,为同类智能农业产品的研发提供了参考与借鉴。从实际意义来看,该系统成本低廉、安装便捷、操作简单,适合广大农户和小型农业基地使用,能够有效解决传统大棚种植的痛点,推动农业向精准化、智能化方向发展,具有良好的实用性和推广价值。

1.2 研究背景

当前,全球农业正进入智能化、数字化发展的新阶段,物联网、大数据、人工智能等技术与农业生产深度融合,推动农业产业转型升级。我国高度重视农业现代化发展,出台了多项政策支持智能农业的研发和推广,明确提出要加快推进农业数字化、智能化转型,提升农业生产效率和质量。

目前,市面上的智能农业大棚监测系统种类繁多,但存在诸多不足:部分产品功能单一,仅支持单一类型的参数监测或设备控制,无法实现全方位的环境调控;部分产品价格昂贵,依赖高端芯片和复杂算法,难以普及到广大农户和小型农业基地;部分产品兼容性差,不同模块之间协同性不足,系统稳定性有待提升;还有部分产品缺乏便捷的远程管控功能,用户无法随时随地掌握大棚环境状态和设备运行情况,使用体验不佳。

STM32系列单片机凭借其高性能、低功耗、外设丰富、性价比高的优势,已广泛应用于各类嵌入式智能设备的开发。STM32F103C8T6单片机作为入门级嵌入式芯片,具备足够的运算能力和外设接口,能够满足智能农业大棚监测系统的控制需求,同时成本较低、体积小巧,适合批量生产和推广。ESP8266 WiFi模块作为常用的物联网通信模块,具有通信稳定、功耗低、成本低廉、接线简单等优点,能够快速实现系统与机智云平台的无线通信,降低系统开发难度。机智云平台作为专业的物联网云平台,提供了便捷的设备接入、数据存储、远程控制等服务,能够快速实现智能设备的云端部署和远程管控。

在此背景下,设计一款基于STM32F103C8T6单片机的智能农业大棚监测系统,整合多类监测功能和智能控制功能,对接机智云平台,兼顾性价比和实用性,解决传统农业大棚种植的弊端,满足广大农户和小型农业基地的智能化种植需求,具有重要的现实意义。

1.3 国内外研究现状

随着智能农业技术的不断发展,国内外学者和企业对智能农业大棚监测系统的研究和开发投入不断增加,形成了多种技术方案和产品形态,具体研究现状如下:

(1)国内研究现状:国内智能农业产业发展迅速,众多企业和科研机构纷纷开展智能农业大棚监测系统的研发,产品性价比不断提升,功能日益丰富。目前,国内主流的智能农业大棚监测系统主要集中在环境参数监测、智能设备控制、远程通信等领域,大多采用STM32系列单片机作为核心控制单元,结合各类传感器和通信模块,实现大棚环境的精准监测和智能调控。同时,国内学者在嵌入式智能农业系统研发方面取得了诸多成果,优化了传感器采集精度和设备控制算法,提升了系统的稳定性和实用性。但国内部分产品仍存在不足,如传感器监测精度有待提升、WiFi通信稳定性不足、智能控制算法不够完善、与物联网平台的对接不够便捷等,难以完全满足现代农业精准化种植的需求。

(2)国外研究现状:国外智能农业技术起步较早,技术相对成熟,产品的智能化程度和稳定性较高。国外产品不仅具备基础的环境监测和设备控制功能,还融入了人工智能、大数据分析、机器学习等先进技术,能够根据农作物的生长规律,实现环境参数的精准调控和设备的智能联动。例如,美国、日本等国家的智能农业大棚系统,支持多参数精准监测、自动灌溉、智能遮阳、远程管控等高级功能,通过物联网平台实现多大棚的集中管理,极大提升了种植效率和农作物品质。但此类产品价格昂贵,且部分功能与我国农业种植习惯适配性较差,同时依赖特定的云平台和生态系统,难以在我国广大农户和小型农业基地广泛普及。

1.4 研究内容与技术路线

1.4.1 研究内容:本文围绕基于STM32的智能农业大棚监测系统设计展开,主要研究内容如下:

1. 系统总体方案设计:结合智能农业大棚的种植需求和硬件特性,设计系统总体架构,划分功能模块,明确各模块的功能和交互逻辑,完成元器件选型,确保系统功能完整、性能稳定、性价比高,适配农业大棚场景使用。

2. 硬件电路设计:基于STM32F103C8T6单片机,设计各功能模块的硬件电路,包括主控模块、传感器模块、执行设备模块、显示与输入模块、通信模块及电源模块,完成电路绘制和硬件组装。

3. 软件程序开发:基于Keil MDK5开发环境,采用C语言编写系统软件程序,搭建软件总体架构,开发主程序及各功能模块子程序,实现环境及土壤参数采集、智能设备控制、显示控制、报警控制、人机交互、WiFi通信等功能。

4. 机智云平台对接:完成ESP8266 WiFi模块与机智云平台的对接,实现设备注册、数据上传、指令下发等功能,开发机智云APP控制界面,实现远程监测与控制。

5. 系统调试与性能测试:搭建测试环境,模拟农业大棚实际场景,制定测试方案,对系统各模块进行单独测试和整机联调,排查故障并进行优化,验证系统的功能和性能,确保参数采集精度、设备控制响应、WiFi通信稳定性等指标达到设计要求。

6. 研究总结与展望:总结本研究的成果和不足,结合智能农业技术的发展趋势,对系统的后续优化方向进行展望。

1.4.2 技术路线:本文遵循“需求分析—方案设计—硬件开发—软件开发—云平台对接—调试优化—总结展望”的技术路线,具体如下:

1. 需求分析:明确智能农业大棚监测系统的核心功能需求和性能要求,梳理研究重点和难点,结合农作物生长的适宜环境参数,确定系统的设计目标。

2. 方案设计:设计系统总体架构,划分功能模块,完成元器件选型,确定硬件连接方式和软件设计思路,绘制系统总体框图和各模块电路图。

3. 硬件开发:绘制各模块硬件电路图,完成硬件焊接、组装和接线,确保硬件系统正常工作,兼顾设备的小型化、防水性和抗干扰性,适配农业大棚潮湿、多干扰的环境。

4. 软件开发:编写系统软件程序,调试各功能模块子程序,实现各模块协同工作,优化程序代码,降低系统功耗,提升系统稳定性和响应速度,加入数据滤波和异常处理逻辑。

5. 云平台对接:配置机智云平台,完成ESP8266 WiFi模块与云平台的通信,开发APP控制界面,实现远程数据查看、设备控制和参数设置。

6. 调试优化:对系统进行单元测试和整机联调,排查硬件故障和软件漏洞,优化参数采集精度和WiFi通信稳定性,确保系统满足农业大棚的实际使用需求。

7. 总结展望:总结研究成果,分析存在的不足,提出后续优化方向,为同类智能农业产品的研发提供参考。

第2章 系统方案设计

2.1 系统总体架构设计

本基于STM32的智能农业大棚监测系统采用模块化架构设计,以STM32F103C8T6单片机为核心控制单元,整合硬件层、软件层和云平台层三大层面,实现环境及土壤参数监测、智能设备控制、人机交互、WiFi远程通信及机智云平台管控等核心功能。系统总体架构分为核心控制模块、传感器模块、执行设备模块、显示与输入模块、通信模块及电源模块六大模块,各模块协同工作,确保系统稳定运行,适配农业大棚的实际使用场景。

系统总体架构设计遵循“模块化、低成本、易操作、高稳定、抗干扰”的原则,各模块功能划分清晰、接口标准化,便于后期调试、维护和升级,同时兼顾系统的实用性和性价比,适应农业大棚潮湿、多干扰的环境特点。具体模块功能如下:

1. 核心控制模块:以STM32F103C8T6单片机为核心,负责接收各模块的输入信号(传感器数据、按键指令、机智云平台指令等),进行数据处理和逻辑判断,向各输出模块下发控制指令,统筹协调各模块的工作,是系统的“大脑”;同时负责数据存储,记录环境及土壤参数的历史值、设备运行状态及报警信息。

2. 传感器模块:由DHT11温湿度传感器、DS18B20土壤温度传感器、YL-69土壤湿度传感器、光敏电阻、CO₂浓度传感器组成,负责采集大棚内环境温湿度、土壤温度、土壤湿度、光照强度、CO₂浓度等关键参数,将采集到的数据传输至核心控制模块,为智能控制和报警判断提供数据依据。

3. 执行设备模块:由ULN2003A步进电机驱动电路、两路继电器模块、补光LED、蜂鸣器组成,负责接收核心控制模块的控制指令,实现步进电机(通风、遮阳)、水泵、风扇、补光灯的启停控制,以及异常情况下的蜂鸣器报警,同时将设备运行状态反馈给核心控制模块,用于显示和远程同步。

4. 显示与输入模块:由0.96寸OLED显示屏和4个按键模块组成,OLED显示屏负责实时显示各类环境及土壤参数、设备运行状态、参数设置菜单等,便于用户本地查看;4个按键负责接收用户的手动操作指令(界面切换、参数设置、设备控制等),实现用户与系统的本地交互。

5. 通信模块:由USB接口和ESP8266 WiFi模块组成,USB接口用于STM32单片机与电脑的串口通信,实现程序下载和数据调试;ESP8266 WiFi模块用于实现系统与机智云平台的无线通信,将采集到的参数和设备状态上传至云平台,同时接收云平台下发的控制指令,实现远程控制。

6. 电源模块:负责为整个系统提供稳定的供电,将外部输入的电压转换为各模块所需的工作电压,确保各模块正常工作,同时实现电源保护和抗干扰设计,适应农业大棚的供电环境。

系统工作流程如下:系统上电后,各模块初始化,传感器模块开始实时采集大棚内环境及土壤参数;核心控制模块对采集到的数据进行处理、分析,与预设的农作物生长适宜参数阈值进行对比,判断是否需要调控设备或触发报警;显示模块实时更新显示内容,包括各类参数、设备状态和菜单信息;当参数超出阈值时,核心控制模块下发控制指令,控制相应执行设备运行,同时触发蜂鸣器报警(可选);通信模块将采集到的数据和设备状态上传至机智云平台,用户可通过机智云APP查看数据、下发控制指令;用户也可通过本地按键切换界面、设置参数、控制设备运行。

2.2 元器件选型

结合系统功能需求、农业大棚的环境特点、性能要求、性价比及易用性,严格筛选适配的元器件,确保各模块兼容、稳定工作,同时兼顾系统的低成本、小型化、防水性和抗干扰性,各模块元器件选型如下:

2.2.1 核心控制模块选型:选用STM32F103C8T6最小系统板作为核心控制单元。该芯片基于ARM Cortex-M3内核,主频最高可达72MHz,拥有64KB Flash存储器和20KB SRAM,可满足系统程序存储和数据处理需求,同时能够存储一定量的环境及土壤参数历史数据和设备运行记录;外设丰富,配备多个通用I/O口、UART串口、I2C接口、ADC接口等,便于与各模块连接;低功耗特性突出,支持睡眠模式、停机模式等多种低功耗模式,可有效降低系统能耗;同时,该芯片性价比高、体积小,便于硬件集成,符合智能农业大棚监测系统的小型化和低成本需求。

2.2.2 传感器模块选型:

(1)环境温湿度传感器:选用DHT11温湿度传感器,工作电压为3.3V-5V,采用单总线通信协议,接线简单、占用I/O口少;测量范围为温度0-50℃(精度±2℃)、湿度20%-90%RH(精度±5%RH),能够满足农业大棚环境温湿度监测的需求;响应速度快,功耗低,性价比高,且具备一定的防水性能,适合大棚潮湿环境使用。

(2)土壤温度传感器:选用DS18B20防水温度传感器,工作电压为3.3V-5V,采用单总线通信协议,接线简单、占用I/O口少;测量范围为-55℃-125℃(精度±0.5℃),能够精准采集土壤温度,适配不同深度的土壤监测;具备良好的防水性能,可直接插入土壤中使用,抗干扰能力强,适合农业大棚土壤监测场景。

(3)土壤湿度传感器:选用YL-69土壤湿度传感器,工作电压为3.3V-5V,通过模拟信号输出土壤湿度,测量范围为0%-100%RH;灵敏度高,能够准确反映土壤湿度变化,为灌溉控制提供依据;具备防水性能,可直接插入土壤中使用,结构简单、成本低廉,适合农业大棚土壤湿度监测。

(4)光照强度传感器:选用光敏电阻模块,工作电压为3.3V,通过模拟信号输出光照强度,测量范围广,响应速度快;能够检测大棚内光照强度变化,为补光灯的控制提供数据依据;成本低廉、接线简单,便于集成,且抗干扰能力强,适合大棚环境使用。

(5)CO₂浓度传感器:选用模拟量输出CO₂浓度传感器,工作电压为5V,测量范围为0-5000ppm,精度高、响应速度快;能够实时采集大棚内CO₂浓度,为通风设备的控制提供依据,确保农作物光合作用正常进行;结构简单、稳定性好,适合农业大棚环境使用。

2.2.3 执行设备模块选型:

(1)步进电机及驱动电路:选用28BYJ-48步进电机配合ULN2003A步进电机驱动电路,步进电机工作电压为5V,转速可调,扭矩适中,适合用于大棚通风扇、遮阳帘的控制;ULN2003A驱动电路具备电流放大功能,能够直接由STM32单片机GPIO口驱动,接线简单、稳定性好,可有效保护步进电机和单片机引脚。

(2)继电器模块:选用两路5V继电器模块,工作电压为5V,通过GPIO口控制继电器的吸合与断开;可用于控制水泵、风扇等220V交流设备,实现单片机与高压设备的隔离控制,确保电路安全;继电器开关寿命长、稳定性好,能够可靠控制各类执行设备的启停。

(3)补光灯:选用LED补光灯,工作电压为5V,功率适中、功耗低、发热量小,能够为农作物提供充足的光照,弥补大棚内光照不足的问题;通过GPIO口直接驱动,接线简单,可根据光照强度自动启停,节约电力资源。

(4)蜂鸣器:选用有源蜂鸣器,工作电压为3.3V,通过GPIO口直接驱动,声音洪亮、响应灵敏;无需额外驱动电路,接线简单;当环境或土壤参数超出预设阈值时,由核心控制模块控制蜂鸣器发声,实现报警提醒功能;功耗低、成本低廉,适合农业大棚场景使用。

2.2.4 显示与输入模块选型:

(1)OLED显示屏:选用0.96寸4针IIC协议OLED显示屏,分辨率为128×64,工作电压为3.3V,采用I2C通信协议,接线简单、占用I/O口少;显示清晰、对比度高、功耗低,可实时显示各类环境及土壤参数、设备运行状态、参数设置菜单等;体积小、重量轻,便于集成到系统中,符合小型化需求,且具备一定的抗干扰能力,适合大棚环境使用。

(2)按键模块:选用4个独立贴片按键,分别实现界面切换、参数增加、参数减少、确认/取消功能,按键手感好、响应灵敏,配合软件消抖算法,避免误操作;按键体积小,通过GPIO口与STM32单片机连接,接线简单,便于集成,且防水性能较好,适应大棚潮湿环境。

2.2.5 通信模块选型:

(1)USB接口:选用USB转TTL模块,用于STM32单片机与电脑的串口通信,实现程序下载和数据调试;通信稳定、传输速度快,接线简单,便于系统开发和调试。

(2)WiFi模块:选用ESP8266-01S WiFi模块,工作电压为3.3V,采用UART串口通信,与STM32单片机连接简单;基于WiFi 802.11 b/g/n协议,通信稳定、传输距离远(空旷环境下可达10米),可实现系统与机智云平台的无线通信;体积小、功耗低、成本低廉,是智能农业设备中常用的WiFi通信模块,且具备一定的抗干扰能力,适合大棚环境使用。

2.2.6 电源模块选型:选用5V、2A直流电源适配器作为系统供电电源,为STM32单片机、各传感器、继电器、蜂鸣器、步进电机等模块提供稳定供电;配备AMS1117-3.3V稳压芯片,将5V电压转换为3.3V,为STM32单片机、OLED显示屏、ESP8266 WiFi模块等需要3.3V供电的模块提供稳定电压;同时加入电源开关、保险丝和滤波电路,电源开关用于开启和关闭系统,保险丝用于过流保护,滤波电路用于减少电源噪声,提升系统稳定性,适应农业大棚的供电环境。

第3章 硬件电路设计

3.1 系统硬件总体结构

系统硬件总体结构以STM32F103C8T6最小系统板为核心,整合传感器模块、执行设备模块、显示与输入模块、通信模块及电源模块,各模块通过相应的接口与核心控制单元连接,实现数据传输与指令交互。硬件总体结构清晰、布局合理,兼顾低成本、小型化、防水性和抗干扰性,便于焊接、调试与维护,适配农业大棚潮湿、多干扰的安装使用场景。

系统硬件总体连接关系如下:STM32F103C8T6单片机通过单总线接口连接DHT11温湿度传感器和DS18B20土壤温度传感器;通过ADC接口连接YL-69土壤湿度传感器、光敏电阻和CO₂浓度传感器;通过GPIO口连接ULN2003A步进电机驱动电路、两路继电器模块、补光LED、有源蜂鸣器和4个独立按键;通过I2C接口连接OLED显示屏;通过UART串口连接ESP8266-01S WiFi模块和USB转TTL模块;电源模块为所有模块提供稳定供电,确保各模块正常工作。

硬件电路设计的核心目标是:确保各模块接线合理、兼容性良好,降低成本、提升稳定性和抗干扰性,避免信号干扰和环境因素对系统的影响,同时兼顾硬件的小型化和易用性,适配农业大棚的安装使用需求。本章将详细阐述各模块的电路设计原理、接线方式及关键技术要点。

3.2 主控模块设计

主控模块以STM32F103C8T6最小系统板为核心,是整个系统的控制中心,负责接收各模块的输入信号、进行数据处理与逻辑判断、下发控制指令,统筹协调各模块的工作,同时负责数据存储和系统低功耗控制。STM32F103C8T6最小系统板已集成电源接口、复位电路、晶振电路、下载接口等基础电路,无需额外设计,可直接使用,有效简化电路设计、减小硬件体积。

3.2.1 最小系统板电路设计:STM32F103C8T6最小系统板主要包括电源电路、晶振电路、复位电路、下载接口电路四部分。电源电路采用5V供电,通过AMS1117-3.3V稳压芯片将5V电压转换为3.3V,为单片机核心供电;晶振电路采用8MHz外部晶振,配合两个22pF电容,为单片机提供稳定的时钟信号,确保程序正常运行;复位电路采用上电复位与手动复位相结合的方式,通过一个10KΩ电阻和一个100nF电容组成上电复位电路,同时配备一个手动复位按键,便于系统复位重启;下载接口采用SWD下载模式,通过PA13(SWDIO)和PA14(SWCLK)两个引脚实现程序下载与在线调试,接线简单、下载速度快。

3.2.2 主控模块接口分配:为确保各模块正常工作,合理分配STM32F103C8T6的I/O口和外设接口,具体接口分配如下(核心接口):

1. 单总线接口:PB0连接DHT11温湿度传感器,PB1连接DS18B20土壤温度传感器;

2. ADC接口:PA0连接YL-69土壤湿度传感器,PA1连接光敏电阻,PA2连接CO₂浓度传感器;

3. GPIO口:PB2-PB5连接ULN2003A步进电机驱动电路(控制步进电机转动),PB6-PB7连接两路继电器模块(控制水泵、风扇),PB8连接补光LED,PB9连接有源蜂鸣器,PB10-PB13连接4个独立按键(界面切换、参数增加、参数减少、确认/取消);

4. I2C接口:PB14(I2C2_SCL)、PB15(I2C2_SDA),连接OLED显示屏;

5. UART串口:USART1(PA9-TX、PA10-RX)连接ESP8266-01S WiFi模块,USART2(PA2-TX、PA3-RX)连接USB转TTL模块;

6. 电源接口:VCC(5V、3.3V)、GND,连接电源模块,为单片机供电。

3.2.3 抗干扰与低功耗设计:考虑到农业大棚环境潮湿、干扰较多,在电路设计中加入抗干扰措施:在单片机电源引脚与GND之间并联一个100nF电容,用于滤波,减少电源噪声;在晶振电路的电容两端并联一个1MΩ电阻,确保晶振稳定振荡;各I/O口与外设连接时,串联一个1KΩ限流电阻,防止电流过大损坏单片机引脚;模拟信号接口(ADC接口)与数字信号接口分开布置,避免信号干扰,提升参数采集精度;传感器和执行设备的接线采用屏蔽线,减少外部干扰。

为降低系统能耗,加入低功耗控制设计:当系统长时间无操作且参数正常时,控制各模块进入低功耗模式,关闭OLED显示屏背光,降低传感器和WiFi模块的功耗;当检测到按键操作、参数异常或云平台指令时,唤醒系统,恢复正常工作模式,节约电力资源。

3.3 传感器模块设计

传感器模块负责采集大棚内环境温湿度、土壤温度、土壤湿度、光照强度、CO₂浓度等关键参数,为系统的智能控制和报警判断提供数据依据,由DHT11、DS18B20、YL-69、光敏电阻、CO₂浓度传感器组成,各模块电路设计独立,接口标准化,便于调试和维护,同时兼顾防水性和抗干扰性,适配农业大棚环境。

3.3.1 DHT11温湿度传感器电路设计:DHT11传感器采用单总线通信协议,与STM32单片机的GPIO口连接,电路设计如下:传感器的VCC引脚接5V电源,GND引脚接地,DQ引脚(数据引脚)接STM32的PB0引脚;为了确保通信稳定,在DQ引脚与VCC引脚之间串联一个4.7KΩ的上拉电阻,避免信号波动;同时,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对测量结果的影响;传感器外层包裹防水外壳,防止大棚潮湿环境损坏传感器。

DHT11传感器的工作原理:传感器内部集成了温湿度采集电路和信号处理电路,能够将采集到的温湿度信号转换为数字信号;单片机通过单总线接口向传感器发送指令,控制传感器进行温湿度采集,采集完成后,传感器将数字温湿度信号反馈给单片机,单片机对数据进行处理,得到当前环境温湿度值。

3.3.2 DS18B20土壤温度传感器电路设计:DS18B20传感器采用单总线通信协议,与STM32单片机的GPIO口连接,电路设计如下:传感器的VCC引脚接5V电源,GND引脚接地,DQ引脚(数据引脚)接STM32的PB1引脚;为了确保通信稳定,在DQ引脚与VCC引脚之间串联一个4.7KΩ的上拉电阻,避免信号波动;同时,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对测量结果的影响;传感器采用防水封装,可直接插入土壤中,用于采集土壤温度数据。

DS18B20传感器的工作原理:传感器内部集成了温度采集电路和A/D转换电路,能够将采集到的土壤温度信号转换为数字信号;单片机通过单总线接口向传感器发送指令,控制传感器进行温度采集,采集完成后,传感器将数字温度信号反馈给单片机,单片机对数据进行处理,得到当前土壤温度值,测量精度高,适配土壤深度监测。

3.3.3 YL-69土壤湿度传感器电路设计:YL-69传感器通过ADC接口输出模拟信号,与STM32单片机的ADC接口连接,电路设计如下:传感器的VCC引脚接5V电源,GND引脚接地,AO引脚(模拟输出引脚)接STM32的PA0引脚;为了确保数据采集的稳定性,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对测量结果的干扰;同时,在AO引脚与GND之间并联一个10KΩ的电阻,用于稳定模拟信号;传感器探头采用防水设计,可直接插入土壤中,用于采集土壤湿度数据。

YL-69传感器的工作原理:传感器内部的湿度敏感元件在接触到土壤中的水分时,电阻值会发生变化,通过电路转换为模拟电压信号;单片机通过ADC接口读取模拟电压信号,经过A/D转换和算法处理,将电压信号转换为对应的土壤湿度值,能够准确反映土壤的干湿程度,为灌溉控制提供依据。

3.3.4 光敏电阻电路设计:光敏电阻通过ADC接口输出模拟信号,与STM32单片机的ADC接口连接,电路设计如下:光敏电阻的一端接3.3V电源,另一端接STM32的PA1引脚和10KΩ下拉电阻,下拉电阻的另一端接地;当大棚内光照强度变化时,光敏电阻的电阻值发生变化,导致PA1引脚的电压发生变化;单片机通过ADC接口读取PA1引脚的电压信号,经过A/D转换和算法处理,得到当前光照强度值,为补光灯的控制提供依据。

3.3.5 CO₂浓度传感器电路设计:CO₂浓度传感器通过ADC接口输出模拟信号,与STM32单片机的ADC接口连接,电路设计如下:传感器的VCC引脚接5V电源,GND引脚接地,AO引脚(模拟输出引脚)接STM32的PA2引脚;为了确保数据采集的稳定性,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对测量结果的干扰;同时,在AO引脚与GND之间并联一个10KΩ的电阻,用于稳定模拟信号;传感器安装在大棚内通风处,确保采集到的CO₂浓度数据准确,为通风设备控制提供依据。

CO₂浓度传感器的工作原理:传感器内部的气敏元件在接触到CO₂气体时,电阻值会发生变化,通过电路转换为模拟电压信号;单片机通过ADC接口读取模拟电压信号,经过A/D转换和算法处理,将电压信号转换为对应的CO₂浓度值,当CO₂浓度超出预设阈值时,触发通风设备运行,确保农作物光合作用正常进行。

3.4 执行设备模块设计

执行设备模块负责接收核心控制模块的控制指令,实现步进电机、水泵、风扇、补光灯的启停控制,以及异常情况下的蜂鸣器报警,由ULN2003A步进电机驱动电路、两路继电器模块、补光LED、蜂鸣器组成,电路设计简单、稳定性好、安全性高,适配农业大棚的使用场景。

3.4.1 步进电机及驱动电路设计:选用28BYJ-48步进电机配合ULN2003A驱动电路,电路设计如下:ULN2003A驱动电路的VCC引脚接5V电源,GND引脚接地,IN1-IN4引脚分别接STM32的PB2-PB5引脚,OUT1-OUT4引脚分别连接步进电机的4个接线端子;步进电机的VCC引脚接5V电源,GND引脚接地;ULN2003A驱动电路负责将STM32单片机输出的控制信号放大,驱动步进电机转动,通过控制IN1-IN4引脚的电平变化,实现步进电机的正转、反转和转速调节,用于控制大棚通风扇、遮阳帘的运行。

3.4.2 继电器模块设计:选用两路5V继电器模块,电路设计如下(以第一路为例,第二路相同):继电器的VCC引脚接5V电源,GND引脚接地,IN引脚(控制引脚)通过1KΩ限流电阻连接STM32的PB6引脚;继电器的公共端(COM)接220V交流电源火线,常开端(NO)接水泵(或风扇)的火线端,水泵(或风扇)的零线端接220V交流电源零线;当PB6引脚输出高电平时,继电器吸合,水泵(或风扇)通电运行;当PB6引脚输出低电平时,继电器断开,水泵(或风扇)停止运行;为了保护电路,在继电器线圈两端并联一个续流二极管,防止线圈断电时产生的反向电动势损坏单片机引脚。

3.4.3 补光灯电路设计:补光灯采用LED灯,通过GPIO口直接由STM32单片机驱动,电路设计如下:LED补光灯的阳极通过1KΩ限流电阻连接STM32的PB8引脚,阴极接地;当PB8引脚输出高电平时,补光灯点亮;当PB8引脚输出低电平时,补光灯熄灭;限流电阻用于限制电流,防止电流过大损坏LED灯和单片机引脚;补光灯安装在大棚顶部,确保光照均匀,根据光照强度自动启停,节约电力资源。

3.4.4 蜂鸣器电路设计:有源蜂鸣器通过GPIO口直接由STM32单片机驱动,电路设计如下:蜂鸣器的VCC引脚接3.3V电源,GND引脚通过1KΩ限流电阻连接STM32的PB9引脚;当PB9引脚输出低电平时,蜂鸣器发声;当PB9引脚输出高电平时,蜂鸣器停止发声;限流电阻用于限制电流,防止电流过大损坏蜂鸣器和单片机引脚;同时,在蜂鸣器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对蜂鸣器的影响;当环境或土壤参数超出预设阈值时,蜂鸣器触发报警,提醒用户及时处理。

3.5 显示与输入模块设计

显示与输入模块负责实时显示各类参数、设备状态和菜单信息,接收用户的手动操作指令,实现人机交互,由0.96寸OLED显示屏和4个独立按键组成,电路设计简单、操作便捷、稳定性好,适配农业大棚的使用场景。

3.5.1 OLED显示屏电路设计:OLED显示屏采用I2C通信协议,与STM32单片机的I2C接口连接,电路设计如下:显示屏的VCC引脚接3.3V电源,GND引脚接地,SCL引脚接STM32的PB14引脚(I2C2_SCL),SDA引脚接STM32的PB15引脚(I2C2_SDA);为了确保显示稳定,在显示屏的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对显示效果的影响;同时,显示屏的接线尽量缩短,避免信号干扰,确保显示清晰、无卡顿;显示屏的背光可通过单片机控制,低功耗模式下关闭背光,降低能耗。

3.5.2 显示内容设计:采用多级菜单显示系统,通过按键切换不同页面,各页面显示内容如下:

1. 主页面:显示当前环境温湿度、土壤温湿度、光照强度、CO₂浓度,以及各执行设备的运行状态(步进电机、水泵、风扇、补光灯),便于用户快速查看核心信息;

2. 参数设置页面:分为阈值设置子页面和设备控制子页面,阈值设置子页面可设置各参数的上下限阈值(环境温湿度、土壤温湿度、光照强度、CO₂浓度),设备控制子页面可手动控制各执行设备的启停;

3. 历史数据页面:显示最近一段时间的参数采集记录,便于用户查看参数变化趋势;

4. 报警提示页面:当参数超出阈值时,自动切换至该页面,闪烁显示报警类型和相关参数,同时触发蜂鸣器报警。

显示更新频率为500ms,实时更新各项数据和工作状态,确保用户能够及时了解系统运行情况和大棚环境状态;当出现报警时,显示屏背光自动开启(若处于低功耗模式),闪烁显示报警信息,提升报警提示效果。

3.5.3 按键模块电路设计:4个独立按键分别对应界面切换、参数增加、参数减少、确认/取消功能,电路设计如下:4个按键的一端分别接STM32的PB10-PB13引脚,另一端均接地;为了防止按键抖动,在每个按键的GPIO口端与VCC引脚之间串联一个10KΩ的上拉电阻,同时在按键两端并联一个100nF的电容,用于硬件消抖;此外,通过软件消抖算法(延时10ms判断按键状态),进一步提升按键输入的稳定性,避免误操作;按键采用防水贴片设计,适应大棚潮湿环境。

3.5.4 按键功能说明:

1. PB10按键(界面切换):短按一次,切换系统显示页面(主页面→参数设置页面→历史数据页面→主页面循环);在报警状态下,短按一次取消当前报警;

2. PB11按键(参数增加):仅在参数设置页面的阈值设置子页面有效,短按一次,增加当前选中参数的阈值;

3. PB12按键(参数减少):仅在参数设置页面的阈值设置子页面有效,短按一次,减少当前选中参数的阈值;

4. PB13按键(确认/取消):在参数设置页面,短按一次确认当前参数设置;在设备控制子页面,短按一次切换当前选中设备的启停状态;在主页面,长按(超过500ms)进入系统设置模式。

3.6 通信模块设计

通信模块负责实现系统与电脑的串口通信(程序下载、数据调试)和与机智云平台的无线通信(远程监控、控制),由USB转TTL模块和ESP8266-01S WiFi模块组成,电路设计简单、通信稳定、抗干扰性强,适配农业大棚的使用场景。

3.6.1 USB转TTL模块电路设计:USB转TTL模块用于STM32单片机与电脑的串口通信,电路设计如下:模块的VCC引脚接5V电源,GND引脚接地,TXD引脚(发送引脚)接STM32的PA3引脚(USART2_RX),RXD引脚(接收引脚)接STM32的PA2引脚(USART2_TX);模块的USB接口连接电脑,实现程序下载和数据调试;为了确保通信稳定,在模块的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对通信的影响。

3.6.2 ESP8266 WiFi模块电路设计:ESP8266-01S WiFi模块采用UART串口通信,与STM32单片机的USART1接口连接,电路设计如下:模块的VCC引脚接3.3V电源,GND引脚接地,TXD引脚(发送引脚)接STM32的PA10引脚(USART1_RX),RXD引脚(接收引脚)接STM32的PA9引脚(USART1_TX);为了确保通信稳定,在模块的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对通信的影响;同时,在模块与单片机之间串联1KΩ限流电阻,防止电流过大损坏模块和单片机引脚;模块的CH_PD引脚接VCC引脚,确保模块正常工作;模块的GPIO0引脚接地,用于进入烧录模式(仅在烧录程序时使用);模块安装在大棚通风、无遮挡处,确保WiFi信号稳定。

3.6.3 通信协议设计:

1. 串口通信协议:采用标准UART串口通信协议,波特率设置为9600bps,数据位8位,停止位1位,校验位无,实现STM32单片机与电脑、ESP8266 WiFi模块的数据交互;

2. WiFi通信协议:采用机智云平台规定的串口通信协议,实现系统与机智云平台的数据双向传输,主要分为数据上传和指令下发两部分:

(1)数据上传:STM32单片机将采集到的环境温湿度、土壤温湿度、光照强度、CO₂浓度等参数,以及各执行设备的运行状态,按照机智云协议格式打包,通过UART串口发送给ESP8266模块,ESP8266模块将数据通过WiFi上传至机智云平台;

(2)指令下发:用户通过机智云APP下发控制指令(设备启停、参数阈值调整、报警开关控制等),机智云平台将指令发送给ESP8266模块,ESP8266模块通过UART串口将指令转发给STM32单片机,单片机解析指令后,执行相应的操作,并将操作结果反馈给云平台,实现指令闭环。

3.7 电源模块设计

电源模块负责为整个系统提供稳定的供电,确保各模块正常工作,同时实现电源保护和抗干扰设计,适应农业大棚的供电环境,由5V直流电源适配器、AMS1117-3.3V稳压芯片和相关滤波电路组成。

3.7.1 电路设计原理:5V直流电源适配器作为系统的供电电源,输出5V电压,为步进电机、继电器模块、CO₂浓度传感器、DHT11传感器、DS18B20传感器等需要5V供电的模块提供直接供电;同时,5V电压通过AMS1117-3.3V稳压芯片转换为3.3V,为STM32单片机、OLED显示屏、ESP8266 WiFi模块、光敏电阻、YL-69传感器等需要3.3V供电的模块提供稳定供电;在稳压芯片的输入端和输出端分别并联一个100nF的电容,用于滤波,减少电源噪声;同时,加入电源开关、保险丝和1000μF电解电容,电源开关用于开启和关闭系统,保险丝用于过流保护,防止电流过大损坏电路,电解电容用于稳定电压,减少电压波动。

3.7.2 电源稳定性设计:为提升电源模块的稳定性,避免电压波动和外部干扰对系统的影响,电源线采用屏蔽线,减少外部干扰;各模块的电源接口处均并联100nF电容,用于滤波,确保各模块获得稳定的供电;同时,电源模块远离传感器和执行设备,避免电磁干扰,提升系统整体稳定性;考虑到农业大棚可能出现的电压不稳定情况,在电源适配器输入端加入浪涌保护电路,防止电压突变损坏系统。

第4章 软件设计

4.1 软件总体架构与主程序设计

4.1.1 软件总体架构:本系统软件基于Keil MDK5开发环境,采用C语言编写,遵循“模块化设计”原则,将软件划分为主程序模块、传感器模块程序、执行设备模块程序、显示模块程序、人机交互模块程序、通信模块程序、机智云对接模块程序及数据存储模块程序八大模块,各模块独立编写、相互调用,确保软件结构清晰、易于调试、便于维护和升级。

软件总体架构分为三层:底层驱动层、核心功能层、应用层。底层驱动层负责各硬件模块的驱动,包括STM32单片机外设驱动(GPIO、ADC、I2C、UART等)、传感器驱动(DHT11、DS18B20、YL-69、光敏电阻、CO₂浓度传感器)、OLED显示驱动、ULN2003A步进电机驱动、ESP8266 WiFi驱动等,为上层功能实现提供支撑;核心功能层负责实现系统的核心功能,包括参数采集与处理、智能设备控制、显示控制、报警控制、人机交互、WiFi通信、机智云对接、数据存储与查询等;应用层负责统筹协调各核心功能模块的工作,实现系统的整体运行逻辑,响应用户操作和云平台指令,确保各功能协同工作。

4.1.2 主程序设计:主程序是系统软件的核心,负责系统初始化、各模块调用、逻辑判断和整体控制,主程序流程如下:

1. 系统上电后,首先进行初始化操作,包括STM32单片机初始化(时钟、I/O口、ADC、I2C、UART等外设初始化)、各模块初始化(传感器模块初始化、执行设备模块初始化、显示模块初始化、按键模块初始化、通信模块初始化、机智云对接初始化、数据存储模块初始化);

2. 初始化完成后,系统默认进入主页面,OLED显示屏显示各类参数和设备运行状态,各传感器开始实时采集数据,ESP8266模块连接WiFi并接入机智云平台;

3. 进入主循环,依次调用各功能模块:传感器模块采集各类参数,进行数据处理和滤波;核心控制模块将采集到的参数与预设阈值进行对比,判断是否需要调控设备或触发报警;执行设备模块根据控制指令运行;显示模块实时更新显示内容;人机交互模块检测用户按键操作,执行相应指令;通信模块将数据和设备状态上传至机智云平台,同时接收云平台下发的控制指令,执行相应操作;数据存储模块存储实时数据和报警信息;

4. 加入异常处理逻辑,当检测到模块故障(如传感器采集失败、WiFi连接异常、设备运行故障)时,及时在OLED显示屏显示故障提示,并尝试重新初始化模块,保障系统稳定运行;

5. 循环执行上述步骤,确保系统实时监测、精准控制、稳定通信,同时优化程序代码,降低系统功耗,提升系统响应速度。

主程序采用无限循环结构,通过延时函数和中断函数结合的方式,确保各模块的实时响应,避免程序卡顿;同时,加入软件消抖、数据滤波等算法,提升系统的稳定性和参数采集精度。

4.2 传感器模块程序设计

传感器模块程序负责控制各类传感器采集大棚内环境及土壤参数,对数据进行处理、滤波和校准,为核心控制模块、显示模块和报警模块提供数据依据,同时将数据传输至主程序,用于机智云平台上传和数据存储,程序分为各传感器驱动程序和数据处理程序两部分。

4.2.1 DHT11温

赞(0)
未经允许不得转载:171主机测评 » 基于STM32的智能农业大棚监测系统(完整项目)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址