基于STM32的宠物自动喂食器

2024-09-12 00:00:00石楚伦王佳佳韩朋锦刘航王永豪
物联网技术 2024年2期
关键词:远程控制智能家居物联网

摘 要:针对宠物自动喂食问题,本文以STM32为主控MCU,设计了一套利用WiFi通信远程控制的宠物自动喂食系统。用户通过手机端上的涂鸦APP下达投喂指令,WBR3对手机WiFi传输的指令进行识别和分析,再利用串口通信将数据传递给STM32,STM32根据收到的数据控制步进电机开闭,实现手机端远程控制喂食。在STM32控制电机运作的同时,STM32及继电器会将当前记录的余量重量、余量状态、喂食状态等数据反馈回手机端,实现手机端系统化管理喂食过程。该系统运行稳定,能够循环执行用户下发的不同指令,可塑性高、移植性强、使用便捷。

关键词:STM32;WiFi通信;物联网;远程控制;智能家居;宠物喂食

中图分类号:TP249 文献标识码:A 文章编号:2095-1302(2024)02-00-04

0 引 言

随着人们生活水平的不断提升,宠物行业也在快速发展。现如今,饲养家庭宠物已经成为丰富居民生活的一种重要方式,其喂养问题成为宠物饲养的关键。目前,宠物投喂方式主要为人工喂养,但为解决特殊情况下的投喂问题,比如年轻人因为工作原因,特别是出差时无暇顾及宠物;老年人由于记忆或者身体原因,无法照顾宠物;若家中经常没人,自动投喂器就成为必不可少的工具。宠物能够给予我们情感的回馈,如果因缺水或者饥饿而对宠物身体健康造成影响或导致宠物死亡,会对饲养者造成消极影响,甚至影响家庭和谐。因此,设计一款能够自动喂食的装置是解决上述问题的关键,辅助饲养者喂食,保障宠物正常饮食。

目前,由于应用软件的开发成本高昂,宠物喂食器研究仍然停留在对远程投喂方式的孤立研究[1-12],未将传统喂食器中的喂食状态、余量重量、余量状态等重要功能进行整合,并形成“远程投喂→查看余量与状态→判断是否增添粮食”的系统。

本项目的创新之处在于借助涂鸦SDK_MCU移植程序,将喂食系统的投喂、喂食状态、余量重量、余量状态等重要功能同涂鸦IoT云端绑定,由涂鸦APP系统化管理宠物喂食过程的各类信息;本项目主要解决了用户喂食完成后无法获取喂食系统当前信息的问题;同时,本项目也要抓住发展前景,研究宠物自动喂食技术,以远程控制为切入点,将WiFiamp;蓝牙技术应用在宠物自动喂食系统中,并实现多角度控制输入系统,使用户通过手机端远程控制STM32及继电器实现投喂功能,并得到从STM32回馈的余量数据与喂食状态,实现人机交互。本系统设计包含WiFiamp;蓝牙技术、一体化机身构造和系统化程序设计,具有智能化程度高、稳定性强等优点,社会经济价值较高。

1 系统设计方案

本文基于STM32设计了宠物喂食系统的投喂模块、电池模块、余量监控模块、LCD显示模块、按键控制模块、小夜灯照明模块、WiFi通信模块;系统借助WiFi通信和云端服务,实现手机端远程控制电机开闭,并通过反馈的数据实时监控余量重量以及相关状态;结合3D建模和3D打印技术,打造实际可操作的模型,具有实用价值与经济价值。系统主要包括结构设计和框架设计两大模块。

1.1 结构设计

系统的整体结构设计如图1所示。机身为正圆柱设计,从上到下包括喂食仓、波轮、压力传感器、食盘四个部分。喂食仓处于系统上方,主要实现宠物余粮的增添。波盘处在系统中央,主要由轻质划片、条形缺口圆盘和小规格电机组成,采用波盘的优点是设计简单、轻巧,能快速投喂余粮。压力传感器紧挨波盘下方,用于实时记录宠物余粮状况,并将记录数据反馈回LCD屏与涂鸦APP。食盘处在系统下方空间,支撑上方结构以及接收投喂的宠物粮。系统结构的优点是能够极大地缩小硬件设施空间,扩大投食仓的容量,同时3D打印能够实现可组装拆卸的实物。

1.2 框架设计

框架模块主要由发射端与接收端两部分组成,整体框架设计如图2所示。

发射端主要由涂鸦APP与手机内置WiFi天线构成,其功能是当用户下达投喂指令时,迅速将用户指令传递到接收端,同时发射端也能够接收回传的宠物余粮数据,实时更新当前的宠物余粮状态。

接收端主要由STM32以及继电器组成,其功能是接收发射端的指令,并将分析后的数据传递给STM32,STM32及其重要外设根据接收的指令执行对应的操作。实现发射端与接收端的数据通信是核心,WiFi模块直接影响指令传递的准确性和及时性,决定着喂食系统的质量。因此,调试WiFi芯片是实现自动喂食器的重要工作。

