缩略图

基于STM32的太阳能自动宠物喂养装置设计

作者

宋学通 方凯 谢子晨 周宇 王昊鹏

湖北汽车工业学院 机器人与自动化学院 湖北十堰 442002

近年来,随着社会经济的发展和人们生活水平的提高,宠物饲养已成为现代家庭的重要组成部分。然而,快节奏的生活使宠物主人常面临外出或工作繁忙无法定时喂养的问题,长期不规律的饮食可能引发宠物健康问题。传统的人工喂养方式依赖主人持续关注,而市场上现有的自动喂食装置大多功能单一,存在依赖市电供电、缺乏智能化管理、食物投放精度低等局限性,难以满足用户对便携性、环境适应性和远程控制的需求。针对上述问题,国内外学者在自动宠物喂养领域开展了多项研究。现有方案多采用定时器与简单机械结构结合的设计,存在功耗高、无法实时监测食物余量、缺乏能源可持续性等缺陷。近年来,物联网技术与可再生能源的应用为智能喂养设备的优化提供了新思路。基于此,本文提出一种以STM32 微控制器为核心的太阳能自动宠物喂养装置,融合多传感器协同控制与低功耗设计理念,旨在实现精准喂养、能源自给与远程管理的集成化解决方案。本设计通过STM32F04VET6 主控芯片协调称重模块、继电器驱动电机模块及Wi-Fi 通信模块,构建闭环控制系统;采用太阳能电池板与锂电池双电源供电,显著延长设备续航能力;同时通过 CAN 总线将数据实时上传给RGB 屏,使数据能够直观体现,另外支持喂养计划定制、数据实时反馈等功能。相较于传统装置,本系统在环境适应性、智能化显示和智能化水平方面具有显著优势,为家庭宠物科学喂养与智能硬件设计提供了新的技术参考。

1 整体设计

该系统采用基于STM32F407VET6 的设计方案,旨在实现自动投喂和实时显示功能,各个模块之间通过串口、IIC、SPI、CAN 等通信协议进行交互和通信,STM32F407 单片机通过各种传感器进行数据采集,同时各个模块通过与STM32F407 单片机连接实现各模块的互联。系统框架图如图1 所示,通过压力检测、液位检测、水质检测、GPS 采集时间、功率反馈,参数显示等模块,实现整个控制系统的互联。

 

2 传感器系统设计

2.1 主控电路设计

主控芯片选择 STM32F407VET6 为主芯片,最高时钟频率可达到 168 MHz。具有高性能的 ARM Cortex-M4处理器,丰富的外设接口(如USB、CAN、SPI、I2C、UART 等)以及强大的模拟和数字信号处理功能,具有浮点运算单元(FPU),使其能够处理复杂的数学运算,适用于实时控制系统。此外它适用于各种复杂的嵌入式应用,如工业控制、物联网、汽车电子等,因此本研究采用以STM32F407VET6 作为主控芯片。

2.2 功率检测电路设计

供电部分采用额定电压12V,额定电流167mA 的太阳能发电板,能量流向LM2596 模块,经过LM2596 模块降压为5V 后给锂电池供电,最后由锂电池给整个电路供电,电源数据的采样和检测有INA219 完成,将其检测脚直接连接至10 毫欧电阻的两端后,由芯片内部完成模数转换,将采集到的电压、计算后的电流数值进行模数转换,并通过乘法器求出功率数值,分别将三个参数存入其内部的三个寄存器内。STM32 为系统的主控芯片,通过IIC 总线,将INA219 所采集和计算的电压、电流和功率值取出,并控制LCD 将其显示。

2.3 喂食电路设计

喂食电路采用 HX711 压力传感器模块、舵机阀门模块、旋转编码器来控制投喂量,压力传感器最大承重量达到20kg,模块由一个二进制模数转换器(ADC)和一个放大器组成。ADC 可以将模拟信号转换为数字信号,而放大器可以扩大信号的幅度,以便更精确地测量。GPS 定时模块采用维特智能WTGPS+BD,支持多种卫星导航系统,BDS,GPS,GLONASS,GALILEO,QZSS 以及卫星增强系统 SBAS(WAAS,EGNOS,GAGAN,MSAS)。AT6558 是一款真正意义的六合一多模卫星导航定位芯片,包含32 个跟踪通道,可以同时接收六个卫星导航系统的 GNSS 信号,并且实现联合定位、导航与授时。具有高灵敏度、低功耗、低成本等优势。舵机阀门是一种电磁转化器件,把电能转化为磁能,由磁能变换为转子的动能输出到应用部分连接单片机的定时器引脚,输出PWM 波来控制舵机,进而控制投食系统的打开和关闭。

2.4 喂水电路设计

喂水电路采用继电器驱动水泵来进行抽水,此外采用YW01 模块和 TDS 模块检测液位高度和检测水质情况进行反馈。当液位高度使YW01 模块的三极管的基极与电源正极导通的时候,此时在三极管的集电极和发射极之间就会产生一个一定放大倍数的电流,该电流经过发射极的电阻产生特定电压,被AD 转换器采集。TDS 模块采用电极法测定水溶液的电导率,通过一定转换后输出PPM 值。

