目录

基于STM32的智能宠物投喂系统

基于STM32的智能宠物投喂系统

若该文为原创文章,转载请注明原文出处。

一、引言

(一)研究背景及意义

随着社会发展和生活节奏加快,越来越多的家庭选择饲养宠物以增添生活情趣。然而,宠物主人时常因工作、旅行等原因无法长时间在家,宠物的饮食、饮水和生活环境成为亟待解决的“痛点”。传统的宠物投喂方式缺乏智能化和远程管理能力。因此,开发一种能够远程监控、自动补给、并优化宠物居住环境的智能系统具有巨大的市场价值和社会意义。本项目旨在利用嵌入式技术和物联网技术,为用户提供一个“全天候、全自动、可远程”的宠物照养解决方案。

(二)国内外研究现状

目前市场上的智能宠物喂食器产品繁多,功能从基础的定时投喂到联网APP控制不等。高端产品通常具备视频监控、双向语音、自动出粮等功能,但价格昂贵。中低端产品则功能单一,联动性差。本设计在实现基础投喂功能之上,创新性地集成了环境监控(温湿度、光照)、自动调控(风扇、加热片、灯光)以及水位、饲料量监测与自动补充功能,提供了一个高性价比、功能集成度更高的综合解决方案,符合当前物联网设备智能化、集成化的发展趋势。

二、系统总体设计

(一)系统架构

本系统采用“感知-控制-云-端”的四层架构。

  1. 感知层:负责采集各类数据,包括温湿度、光照强度、水位高度、饲料重量(存在性)。
  2. 控制层:以STM32F103C8T6为核心,处理数据、执行逻辑、驱动所有执行器。
  3. 云平台层:以ESP8266为桥梁,将数据上传至物联网云平台,并接收来自云平台的指令。
  4. 用户终端层:用户通过手机APP远程查看数据、下发控制命令。

(二)功能模块划分

  1. 环境监测模块:DHT11(温湿度)、光敏电阻(光照)。
  2. 物资监测模块:水位传感器、压力传感器(检测饲料重量)。
  3. 执行机构模块:步进电机(投食、加料)、继电器(控制水泵、风扇、加热片、LED灯)。
  4. 人机交互模块:OLED显示屏、按键。
  5. 通信模块:ESP8266 WiFi模块。
  6. 电源模块:为各单元提供稳定电压。

三、硬件设计与实现

(一)系统硬件框架图

https://i-blog.csdnimg.cn/direct/95bac8098795441abb75e56ebe1d1352.png

(二)主控模块选型及介绍

模块名称型号核心参数选型理由
主控MCUSTM32F103C8T6ARM Cortex-M3,72MHz,64KB Flash,20KB RAM,2ADC,3USART,多个GPIO性能强大,外设丰富(足够的ADC、USART和GPIO),成本低廉,生态完善。

(三)传感器模块选型及电路设计

传感器类型型号/种类接口电路设计要点
温湿度传感器DHT11单总线(GPIO)数据线接STM32 GPIO,需加上拉电阻(4.7K-10K)。
光照传感器光敏电阻模块ADC模块输出模拟电压(0-3.3V),接入STM32 ADC引脚。
水位传感器模拟水位传感器ADC输出模拟电压随水位升高而增大。接入STM32 ADC。注意:长期浸泡易腐蚀,需定期检查。
重量传感器压力传感器(秤重模块)HX711 (GPIO)压力传感器需配HX711模数转换芯片。STM32通过两个GPIO与HX711的SCK和DT引脚通信。
按键轻触按键GPIO接STM32 GPIO,设置为输入上拉模式,按键另一端接地。

(四)通信模块选型及配置

模块名称型号接口功能与配置
WiFi模块ESP-01S (ESP8266)USART (串口)STM32通过AT指令与ESP8266通信。ESP8266负责连接WiFi并通过MQTT/HTTP协议与云平台交换数据。

(五)执行模块选型及驱动电路

执行器类型型号/种类接口驱动电路
步进电机28BYJ-48GPIO通过ULN2003驱动板驱动。STM32四个GPIO连接驱动板的IN1-IN4,按节拍序列输出。
继电器模块5V低电平触发GPIO控制水泵、风扇、加热片、LED灯。STM32 GPIO输出低电平吸合继电器。注意:加热片、水泵功率较大,需从外部电源取电。
显示模块0.96寸OLEDI2CSCL、SDA接STM32的I2C接口。

四、软件设计与实现

(一)开发环境搭建

  1. IDE:Keil uVision 5 或 STM32CubeIDE。
  2. :使用HAL库,利用STM32CubeMX进行引脚、时钟、外设初始化配置。
  3. 驱动与协议:需编写DHT11、OLED(SSD1306)、HX711、ULN2003步进电机、ESP8266 AT指令解析、MQTT/HTTP客户端(嵌入AT指令中)等驱动和协议栈。

(二)系统软件流程图

https://i-blog.csdnimg.cn/direct/497471ee2b724e0fab4909acb853e7f1.png

(三)关键软件模块实现

1. 主循环与数据上报 (HAL库)

https://i-blog.csdnimg.cn/direct/2048804fa25848d98580f9c5a4c464f4.png

2. 步进电机控制(投喂一次)

https://i-blog.csdnimg.cn/direct/e07861480d17423388488ec904033124.png

3. 网络指令解析

https://i-blog.csdnimg.cn/direct/1878b3396d1c46d599523b4ae1899251.png

五、系统测试与优化

(一)测试方案

  1. 功能测试

    • 温湿度控制:用电吹风和冰袋模拟温度变化,测试风扇和加热片是否在阈值点正确启停。
    • 光照控制:用手遮挡光敏电阻,测试LED灯是否自动开启。
    • 投喂功能:通过按键和APP下发指令,测试步进电机是否准确转动预定圈数。
    • 水位/饲料检测:手动降低水位和移开饲料,测试水泵和加料电机是否自动启动。
  2. 压力测试

    • 模拟网络不稳定情况,测试系统重连机制。
    • 长时间连续运行(24小时以上),测试系统稳定性和电机发热情况。

(二)优化方向

  1. 软件优化

    • 加入看门狗:防止程序死机。
    • 数据平滑滤波:对ADC采集的数据(如光照、水位)进行滤波处理,避免波动导致设备频繁启停。
    • 协议优化:使用MQTT协议代替HTTP,更轻量,适合物联网设备,实现双向实时通信。
    • OTA升级:通过ESP8266实现固件远程升级(OTA)。
  2. 硬件优化

    • 电源隔离:电机等大功率设备与MCU的电源最好隔离,防止干扰。
    • 机械结构:设计合理的粮仓和出粮口结构,防止粮食卡住。

六、结论与关键设计

(一)结论

本项目成功设计并实现了一个高度集成、功能完善的智能宠物投喂系统。系统不仅解决了远程投喂的核心需求,还扩展了环境智能调控、物资自动补给等功能,并通过物联网技术实现了便捷的远程交互。经过测试,系统运行稳定,达到了预期设计目标,具有良好的实用性和应用前景。

(二)关键设计

  1. 多模态控制逻辑:系统完美融合了自动模式(本地环境感知自动决策)和手动模式(远程APP控制),提供了灵活的使用方式。
  2. 物资状态监控与闭环控制:通过水位和压力传感器,实现了对水、粮状态的实时监测,并形成了“检测-缺料-补充-停止”的完整闭环控制,真正实现了无人值守。
  3. 云平台与APP交互:利用ESP8266和公有云平台,以较低的成本快速接入了物联网生态,实现了功能强大的手机APP监控,极大地提升了用户体验。

如有侵权,或需要完整代码,请及时联系博主。