2 系统硬件设施

系统的整体硬件设施主要分为主控模块、电源模块、投喂模块、余量监控模块、WiFi模块。

2.1 主控模块

目前较为常用的单片机有STM32、ESP32、STC等。相比其他单片机,STM32有着更加丰富的外设以及海量库函数资料,一方面便于开发复杂的功能,另一方面当遇到技术问题时能够及时找到对应的解决方案。同时,STM32集成度高,形状小巧,适用于内部空间狭窄的系统。此外,在系统设计中,MCU需要与多种继电器相连,必需考虑MCU自身的算力。因此选择基于ARM公司32位内核处理器的STM32是更加稳妥的方案。

2.2 电源模块

电源板选择涂鸦直流电源板,该电源板有USB数据线供电和锂电池供电两种方式,能够提供三路电压,分别为

12 V、5 V和3.3 V(本系统主要采用5 V和3.3 V供电)。其包含的DC-DC降压芯片能稳定实现12 V转5 V和5 V转

3.3 V,SY8012B芯片能够为开发板和各类继电器供电

5.5 V/1 A或3.3 V/1 A。

2.3 投喂模块

宠物余粮投喂选取28BYJ48步进电机。28BYJ48为四相八拍型电机,电压范围为DC 5~12 V,而主控STM32的工作电压范围为DC 3.3~5 V,无法直接驱动28BYJ48,需要增加ULN2003继电器进行间接控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以持续转动。每出现一个脉冲信号,对应步进电机某一相或两相绕阻的通电状态改变一次,即对应转子转过一定的角度(一个步距角)。因此只需在主控STM32上间断使能4个I/O口用于提供所需的脉冲信号。本系统中STM32使能的I/O口为PC1、PD2、PC11和PC12。

2.4 余量监控模块

对于用户而言,掌握宠物一天的食量和宠物喂食器中的余粮很重要,此举能够方便用户实时监测喂食器的余量,合理安排每天的粮食份额,监测宠物的身体状况等。而为了给宠物提供更加健康舒适的环境,本文设计了余量监控模块,并且创新性地将余量的负反馈模式同手机端结合,可手机端实时监控余量重量。

HX711是一款专为高精度电子秤而设计的24 位A/D转换器芯片,能够快速将模拟信号转变为数字信号,具有集成度高、响应速度快、抗干扰性强等优点。HX711所有控制信号皆由管脚驱动,因此只需将该芯片的SDA和SCK管脚与主控STM32的管脚(PC4和PC5)相连即可驱动模块。此过程的数据传输以I2C形式进行,I2C原理如图3所示。

2.5 WiFi模块

在远程喂食过程中,WiFi还会将数据上传至涂鸦云服务器,因此WiFi必须选择涂鸦官方提供的WBR3模组。WBR3是由涂鸦公司开发的一款低功耗嵌入式WiFi加蓝牙模组。它由高集成度的无线射频芯片W701-VA2-CG构成,内置WiFi网络协议栈和丰富的库函数。本系统中,WBR3作为热点,手机端作为Station,接入WBR3的热点网络与STM32进行数据交互;同时,WBR3与STM32之间通过串口进行数据传递。

除上述5个模块的设计,还需进行喂食器LCD屏的配置,使其包含定时投喂和WiFi复位功能。在涂鸦官网的后台配置远程喂食的UI界面。

3 系统软件设计

基于宠物喂食系统的实际工作场景和硬件配置,本系统设计了“STM32按键+手机端控制”双重模式,开发环境为Keil μVision5。

3.1 STM32按键控制

按键分别控制定时投喂、直接投喂和WiFi复位三个功能,旨在消除用户办公和系统配网的真空期,具体流程如

图4所示。当系统连接电源时,先进行子模块初始化,如按键、电机、压力传感器、LCD屏、定时器、串口以及相关寄存器等的初始化。此后,按键扫描子程序实时扫描按键高低电平的变化,当按下按键时,程序扫描到按键的电平由低电平转变为高电平(WK_UP为高电平转化为低电平),随即启动对应按键控制的功能(WK_UP控制直接喂食,KEY_0控制定时喂食,KEY_1控制WiFi复位)。当结束按键控制功能后,程序跳转到LCD屏的控制,显示宠物喂食状态、定时投喂时间、WiFi配网信息、余量状态、余量重量、余量百分比等参数。

3.2 手机端控制

手机端包含手动喂食、快速喂食和小夜灯三种控制功能,以及喂食状态、余量状态、余量重量和余量百分比四种状态显示;系统通过云端完成“投喂→查看余量重量与状态→判断是否增加粮食”,具体如图5所示。待系统WiFi与手机配网,手机端会生成对应的DPID功能点,按下UI界面上的“手动喂食(或快速喂食)”,WBR3模块会将手机端的指令通过串口发送给SDK程序,SDK程序下的3个子程序分别处理获得的数据,并控制电机开闭,更新余量状态、喂食状态、余量重量、余量百分比,并最终将数据反馈回手机端。

