摘要: 随着科技的发展和人们生活的提高,饲养宠物的人越来越多,而调查发现饲养宠物仅在喂食方面就需要花费大量精力和时间。为实现宠物的智能喂食,本设计以STM32F103C8T6单片机为核心、时钟、称重、喂食、监测、显示等模块,连接手机APP实现对宠物喂食的智能化管理。按键电路模块控制喂食时间与食物投放量。称重AD转换模块实时传输食物重量,红外线传感器判断宠物是否进食,OLED显示屏实现人机交互情况,实时显示宠物进食情况和食物投放量。该喂食器以STM32单片机为核心控制OLED的显示、称重模块和舵机,实现了定时定量加食,并可按照用户设定的时间定时发出语音播报吸引宠物进食;利用ESP8266开发移动端APP对系统进行远程功能控制,用户可设置喂食时间、食物分量等参数,操作界面简单。通信接口JDY32蓝牙模块与手机完成连接后,可实现与手机APP连接,操作界面简单便捷,方便主人远程控制和操控。该智能宠物喂食器硬件简单、运行成本低,能循环执行用户下达的不同指令,解决了主人不在家宠物也能按时吃饭的难题。
Abstract: With the development of technology and the improvement of people’s lives, more and more people are keeping pets, and surveys have found that keeping pets requires a lot of energy and time just for feeding. To achieve intelligent feeding of pets, this design uses STM32F103C8T6 microcontroller as the core, clock, weighing, feeding, monitoring, display and other modules, connected to a mobile APP to achieve intelligent management of pet feeding. The button circuit module controls the feeding time and food dispensing amount. The weighing AD conversion module transmits the weight of food in real time, the infrared sensor determines whether the pet has eaten, and the OLED display screen realizes human-computer interaction, displaying the pet’s eating situation and food delivery amount in real time. The feeder uses STM32 microcontroller as the core to control the OLED display, weighing module, and servo, realizing timed and quantitative feeding, and can emit voice announcements at the time set by the user to attract pets to eat; Using ESP8266 to develop a mobile app for remote functional control of the system, users can set parameters such as feeding time and food portions, and the operation interface is simple. After the communication interface JDY32 Bluetooth module is connected to the mobile phone, it can be connected to the mobile APP. The operation interface is simple and convenient, making it easy for the owner to remotely control and manipulate. This intelligent pet feeder has simple hardware and low operating costs, and can execute different instructions issued by users in a loop, solving the problem of pets being able to eat on time even when their owners are not at home.
1. 介绍
随着物联网技术与嵌入式系统的深度融合,智能家居设备正逐步向宠物关怀领域延伸,宠物喂养的智能化已成为新的市场增长点。现代都市人群生活节奏加快,宠物独自留守时间延长,传统喂养方式面临喂食不规律、食量控制精准度不足、远程监控缺失等问题,亟需一套兼具可靠性与便捷性的智能解决方案。STM32F103C8T6单片机作为一款高性能、低功耗的32位微控制器,凭借其丰富的外设接口、卓越的实时处理能力及成本优势,成为嵌入式智能设备开发的理想核心组件。基于该芯片设计的宠物智能喂食系统,能够通过精准的时序控制与传感器数据融合,实现定时定量喂食、余量监测、异常报警等核心功能,有效解决传统喂养的痛点。本系统创新性地引入手机智能控制模块,通过Wi-Fi模块建立单片机与移动终端的无线通信链路,用户可通过专用APP远程设定喂食计划、实时查看喂食状态及宠物活动画面,打破时空限制实现全天候宠物关怀。相较于现有产品,系统在硬件架构上采用模块化设计,集成红外传感器、称重模块与舵机驱动单元,在保证功能完备性的同时简化了开发流程;软件层面通过FreeRTOS实时操作系统进行任务调度,确保多模块协同工作的稳定性与响应速度。研究旨在构建一套低成本、高可靠性的宠物智能喂食系统,通过STM32F103C8T6的高效运算能力与手机APP的便捷交互,实现宠物喂养的智能化与远程化。该设计不仅为宠物饲养者提供了科学的喂养管理工具,也为嵌入式技术在智能家居细分领域的应用提供了实践参考,具有一定的理论价值与市场应用前景[1]。
2. 智能宠物喂食系统需求
从市场现状来看,宠物经济正蓬勃发展,饲养宠物的家庭数量逐年递增,对宠物相关产品的需求也水涨船高。据市场研究机构数据显示,过去几年全球宠物用品市场规模持续扩大,智能宠物喂食设备作为新兴细分领域,市场份额不断攀升。从消费者需求角度分析,宠物主人渴望一款能实现定时定量喂食的设备,以此保证宠物饮食规律,维护健康。例如,上班族无法在工作时间回家喂食,智能喂食系统可按设定时间自动投喂,解决后顾之忧。远程控制功能也备受青睐,主人即便出差、旅行,也能通过手机APP操作喂食系统,随时随地照顾宠物。另外,部分宠物主人还希望系统能具备食物余量监测、健康状况分析等进阶功能,根据宠物年龄、体重、健康数据制定个性化喂养方案,实现精细化养宠。而STM32F103C8T6单片机以其高性能、低功耗、丰富的外设接口以及实惠的成本,为设计功能齐全、稳定可靠的智能喂食系统提供了硬件基础。通过该单片机,能轻松实现与各类传感器、执行器的连接,以及与手机端的无线通信,让系统精准采集数据、执行控制指令。综上,基于STM32F103C8T6单片机的手机智能控制宠物智能喂食系统,既能解决宠物主人在喂养宠物时的困扰,又符合市场对智能化、便捷化宠物用品的需求,市场前景广阔,有望在宠物用品市场占据更大份额,推动行业发展[2]。
2.1. 常见智能宠物喂食系统技术
智能宠物喂食系统融合多种技术实现自动化、精准化喂养,核心技术包括以下几类:(1) 控制与交互技术,定时控制技术:通过嵌入式芯片预设喂食时间,结合电机驱动装置实现定时出粮,确保喂食规律。远程交互技术:依托Wi-Fi或蓝牙模块连接手机APP,支持用户远程调整喂食量、频率,实时接收设备状态反馈。(2) 传感与检测技术,重量传感技术:通过压力传感器监测储粮桶余量及单次出粮重量,精准控制喂食量,避免过量或不足。红外传感技术:检测宠物是否靠近喂食口,防止误触发出粮或卡粮,提升设备安全性。(3) 存储与保鲜技术,密封储粮技术:采用硅胶密封圈等设计,配合干燥盒减少空气进入,延缓干粮氧化变质。低温保鲜技术:部分针对湿粮的设备集成小型制冷模块,维持5℃~10℃存储环境,延长食物保质期。(4) 数据与智能技术,数据记录技术:记录宠物进食时间、食量等数据,生成饮食报告辅助主人掌握宠物健康状态。初级AI算法:结合宠物体重、活动量等基础数据,提供个性化喂食建议,逐步向智能化喂养演进。这些技术的整合应用,推动智能宠物喂食系统从简单定时工具向多功能养宠助手升级,满足了精准喂养与便捷管理的核心需求。
2.2. 智能宠物喂食系统创新分析
宠物智能喂食系统是利用STM32F103C8T6单片机为基础的智能化喂养方案,利用各种传感器模块和继电器来完成精准定时投喂,远程监控。当主控芯片利用时钟模块判断达到喂食时间,驱动舵机工作的同时会根据事先设置好的目标喂食量去实时监测称重传感器测得的投喂量大小,与此同时,利用红外传感器采集到宠物的进食时间与进食次数,并通过蓝牙模块将其信息传送到手机APP上,方便饲养员远程监控。同时会将剩余食物是否够吃等信息传递给APP与OLED显示板上的提示信息让饲养员知晓。此系统的三大技术要点:使用高精度称重传感器并配合闭环控制算法保证每次的误差均小于±3%;低功耗,待机电流小于5 mA,时钟模块可以由纽扣电池单独供电;能够实现多种控制模式:定时投喂、手动投喂以及手机远程投喂[3]。
2.3. 智能宠物喂食系统模型及算法分析
论文系统整体模型架构统以单片机为核心,采用“感知–决策–执行”闭环架构,分三层设计:感知层,集成重量传感器(监测储粮及出粮量)、红外传感器(检测宠物靠近)、温湿度传感器(监测储粮环境),完成信号采集与转换。控制层,以STM32或ATmega系列单片机为核心,处理感知数据并运行控制算法,通过Wi-Fi模块(如ESP8266)实现远程交互与参数配置。执行层,包含直流电机出粮机构、蜂鸣器(报警)、LED指示灯(状态提示),执行单片机指令。
论文系统核心控制算法分析:(1) 定量出粮控制:采用增量式PID算法,通过重量传感器实时比对出粮量与预设值,调节电机PWM占空比,将单次误差控制在±2 g内,消除机械传动间隙影响。(2) 定时喂食调度:基于RTC模块实现时间管理,采用“预设计划 + 动态修正”策略,若前次喂食时宠物未靠近(红外未触发),下一次自动延后30分钟。(3) 异常处理:卡粮时(电机电流超阈值1.5倍且持续1秒),触发电机反转重试,失败则报警;低电量(电压<3.3 V)时切换至“基础模式”,仅执行预设计划以延长续航。
3. 智能宠物喂食系统硬件设计
论文系统是以STM32F103C8T6单片机为核心的智能喂养系统,包括定时投喂、精准计量、行为监测和远程控制模块,从而组成一套完善的智能喂养方案。利用DS1302时钟模块能够实现高精度计时,保证定时投喂;用HX711称重传感器检测剩余饲料量,提前预设好投喂时间到达后配合SG90舵机形成闭环定量投喂,误差保持在±3%以内;利用TCRT5000红外传感器检测宠物进食行为并记录进食时长;系统带有一个0.96英寸OLED屏可显示时间、投喂状态以及余粮等信息;使用蓝牙模块(JDY-31)与手机APP无线连接可实现在家就能给宠物设置喂食计划,或者在外出时通过手机APP进行远程投喂以及查看投喂情况,在存量过低时给用户发送警告信息,警告信息也会出现在屏幕上[4]。本系统通过对各传感器采集的数据由STM32完成综合分析与处理,并协调其他各个模块运转,使得系统能够稳定运行。
3.1. 系统设计流程图
本系统的采用模块化的结构设计,电源管理电路是5V输入 + 3.3VLDO,整个系统待机功耗小于5 mA,适合于在家里饲养宠物的时候使用,也可以用于宠物店等各种场合来实行科学化、智能化地喂养宠物。本系统软件程序设计主要为单片机内部程序和APP操控页面两大模块,本系统设计结构如图1所示。
Figure 1. System chart
图1. 系统框图
3.2. HX711称重A/D转换模块
HX711采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器 等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性[3]。该芯片与单片机连接为两接线的接线方式,DT引脚为数据口,SCK引脚为时钟脉冲口,分别与主控模块的PB9、PB8引脚相接,称重之后将重量数据传输给单片机,实物图如图2所示。
YCZ131是一款常见的微型悬臂梁式称重传感器,能把压力转换成电信号,常用于电子秤、智能宠物喂食器余量监测等需要测重量的场景。量程选择常见有1 kg/5 kg/10 kg (宠物喂食器一般用1 kg)。输出信号为毫伏级电压(需搭配HX711放大器才能读取)。精度有0.01%~0.05% (1 kg量程的理论误差±0.5 g,实际±2~5 g)。结构是铝合金材质,中间贴有应变片,受压时电阻变化。其1、2、3、4引脚与HX711模块连接为电桥,可以测量出重量并传输数据给HX711模块,再HX711模块其传输数据给单片机[5]。实物图如图3所示。
Figure 2. Physical picture of HX711 chip
图2. HX711芯片实物图
Figure 3. Physical picture of YCZ131 sensor
图3. YCZ131传感器实物图
3.3. 循迹传感器
TCRT5000是一种常用的红外反射式传感器,主要用于检测物体表面的颜色(例如黑色和白色)或判断前方是否存在障碍物。该传感器具有高精度、高可靠性和低功耗等优点,是制作循迹电子设备的关键组件之一[6]。其主要原理是利用强制发出红外线经过物体反射,再传感器接收并转化为电信号输出,并通过外部电路分析其反射情况,从而实现对移动物体的跟踪。常见于智能小车循迹、宠物喂食器检测等场景。TCRT5000有三个感光器件,可以分别测量物体与左、正、右方向之间的距离。当有物体靠近的时候,Out引脚会输出数值量的电平(如由0到1),并连接主控模块PA0引脚传输数据给单片机。在智能宠物喂食器制作中,可以利用这些传感器的输出信号判断宠物是否在喂食器进食,以便实现主人不在家宠物也能按时吃饭[7]。实物图如图4所示。
Figure 4. TCRT5000 physical picture
图4. TCRT5000实物图
4. 智能宠物喂食系统软件设计
基于STM32的宠物智能喂食系统的控制程序流程如图5所示。系统判断当前时间是否为喂食时间,如果是,则舵机启动,将按照设置数据来投放食物量,并在OLED显示屏显示食物投放量,当称重传感器达到设置食物投喂量时,舵机恢复初始状态等待下次食物投放;如未到喂食时间则继续显示当前时间及数据[8]。通过红外线传感器监测宠物是否靠近喂食器,如果是,则APP显示宠物在附近,反之则显示宠物不在附近,同时称重传感器实时显示余粮重量来判断宠物是否进食,且APP同步显示所有相关数据[9]。
Figure 5. Main program flowchart
图5. 主程序流程图
蓝牙APP程序设计
本系统采用的移动应用开发工具为App Inventor社区版本。该工具最初由谷歌实验室研发,后转由麻省理工学院维护运营,是一款基于可视化编程的开发环境。其最大特色在于采用模块化拼装的方式快速构建应用程序,类似于Scratch的拖拽式编程方法。开发者可以通过AI伴侣工具直接在移动设备上进行实时测试和调试[10]。这种方式类似于乐高积木,使得编程变得简单有趣,特别适合初学者和没有编程经验的人。App Inventor提供了一个直观、可视化的编程环境,用户可以通过拖拽模块来设计程序的外观和行为,用户可以在线开发,只需在浏览器中进行操作,无需安装复杂的软件,总工作模块图如图6所示。
Figure 6. APP program flowchart
图6. APP程序流程图
5. 实物调试与功能测试
系统总体设计的是主要由STM32芯片、DS1302芯片、蓝牙模块、OLED显示屏、按键模块、称重模块、传感器模块及舵机组成,实物图正反面如图7所示(未接入电源状态)。
Figure 7. Physical system diagram
图7. 系统实物图
5.1. 显示模块功能测试
将设计接入电源,STM32芯片PWR指示灯亮起,蓝牙模块指示灯闪烁,表示蓝牙未连接,如图8所示。等待OLED屏显示屏完整显示信息:顶行“Real-time date”表示本系统皆用实时日期;右上角“BLU”为蓝牙图标;第二行“Real-time: 11:14:55”为实时时间中午十一点十四分五十五秒;第三行“Weigh 0 g”为喂食器里食物实时重量,单位为g/克;第四行“HH:MM:WIHT”为可设定的物理单位,表示“小时:分钟:投喂量”;第五行“Book1: 08:00 800”为设定的一天中第一次喂食时间和投喂量,即表示早上八点整系统自动出粮量为800g;“Book2、Book3”。以此类推分别为设定的一天中第二、三次喂食时间和投喂量,程序将一直循环工作直到下一次修改设置数据;最后一行“Pet in: No”则为监测宠物情况,判断宠物是否靠近喂食器,显示为“No”表示宠物不在附近;如图9所示。
Figure 8. Physical design of pet intelligent feeding system
图8. 宠物智能喂食系统设计实物图
Figure 9. OLED display string graph
图9. OLED显示字符串图
5.2. 食物投放功能测试
打开手机设置,开始连接蓝牙,选择名称为DM-CWWS的设备进行连接,蓝牙连接成功后,OLED显示屏右上角“BLU”标识会由黑底白字变为白底黑字,且蓝牙模块实物LED灯由闪烁变为常亮,如图10、图11所示。
Figure 10. Bluetooth not connected display
图10. 蓝牙没有连接显示图
Figure 11. Bluetooth connection successful
图11. 蓝牙连接成功显示图
打开APP页面,再次进行蓝牙连接,上一步骤进行的蓝牙连接为手机与系统设计实物的连接,这次连接则为APP与系统设计实物的蓝牙连接,实现远程操控。APP页面显示蓝牙连接成功后,手机显示“蓝牙连接”,此时可从操作界面设置喂食时间、投喂量、观察宠物是否靠近喂食器进行喂食、进食情况,以及食物余量。如图12所示,手机界面显示“蓝牙连接”、“实物重量:0 g”、“宠物情况:宠物不在附近”等信息。
通过所设计相关APP或喂食系统实物的按键设置喂食时间及食物投喂量,APP设置操作流程:点击“选时间”选择喂食时间,输入具体投喂量后,点击设定即可,喂食系统实物OLED则会实时显示当前设定的喂食时间及投喂量;实物按键操作流程:长按右键K2会进入设置界面,上下按键K4、K3为设置单位选择,持续点击直至选择到所想设置的物理单位如Book2第二次喂食时间及投喂量,左右按键K1、K2为物理量选择,持续点击直至设置到所需物理量。界面中喂食时间设置为当前时间±2分钟,食物投喂量为70 g,舵机扇叶初始状态为180度,等待定时触发,舵机启动,桨叶开始旋转进行投放食物,开合角度对应投喂量,根据OLED显示每次投喂重量及余粮重量,可以得知每次食物投喂量只有极小误差。如图13、图14所示。
Figure 12. APP operation interface diagram
图12. APP操作界面图
Figure 13. Waiting for timed triggering of feeding
图13. 等待定时触发喂食显示图
Figure 14. Servo triggered feeding function
图14. 舵机触发喂食功能显示图
5.3. 余粮重量感应测试
接上一步骤继续操作(因无真实宠物粮食在身边,借用重量约70 g的鼠标进行实验),当投放的食物量达到所设置的投喂重量,称重传感器马上进行检测食物投喂量达是否达到设定投喂量。如达到所设定重量,则舵机复原为初始状态(舵机扇叶恢复成180度初始状态)等待下一次投食工作,如图15所示。
Figure 15. Servo restoration display image
图15. 舵机复原显示图
5.4. 监测宠物功能测试
OLED显示屏所显示“Pets in”即表示监测宠物是否在喂食器附件,当宠物靠近喂食器时,红外线传感器会亮起红灯,OLED显示屏则会显示“Pets in-Yes”,APP页面显示宠物在附近;当宠物不在喂食器附件时,红外线传感器无反应且OLED显示屏显示“Pets in-No”,APP页面显示宠物不在附近,如图16、图17所示。
Figure 16. Simulation pets near feeders
图16. 宠物在喂食器附近模拟图
Figure 17. Simulation pets not near feeders
图17. 宠物不在喂食器附近模拟图
6. 总结
论文宠物喂食系统最终实现了三大核心功能:精准投喂、余粮监测和远程监控。在精准投喂功能中,通过DS1302定时触发投喂任务,STM32控制舵机转动角度,同时HX711实时反馈重量数据,形成闭环控制。余粮监测功能则依赖周期性称重扫描,结合阈值判断触发预警。远程监控通过蓝牙模块与手机APP交互,支持喂食计划修改和进食情况查询。然而,系统仍有改进空间,如制作成本目前硬件成本约150元,可通过国产芯片替代(如GD32)降低至100元以内;智能化不足,未来可引入图像识别(ESP32-CAM)分析宠物进食习惯,实现AI自适应投喂;续航能力,若改用锂电池 + 太阳能充电方案,可彻底摆脱有线供电限制。总体而言,本设计成功验证了智能宠物喂食系统的可行性,为后续产品化奠定了技术基础。