APP下载

基于STM32 的宠物智能投喂装置的设计与实现

2021-03-15张杰斌谢泽奇

科技创新与应用 2021年10期
关键词:光敏舵机温度传感器

张杰斌,谢泽奇

(郑州西亚斯学院 电子信息工程学院,河南 郑州450000)

1 概述

随着信息技术的不断发展,智能化装置进入人们的视野,智能化设备给人们带来很多便利,高效、可靠和方便的智能化装置在生产生活中的应用越来越广泛,同时其在军事、交通、家居、农业、经济等领域已经表现出巨大的发展潜力。同时国家政策的大力扶持与5G 时代的到来,AI 和IoT 两大技术落地,未来物联网发展将会突飞猛进。并且在5G 环境下网络速率、网络安全、网络便捷性能够促进物联网的发展。

尽管智能化设备已经渗透到生活的方方面面,并且在智能家居方面已经形成了相对完整的系统,市场上的智能家居设备大多都服务于人们的衣食住行,但是市场上针对宠物服务的设备却很少,目前市场上已有的宠物自动投喂装置已经难以满足宠物主人的需求。

宠物是人类忠实的朋友,同时也是人类精神的寄托。研究与设计基于STM32 的宠物智能投喂装置,其目的是为了更好的照顾到宠物的日常生活,本文研究与设计的基于STM32 的宠物智能投喂装置是以STM32 为核心,集温度传感器、光照传感器、WiFi 模块、实时时钟模块等模块为一体,配以相对应的软件系统。可以实现根据处于不同年龄段的宠物、每天进行定时定量的精准投喂一定量的食物和水,定时检测宠物的生活环境并且如果检测到高温环境并及时进行报警,宠物主人也可以通过智能设备随时随地的了解宠物在家生活情况、为宠物加餐等功能。

2 系统设计

STM32 系列处理器是意法半导体ST 公司生产的一种基于ARMv7 架构的32 位、支持实时仿真和跟踪的微控制器[1]。本文所介绍的基于STM32 的宠物智能投喂装置采用的是以STM32F103ZET6 芯片为核心的单片机,由实时时钟模块、温度传感器、光敏传感器、WiFi 模块、逻辑控制单元和动作执行单元等模块组成。图1 为基于STM32 的宠物智能投喂装置结构图。

2.1 实时时钟模块(RTC)

本装置使用的实时时钟模块是一个STM32 内部的、采用精度较高的晶体振荡器作为时钟源的独立定时器,可以提供精准的实时时间。同时,该模块具有一组连续计数的计数器,可以根据当前的时间,自己修改计数器的值,从而达到重新设置系统时间和日期的目的。

RTC 不能断电,如果RTC 断电的话,时间数据就会丢失,导致时间不精准。RTC 模块和时钟配置系统是在后备区域,不管装置在什么状态(运行,关闭或者复位状态等),只要保证后备区域正常供电,即使在装置断电情况下,也会启动后备电源(后备电源是一个纽扣电池,在装置断电时,为RTC 时钟供电),保证RTC 时钟不停的运行,所以我们获得的时间和日期都是比较精准的[2]。

图1 装置结构图

2.2 温度传感器

温度传感器是能感受温度并转化成数字信号的传感器。STM32 的内部温度传感器与ADC 的通道16 相连接,通过AD 转换将传感器输出的电压转化为数值,达到测量CPU 及周围温度的目的[3]。STM32 的内部温度传感器能够测量到的最高温度为125℃,最低温度为-40℃,其测量误差为±1.5℃。

STM32 的温度传感器是固定在STM32 开发板上边的,用于测量CPU 及周围的温度。在使用STM32 内部温度传感器之前,首先要激活ADC 的内部通道,并且使能其相对应ADC 的内部通道,通过设置ADC_CR2 的AWDEN 位为1 来启用内部温度传感器,然后设置只读取ADC 的通道16 的值,得到的数据就是温度传感器返回来的电压值,根据这个值,经过一定的公式,就可以计算出当前温度。

2.3 光敏传感器

光敏传感器是生活中最常见的传感器之一,光敏传感器是使用光敏元件将光信号转化为电信号的传感器。光敏传感器是利用光敏二极管的特性,可以利用光照强度的强弱来改变电路中的电流,以测量光敏二极管两端电压值的大小,通过ADC 读取电压值,从而判断光线的强弱。本文所介绍的基于STM32 宠物智能投喂装置是使用STM32 的ADC3 的通道6 来读取光敏二极管的电压变化,从而获得光照强度。

2.4 WIFI 模块(ATK-ESP8266)

ATK-ESP8266 是一款高性能的UART-WiFi(串口-无线)模块,使用其透传功能可以进行数据传输,并且有很高的可靠性[4]。ATK-ESP8266WiFi 模块功能强大,ATK-ESP8266 模块支持LVTTL 串口,只需简单的配置即可通过网络与串口设备传输数据。

ATK-ESP8266 模块支持STA/AP/STA+AP 三种工作模式。