2.5 通信电路设计

通信部分采用 ESP01s-wifi 通信模块,通过使用OneNET 云平台作为手机微信小程序和ESP-01S 之间的通信渠道,另外采用 2.4G-NRF24L01 模块与 STM32F407VET6 建立 SPI 通信,可拓展遥控器建立无线通信。屏幕显示部分与主芯片采用 CAN 通信,具有高效、实时、可靠的特点。多个设备可以同时参与通信,一个设备或连接发生故障,网络仍可以正常运行,系统的可靠性强。

2.6 屏幕驱动电路设计

屏幕驱动电路采用底板加核心板的方式,通过板对板的方式进行连接,底板采用自制电路板,包含 12V 转5V 降压电路、CAN 收发器电路和下载调试接口电路。核心板则采用正点原子的STM32F429IGT6 核心板,主频高达 180MHz,配备了硬件图形加速器 DMA2D 和 LCD 控制器,支持高分辨率的 LCD 屏幕显示,适用于图形界面应用,可以进行图形处理和图形渲染,提升显示性能,减少 CPU 负担。屏幕则采用7 寸RGB 屏,每个像素点由红色、绿色、蓝色三种子像素构成。每个子像素的亮度值通常是 0-255 范围内的一个数值,RGB 屏通过混合这些基本颜色来显示不同的颜色,具有色彩丰富,高亮度和对比度,高分辨率的特点,适合显示精细的图像和文本

3 软件设计与测试

3.1 主控系统软件设计

采用Keil+STM32CubeMX 软件进行联合设计,STM32CubeMX 的配置更加直观、操作步骤也更加简单,其明确而有限制的选项可以减少开发者因为遗漏而出现失误。此外采用FreeRTOS 操作系统,支持多个任务(线程)并发运行,通过优先级和时间片轮转调度任务,提供信号量 maphores)、互斥锁(mutexes)、消息队列(queues)等机制,用于任务同步和数据传递。保证任务在严格的时间约束内执行,非常适合资源受限的嵌入式系统。

3.2 屏幕显示系统软件设计

屏幕显示软件层面则采用FreeRTOS 操作系统框架+TouchGFX UI 库的设计思路,采用C/C++混合开发,底层驱动的调用使用的是STM32Cube 中的C 语言,而 UI 部分的处理采用的是 C++. 。UI 的设计则是基于MVP 的设计模式。STM32CubeMX 和TouchGFX 的联合应用,可以使开发者快速完成GUI 应用平台的搭建和GUI 应用设计及实现。

结论

本文介绍了基于 STM32 的太阳能自动宠物喂养装置设计, 能够根据设定的时间和宠物的需求自动进行喂养,具有良好的性能和实用性。通过多种传感器 光照传感器等)进行实时监控,确保喂食的准确性和适时性,防止过量喂养或遗漏。显示方面采用7 RGB 屏和小程序,方便实时观察状态。该设计为智能宠物设备的未来发展提供了一个可行的方案。

参 考 文 献

[1]洪熠,徐婷,何睿,等.基于STM32 单片机的智能宠物系统的未来发展[J].电脑知识与技术,2021,17(14):199-200.

[2]魏忠强.智能化的家养宠物喂食器设计要点探讨[J].新型工业化, 2022,12(4):18-21,26.

[3]管嘉诚,李晓烽,黄志芳,等.基于ESP8266 与机智云的物联网 智能家居[J].物联网技术, 2[4]秦蒙,王宇翔,程美芸,等.基于STM32 单片机的智能垃圾分类系统设计与实现[J].重庆电力高等专科学校学报, 2023,28(S1):12-15.

[5]杨刚,张银荣,徐佳艳,等.图形化编程环境下建模方式 对学生计算思维与编程行为的影响研究[J].电化教育研究, 2022, 43(4): 107-115.

[6]ST 新图形用户界面配置器简化STM8 微控制器设计[J].单片机与嵌入式系统应用, 2017,[7]魏忠强.智能化的家养宠物喂食器设计要点探讨[J].新型工业化, 2022,12(4):18-21,26.

[8]胡西雷,杨云飞,沈培林,等.基于 Arduino 智能宠物屋的研究与设计[J].科学技术创新, 2021(6):87-88.

[9]罗清龙,冯敏,李清涛.基于 STM32CubeMX 嵌入式实验 教学改革实践[J].计算机教育, 2018,277(1):155-158.

[10]邵晓杰,汪桃红.智能宠物用品成“它经济”新赛道[N].合肥晚报, 2023-12-14(A08).

[11]孟艳艳,陈伟海,贾长洪,等.智能宠物喂食喂水系统研究与设计[J].中国高新科技, 2020(21):137-141.

通信作者 方凯(1981-),男,副教授,E-mail:fangkai027@sina.com.

基金项目 2024 年湖北汽车工业学院大学生创新创业训练项目(DC2024028).