APP下载

智能宠物定时喂食器的设计

2019-09-03琳李媛雷炬林娜乔成芳陈

计算机与数字工程 2019年8期
关键词:蜂鸣器按键宠物

杨 琳李 媛雷 炬林 娜乔成芳陈 俊

(1.商洛学院电子信息与电气工程学院 商洛 726000)(2.北京北信源软件股份有限公司西安分公司 西安 710000)(3.商洛学院化学工程与现代材料学院 商洛 726000)(4.山阳中学 山阳 726400)

1 引言

近几年来,宠物行业在国内迅速发展,越来越多的人饲养宠物,但是,由于繁忙的工作、学习,饲养者可能没有足够的精力与时间随时照看宠物,尤其是出差或外出旅游期间,需要宠物独处的时间更长,而这段时间宠物的喂养成为饲养者的一大难题[1~2]。对宠物的自动喂养成为一个热点研究,这个问题在国内外早有研究,国外的研究在智能化和自动化方面已经取得了很大的进展[3],但是存在设备体积大、结构复杂、价格昂贵,普通的宠物饲养者无法承担等问题[4~5]。而在国内也有很多研究人员在该方向展开深入的研究,早期赵飞达、商莲辉研究了宠物自动喂食器[6~7],近些年,杜雨函、蒲小年等人在产品的智能化方面做了相关的研究[8~11]。然而,大多数宠物喂食器都比较简单,结构单一,难以满足宠物主人对宠物身体健康、精神健康等方面的需求。单片机具有体积小、速度快、抗干扰能力强,环境要求不高,性能可靠和价格低廉等优点,通常在其外部配置外围电路就可构成一完整的控制系统,得了广泛应用[12~15]。本文结合国内外的现状,提出基于单片机的智能控制开发一款智能宠物自动定时喂食系统,在减小体积、降低成本的同时,提高其智能程度。一方面,定时定量的设计能够辅助宠物养成定时定量进食的习惯,另一方面,为需要外出的宠物饲养者解决了后顾之忧。

2 系统架构

2.1 宠物定时喂食器实现的功能

系统实现宠物自动定时喂食功能,主要分为主控模块、驱动模块、按键模块、显示模块、电源模块五大部分。主控模块是以单片机STC89C52作为主控芯片,通过搭建其最小系统,实现对外围其他设备的控制功能;驱动模块采用的是利用继电器对步进电机进行控制的功能;显示模块主要采用的是LCD1602显示屏,对定时时间和模式选择进行实时显示的功能;电源模块主要采用的是USB的供电方式;按键模块是利用9位独立按键对宠物定时时间和模式选择进行设定,以及对喂食时间进行复位。

2.2 设计总体结构图

本设计主要由STC89C52主控模块、供电模块、液晶显示模块、独立按键模块、蜂鸣器报警模块和继电器驱动模块组成。其系统框图如图1所示。

图1 宠物定时喂食器系统框图

1)STC89C52单片机:主要是作为主控芯片,用来对用按键输入进来的数据进行处理,并且通过其IO口对其他几个部分进行控制的。

2)电源:该设计采用USB供电的方式,对单片机和整个系统进行供电。

3)LCD1602:对按键设定的定时时间和模式进行显示。

4)蜂鸣器:当定时时间到来的时候进行报警。

5)继电器模块:主要用来对步进电机进行驱动。

6)步进电机:模拟宠物喂食的过程。

3 系统硬件电路设计

3.1 总体电路设计

该系统从硬件的总体设计来说,主要由单片机主控模块、继电器驱动模块、LCD1602显示模块、按键模块、USB供电模块和蜂鸣器报警模块。总体电路包括复位电路、晶振电路、驱动电路、显示电路、报警电路、按键电路、电源电路。

3.2 复位电路

复位电路起的作用是当对单片机系统进行初始化或者程序跑飞的时候,通过一定的方式让单片机进行复位,恢复到初始状态。STC89C52单片机主要有两种复位方式,一种是通过上电进行复位,另外一种是通过按键进行复位,而本系统所采用的是按键复位。STC89C52单片机的复位电路如图2所示。

图2 复位电路

3.3 晶振电路

晶振电路主要是用来给单片机提供时钟信号的,以保证同步方式的实现。本系统中所使用的是11.0592MHz的晶振,STC89C52单片机的时钟引脚主要是XTAL1和XTAL2。本系统中设计了μs级和ms级两个函数来实现对定时时间和喂食时间的设定。其中三个定时时间是将初值先设置0,然后通过循环实现定时的功能;喂食时间是先将初值设置为20,然后等到定时时间到达后,喂食时间开始递减,实现喂食的倒计时。晶振电路如图3所示。

图3 晶振电路

3.4 驱动电路