AP 模式:该模块作为热点,手机、电脑或者其他智能设备可以通过WiFi 连接热点,与模块进行数据传送或者局域网无线控制。

STA 模式:该模块通过路由器连接互联网,手机、电脑或者其他智能设备通过接入互联网,与模块进行通信或远程控制。

AP+STA:两种模式共存,既可以实现局域网内连接热点进行通信或无线控制,也可以实现智能设备联网进行通信或远程控制,这样的好处是可以实现局域网与广域网的无缝切换,使操作更加方便,适用场景更加广泛。

每个模式又包含TCP 服务器,TCP 客户端,UDP 三个子模式,既可以作为客户端,也可以作为服务器。

2.5 动作执行单元(MG995 舵机)

动作执行功能由舵机完成。使用的是MG995 舵机,工作电流为100mA,使用电压为3~7.2V,结构材质为金属铜齿、空心杯电机,双滚珠轴承,转动角度最大为180度,脉冲宽度范围为0.5ms 到2.5ms 时,舵机转动范围-90°到90°,舵机转动的角度与脉冲宽度为正比[5]。在使用舵机之前,需要给舵机一个20ms 的时基脉冲,通过调节PWM 信号的占空比控制其转过不同的角度,如图2 为舵机的输出转轴角与输入信号的脉冲宽度之间的关系图。

图2 舵机的输出转轴角与输入信号的脉冲宽度之间的关系图

在该宠物投喂器中通过定时器与PWM 同时控制MG995 舵机打开固定的角度和固定的时间后关闭,以达到定时为宠物投喂适量的食物。

2.6 逻辑控制单元

逻辑控制单元采用STM32F103ZET6 芯片。该芯片是基于CortexTM-M3 核心、有512K 字节闪存、64k 静态随机存取存储器的32 位微控制单元[6]。STM32 拥有超多的外设,并且具有极高的集成度,本文中提到的基于STM32的宠物智能投喂装置的研究与设计使用到的有:ADC、DAC、USB、RTC、TIMER、GPIO 等外设及功能。

逻辑控制单元是该装置的核心,目前已经实现的功能有:

功能一:通过按键选择模式针对不同年龄段的宠物进行投喂(若未检测到按键,则在30s 后自动进入普通模式),进入工作模式后,定时采集与分析宠物生活的环境信息,有危险的话会发出警报。

功能二:然后通过判断是否在宠物的饭点和定时器精准定时,来控制舵机旋转一定的时间以达到自动投喂适合当前模式年龄段的宠物的目的。

功能三:然后通过互联网与模块将工作时间和得到的环境数据发送给宠物主人,使主人随时随地了解宠物的生活情况,宠物主人也可以根据宠物的生活情况随时随地通过手机对宠物进行加餐。

3 功能测试

自上而下方框中的数据分别为开机自动获取的日期时间及环境数据、输入指令date 获取的环境数据、输入指令work 执行动作后获得的数据。图3 为功能测试结果图,说明已经完成了该装置的预期功能。

图3 功能测试结果图

图4 工作流程图

4 软件设计

首先,当系统上电后会反馈宠物生活环境数据(包括温度、光照强度、实时时间)。然后会有30s 的时间,进行选择工作模式,会提示选择到的工作模式适用于哪个年龄段的宠物,如果选错了,我们可以通过按装置上的RESET 键进行复位。最后,根据选择的模式进行每天定时定量的投喂和定时进行环境检测及高温报警,如果接收到智能终端设备发送的指令,就会根据指令,进行相对的操作,然后反馈操作信息。

5 结束语

本文所介绍的基于STM32 的宠物智能投喂装置有三个优势:

优势一:该装置打破了传统人工饲养宠物的方法,使用宠物智能投喂,分别有三个模式针对不同年龄段的宠物进行定时定量的投喂。

优势二:具有环境监测及高温报警功能,时时刻刻保证宠物生活环境安全,也显得其更具有人性化。

优势三:手机等智能设备可以通过WIFI 模块随时随地查看宠物生活环境数据,以及给宠物加餐,显得其更加智能化。

基于STM32 的宠物智能投喂装置是在互联网影响之下物联化的体现。本设计所研究的宠物智能投喂装置不仅仅是一款智能设备,它更是连接主人与爱宠的纽带,而且功能强大,时刻检测宠物的生活环境,照顾到宠物的健康饮食。并且通过APP 将宠物与主人联系在一起,未来基于STM32 的宠物智能投喂装置会基于投喂和环境监测等基础功能之上进一步开拓新的空间。

猜你喜欢

光敏舵机温度传感器
气象用温度传感器检定结果的测量不确定度评定与应用
基于HSIC的日光温室温度传感器优化配置策略
光敏色素A参与苜蓿秋眠调控分子机制的研究进展
直升机某型舵机自动测试系统设计分析
Fe修饰石墨烯的结构及其析氢性能调控研究
锂铝硅系光敏微晶玻璃制备工艺及其性能探究
鸣律
温度传感器DS18B20在温度计设计中的应用
XTR105电流变送器在温度传感器中的应用
基于dsPIC单片机的飞艇舵机控制实现