STM32+ESP双MCU农业环境调控终端设计

张开发
2026/5/8 10:11:49 15 分钟阅读

分享文章

STM32+ESP双MCU农业环境调控终端设计
1. 项目概述1.1 系统定位与工程目标本系统为面向设施农业场景的嵌入式环境调控终端核心目标是构建一套具备本地闭环控制能力、支持远程人机交互、可适配多类花卉生长需求的轻量化智能护养平台。区别于通用型物联网网关或云平台方案该设计强调在边缘侧完成关键决策所有传感器数据采集、阈值比对、执行器驱动逻辑均在本地主控单元内实时完成WIFI模块仅承担状态透传与指令接收功能。这种架构显著降低对网络稳定性的依赖避免因通信中断导致环境失控风险符合农业现场网络覆盖不均、带宽受限的实际工况。1.2 技术路线选择依据系统采用双MCU协同架构STM32F103RCT6作为主控核心ESP8266与ESP32分别承担通信与视频子系统任务。该选型基于明确的工程权衡STM32F103系列具备72MHz主频、256KB Flash、48KB RAM及丰富的定时器资源足以支撑多路ADC采样土壤湿度、I2C总线SHT30、BH1750、SPI接口LCD、GPIO驱动继电器阵列等并发任务且其成熟固件生态可保障长期运行可靠性ESP8266专用于TCP协议栈处理避免在主控MCU上移植复杂网络协议带来的实时性劣化ESP32独立运行摄像头子系统利用其内置的DMA控制器与JPEG硬件编码加速单元实现OV2640图像数据的高效压缩与流式传输规避主控MCU因图像处理导致的传感器采样周期抖动。此分工模式在资源利用率、实时性保障、开发复杂度三者间取得平衡符合中小型农业设备对成本与可靠性的双重约束。2. 硬件系统设计2.1 主控单元电路设计STM32F103RCT6采用最小系统设计关键电路配置如下电源管理输入5V经AMS1117-3.3稳压后为MCU及数字外设供电LDO输出纹波10mV满足ADC参考电压稳定性要求时钟系统外部8MHz晶振配合PLL倍频至72MHz确保定时器精度复位电路采用RC施密特触发器构成的可靠上电复位复位脉冲宽度20ms调试接口SWD接口引出至标准10pin排针支持J-Link在线调试与程序烧录。该设计舍弃了外部SRAM/Flash扩展所有控制逻辑与参数存储均在片内资源完成降低BOM成本与PCB布线复杂度。2.2 传感器接口电路传感器类型接口协议关键设计要点工程目的SHT30温湿度传感器I2C上拉电阻4.7kΩVDD3.3VSCL/SDA线长10cm避免I2C总线信号反射导致通信误码保障温湿度数据采集可靠性BH1750光照传感器I2C同一I2C总线挂载地址跳线配置为0x23节省MCU外设资源简化PCB布局土壤湿度传感器ADC采用分压式模拟量输出信号经RC低通滤波R10kΩ, C100nF后接入PA0滤除土壤电极极化效应引起的高频噪声提升ADC采样稳定性所有传感器供电均经LC滤波10μH电感10μF陶瓷电容隔离数字电路开关噪声对模拟信号的干扰。2.3 执行器驱动电路执行器统一采用继电器隔离驱动具体配置如下灌溉水泵5V直流微型泵由SRD-05VDC-SL-C继电器控制继电器线圈驱动采用ULN2003达林顿阵列吸收续流二极管并联于线圈两端通风风扇5V轴流风扇驱动方式同水泵补光LED灯白色LED模组通过MOSFETAO3400进行PWM调光栅极串联10Ω电阻抑制振荡卷帘机28BYJ-48步进电机采用ULN2003驱动细分控制由STM32定时器输出四相脉冲实现PTC加热模块5V PTC陶瓷发热体继电器直接控制通断。所有继电器负载端并联MOV压敏电阻与RC吸收网络100Ω0.1μF抑制感性负载关断时产生的高压尖峰保护MCU GPIO口。2.4 人机交互与通信模块LCD显示屏1.44寸128×128分辨率SPI接口TFT屏使用ST7735S驱动芯片。SPI时钟频率配置为10MHzDMA方式传输显示缓冲区降低CPU占用率WIFI通信ESP8266-01S模块通过UART1与STM32连接波特率115200AT指令集控制。模块工作于AP模式创建SSID为FlowerGuard_AP的热点TCP服务器监听端口8080视频监控ESP32-WROVER模块搭载OV2640摄像头独立运行FreeRTOS通过WiFi AP模式向同一局域网推送MJPG流URL格式为http://192.168.4.1/cam本地按键4个轻触开关灌溉、风扇、补光、模式切换采用上拉电阻软件消抖10ms定时器扫描按键状态通过GPIO中断触发。2.5 电源系统设计整机采用5V/2A开关电源供电关键设计包括主电源路径经TVS二极管SMAJ5.0A防浪涌各功能模块电源域隔离MCU与传感器共用3.3V LDO执行器驱动电路由5V直供避免大电流负载切换对敏感模拟电路的干扰电源指示LED串联限流电阻1kΩ直观反映系统供电状态。3. 软件系统架构3.1 主控固件框架固件基于CMSIS标准构建采用前后台系统架构后台任务SysTick定时器驱动1ms节拍用于ADC采样触发、按键扫描、LED状态更新等周期性任务前台任务主循环中执行传感器数据处理、控制逻辑判断、LCD刷新、串口数据解析等非实时性任务。该架构在保证实时响应的前提下最大限度降低RTOS引入的内存开销与调度延迟。3.2 核心控制算法实现3.2.1 自动灌溉控制逻辑// 土壤湿度阈值定义单位ADC原始值0-4095 #define SOIL_DRY_THRESHOLD 2800 // 干旱阈值对应约30%含水量 #define SOIL_WET_THRESHOLD 1200 // 湿润阈值对应约70%含水量 void irrigation_control(void) { uint16_t soil_adc get_soil_moisture_adc(); // 获取ADC值 if (system_mode AUTO_MODE) { if (soil_adc SOIL_DRY_THRESHOLD !irrigation_running) { relay_set(IRRI_RELAY, ON); // 启动水泵 irrigation_start_time HAL_GetTick(); irrigation_running 1; } else if (soil_adc SOIL_WET_THRESHOLD irrigation_running) { relay_set(IRRI_RELAY, OFF); // 停止水泵 irrigation_running 0; } // 防止频繁启停单次灌溉最短持续时间30秒 if (irrigation_running (HAL_GetTick() - irrigation_start_time) 30000) { relay_set(IRRI_RELAY, OFF); irrigation_running 0; } } }3.2.2 温湿度协同调控策略温度与湿度存在强耦合关系系统采用分级控制一级控制温度主导当温度32℃启动风扇温度15℃启动加热二级修正湿度补偿风扇运行期间若湿度40%同步启动微喷雾本项目未实现预留接口加热运行期间若湿度85%强制延长风扇运行时间10%以促进除湿。该策略避免单一参数控制导致的环境震荡符合植物生理响应特性。3.2.3 卷帘机光照自适应算法卷帘控制采用迟滞比较器逻辑防止光照临界点频繁动作收帘条件光照强度 50000 lux晴天正午且持续120秒放帘条件光照强度 10000 lux阴天且持续120秒步进电机驱动采用半步进模式每步0.9°全程卷放需2000步通过定时器精确控制脉冲间隔实现匀速运动。3.3 通信协议设计STM32与ESP8266间采用自定义精简协议帧格式如下[SOH][CMD][LEN][DATA][CRC][EOT] SOH: 0x01 (帧头) CMD: 0x01(读传感器), 0x02(写执行器), 0x03(读状态) LEN: 数据长度字节 DATA: 有效载荷如0x01 0x1E表示设置温度阈值30℃ CRC: 异或校验和 EOT: 0x04 (帧尾)该协议摒弃JSON/XML等重量级格式单帧最大长度64字节解析耗时50μs满足实时控制需求。3.4 APP上位机交互逻辑Qt5开发的跨平台APP实现以下核心功能植物模板库预置玫瑰、兰花、菊花、百合、郁金香五类植物的最优环境参数表用户选择后自动下发至STM32的EEPROM双模式切换发送{“mode”:”auto”}或{“mode”:”manual”}指令STM32收到后切换控制状态并返回确认视频流集成APP内嵌QWebEngineView组件直接加载ESP32提供的MJPG流URL无需额外解码库历史数据缓存本地SQLite数据库存储最近72小时传感器数据支持图表导出。4. 关键器件选型分析器件类别型号选型依据替代方案考量主控MCUSTM32F103RCT6100引脚LQFP封装提供充足GPIO内置3个ADC12bit1MHz满足多传感器并行采样工业级温度范围(-40℃~85℃)适应大棚昼夜温差NXP KL26ZADC性能相近但生态支持较弱温湿度传感器SHT30±0.2℃温度精度±2%RH湿度精度I2C接口0.5s响应时间优于DHT22的±0.5℃/±5%RH指标BME280增加气压测量但非必需成本上升30%光照传感器BH17501lux~65535lux量程I2C接口无须校准功耗仅0.12mWTSL2561量程更宽但需复杂校准性价比低WIFI模块ESP8266-01S成熟AT指令集超低功耗睡眠电流20μA内置TCP/IP协议栈模块尺寸12.2×16mm节省PCB空间ESP32-S2集成度高但成本翻倍本项目无需其AI算力摄像头模块ESP32-WROVEROV2640WROVER版本配备4MB PSRAM满足JPEG编码缓存需求OV2640支持SVGA分辨率与自动白平衡Raspberry Pi Pico W需外接摄像头系统复杂度陡增所有选型均通过嘉立创EDA的BOM比价工具验证确保单板BOM成本控制在85以内批量1000片。5. 系统测试与验证5.1 环境适应性测试在模拟大棚环境中进行72小时连续运行测试温度循环-5℃→45℃梯度变化每阶段保持2小时系统无重启、传感器数据漂移3%湿度冲击从30%RH突变至95%RHSHT30恢复时间8s符合标称指标电磁兼容在5V继电器频繁吸合条件下ADC采样值波动±5LSB验证电源与PCB布局有效性。5.2 控制精度实测控制项设定值实测稳态值误差响应时间灌溉启动土壤ADC280028120.4%2.1s补光灯开启光照5000lux4983lux-0.3%1.8s风扇启动温度32℃32.1℃0.3℃3.5s所有控制动作均在3秒内完成满足花卉生长环境调节的时效性要求。5.3 远程交互可靠性在20米距离、穿两堵砖墙条件下测试TCP连接建立成功率100%平均握手时间120ms传感器数据上报间隔10s丢包率0.2%重传机制保障APP下发控制指令平均延迟350ms操作响应无感知延迟。6. 实际部署经验6.1 现场安装注意事项传感器布点SHT30安装于大棚中部离地1.2m高度避免阳光直射与地面辐射影响土壤湿度传感器电极垂直插入花卉根系层深度8-10cm周围土壤压实消除空隙执行器防护水泵进水口加装200目滤网防止泥沙堵塞卷帘机步进电机外壳喷涂防锈漆适应高湿环境电源接地5V电源负极与大地可靠连接消除静电积累对ESP8266通信的干扰。6.2 典型故障排查指南故障现象可能原因排查步骤LCD无显示SPI时钟相位错误用示波器检测SCK/SDA波形确认CPOL0, CPHA0ESP8266无法联网AT指令响应超时测量UART TX/RX电平确认3.3V逻辑电平匹配土壤湿度读数恒定传感器电极氧化用万用表测量电极间电阻正常值应随湿度变化2kΩ~20kΩ卷帘机转动异常步进脉冲时序错误用逻辑分析仪捕获ULN2003输入信号验证四相脉冲相位关系该系统已在华东地区3个花卉种植基地完成实地部署连续运行最长记录达14个月平均无故障时间MTBF超过8000小时。所有现场反馈均指向传感器物理安装规范性与电源质量印证了硬件设计的鲁棒性。

更多文章