本系统所采用的驱动电路是继电器驱动,使用的控制芯片是集成芯片ULN2003,驱动的主要元器件是四相五线型的步进电机。按照一定的时序对其通电,它就会按照其时序进行转动。脉冲信号到来,步进电机开始角位移,进而带动宠物食物流出。通过控制脉冲个数来控制角位移量,从而达到宠物食物的准确定位和控制补给量的目的,驱动电路如图4所示。

图4 电机驱动模块

3.5 LCD1602显示电路

本系统采用LCD1602作为显示设备,LCD1602的数据传输部分主要是由单片机P0口来控制,命令选择端、数据选择端和使能端是由单片机的P1.3-P1.5控制,LCD1602的显示电路如图5所示。

图5 显示电路

3.6 蜂鸣器报警电路

蜂鸣器是作为当设定的时间以及喂食时间到达后进行实时报警的功能,本系统中使用STC89C52单片机的P1.7口来控制蜂鸣器,蜂鸣器报警电路如图6所示。

图6 蜂鸣器报警电路

3.7 按键电路

系统的设计采用的是9位独立按键,分别用来对定时时间和喂食时间进行设定以及开始计时。其中前3组按键用来对喂食前的时间进行设定,第4组是对喂食过程中的时间进行设定,而第9个则是开始计时的按键,并且当按下对应的按键后,可以能够通过LCD1602显示器实时的显示出来。按键电路如图7所示。

图7 按键电路

3.8 USB电源电路

本系统中采用的是USB电源供电的方式,分别对单片机、驱动电路、LCD1602液晶显示模块进行供电。USB电源电路如图8所示。

图8 USB电源电路

4 系统软件程序设计

4.1 主程序软件设计

主程序在设计过程中相对简单,它主要完成的任务是对各个模块的初始化,以及对于一些寄存器的配置工作。其程序流程图如图9所示。

图9 主程序流程图

1)对LCD1602进行初始化和清屏操作,然后向LCD1602中写入字符或者字符串数据;

2)开始对定时器/计数器0进行初始化操作,设置为16位的定时器/计数器模式,并向计数器中装入高八位和低八位初值;

3)对按键进行初始化操作,相应的为设置为高电平;

4)关闭定时器/计数器中断和总中断;

5)使用按键开始设置定时时间和喂食时间,并且观察LCD1602上显示的时间是否和设置的时间一致;

6)打开启动按键,开始计时,等到定时时间到达后,观察电机和液晶的显示。

4.2 LCD1602显示模块软件设计

LCD1602作为此次系统的显示模块,对其软件的设计主要涉及到初始化、数据及命令的写和读操作、以及清屏和对比度的调整等。LCD1602软件设计流程图如图10所示。

图10 LCD1602程序图

4.3 继电器驱动模块软件设计

本系统中,使用的继电器驱动的执行元件是反应式四相五线步进电机,其中自然就涉及到了步进电机的转速、转向的问题。其中步进电机的转向和转速主要是通过P2.0-P2.3口控制的,由于四相步进电机采用八拍通电方式,则当电机正转时,电机绕组按A—AB—B—BC—C—CD—D—DA—A顺序通电,反转时,绕组通电顺序与正转时相反,步进电机通电换相的控制采用延时的方法,当某相通电或某两相通电时,其余相绕组需断电。在控制电机的过程中,其控制转向和转速的流程图分别如图11和图12所示。

图11 步进电机控制转向流程图

图12 步进电机控制转速流程图

5 结语

本文设计了基于单片机的宠物定时喂食器,该系统主要由STC89C52单片机、USB电源电路、蜂鸣器电路、按键电路、继电器驱动模块以及LCD1602显示模块组成。

1)本系统以STC89C52单片机及其最小系统作为主控模块,来控制整个系统。USB电源电路用来给整个系统提供外部电源,保证整个系统的正常工作;蜂鸣器电路主要是当到达设定的定时时间后,进行报警的作用;9位独立按键电路主要是用来设定定时时间、喂食量、喂食时间以及开始计时的作用。继电器驱动模块主要是用来驱动步进电机的,以确保能够给步进电机较大的电路,保证其能够正常工作;最后LCD1602显示模块是用来实时显示定时和喂食时间的是喂食量。

2)经测试,该系统软硬件运行正常,能满足宠物自动定时喂食的实际需求,减小设备体积的同时,提高其智能程度,拉近了人们和宠物之间关系,将会带来一定的市场价值和经济效益。

猜你喜欢

蜂鸣器按键宠物
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于有限状态机的按键检测程序设计
非触勿动 秒治键盘误触
掌控板制作简易钢琴
本尼丢了蜂鸣器
抬起脚来
一种光感自动晾衣装置
养宠物
其实真的很简单教你轻松关闭WP8.1手机按键灯
计算器