4 系统调试与数据测试

4.1 系统运行结果

先将程序导入STM32,接好电源和继电器,然后等待WBR3与手机端连接,连接完成会在LCD屏上显示“已连接路由器且连接到云端”,此时系统开始工作,如图6所示。手机端根据程序设计的DPID功能点生成对应的功能按键(或状态栏)。当按下手机端的快速喂食(或手动喂食)时,接收到指令的STM32控制电机打角,喂食状态栏随之更新,从“待机中”更换为“喂食中”,并且喂食桶中的余量数据会实时反馈到手机端,刷新余量状态、余量重量和余量百分比。

4.2 数据测试

系统运行结果经过反复测试,更换不同的场景,变换不同的距离,测试过程中使用的手机端和STM32与系统演示时一致。测试内容包括系统的WiFi最远距离测试、远程喂食在远近距离的识别率测试、云端数据在远近距离传输的延时测试。在经过大量的测试后,选取其中每组数据相对稳定的数值进行加权平均运算,测试所得数据见表1所列。在测试中,本文先测量WiFi的最远传输距离,再在WiFi的有效距离下,将手机端距喂食系统的直径作为自变量,分别设置15 m、10 m、6 m、3 m四组,获取远程喂食的识别率和云端数据的延时。测试结果表明,本系统具有很好的稳定性和高效性。

WiFi传输距离测试的地点选择在家庭住房处,符合系统实际应用场景。如果在空旷地带,WiFi的数据传输效果相对得到提升;每组有关距离的数据都是严格基于相同的隔墙数进行测试;每组数据测试20次,最后所得数据是加权平均后的结果。

5 结 语

本文主要介绍了一种以STM32为主控的宠物自动喂食系统,旨在解决用户喂食完成后无法获取喂食系统当前信息的问题;该系统在代码层面增加了SDK_MCU移植程序,能通过涂鸦IoT云端调度系统的各电控模块,达到在手机端实现系统化管理宠物喂食过程的目的,并且经过反复调试,已达到预期效果;该喂食系统的优势在于增强了用户对宠物喂食过程的管理,所选用的继电器和云服务成本低廉,具有一定的社会经济价值。

参考文献

[1]杜雨函. 基于用户价值的宠物自动喂食机设计[J]. 信息化研究,2016,42(3):48-52.

[2]高晓斌. 基于STM32 单片机的智能宠物家居的设计与实现[J]. 信息系统工程,2018,31(7):20.

[3]蒲小年. 基于微信小程序的宠物自动喂食系统[J].物联网技术,2018,8(9):79-81.

[4]胡正练,王桥,陈旭,等. 可清理残食的自动宠物喂食系统 [J].智能处理与应用,2018,8(28):92-93.

[5]史磊. 单片机与嵌入式系统开发方法[J].电子技术与软件工程,2018,25(22):242.

[6]张杰斌,谢泽奇. 基于STM32的宠物智能投喂装置的设计与实现[J]. 信息技术与信息化,2021,46(10):93-95.

[7]龙小丽,杨泽锋,黄闯,等. 基于STM32的智能宠物投食系统设计[J]. 科技创新与应用,2021,11 (4):235-237.

[8]黄晖,余继成,肖春明,等.基于STM32的扬尘监测系统设计[J].物联网技术,2020,10(12):15-17.

[9]李泽宇,解迎刚,曹满鑫,等.基于物联网感知的草莓采摘机器人设计[J].物联网技术,2020,10(12):67-68.

[10]周书友,代银莉,莫建麟.基于STM32和μC/OS的家居智能防盗系统[J].物联网技术,2020,10(12):99-102.

[11]徐江坤,王仪昭,魏吉平.基于STM32的智能环卫工装系统的研制[J].物联网技术,2020,10(8):59-62.

[12]陈美玲,赵兴雷,穆乐贤,等.基于WiFi远程遥控的智能逐光百叶窗的设计[J].物联网技术,2020,10(1):63-64.

猜你喜欢
远程控制智能家居物联网
基于Zigbee的无线通信技术在智能家居中的应用
电子制作(2018年1期)2018-04-04 01:48:28
水冷发射机冷却系统故障分析及解决方案
基于Arduino UNO的智能插座设计
盐城地区设计项目与课堂远程互动的方式方法研究
艺术科技(2016年10期)2016-12-14 00:11:02
基于GSM的远程控制系统
基于物联网的煤矿智能仓储与物流运输管理系统设计与应用
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者
环球时报(2016-08-01)2016-08-01 07:04:45
关于智能家居真正需求的探讨
工业设计(2016年10期)2016-04-16 02:44:05
智能家居更贴心
科学生活(2015年3期)2015-01-03 09:41:18