基于51单片机猫用自动喂食器的分析研究
2017-10-21王珊珊魏虹
王珊珊 魏虹
摘要:由MSC51单片机构建的猫用自动喂食器,由蜂鸣器部件、自动开关部分和单片机部分、时间设定部分组成。该机器投喂猫咪的工作过程为:使用外部放置的键盘设定五个不同的投喂时间,当时间达到设定好的时刻时,开始自动投放食物,同时发光二极管和蜂鸣器分别发出信号,吸引宠物主动前行进食。单片机对其内部部件进行控制,倒计时时间在数码管上显示,在此期间单片机一直对时间进行判别,判断其是否已到达喂食时间。如果达到设定投喂猫咪的时间,二极管便开始发光,蜂鸣器收到信号之后就开始工作。
关键词:单片机;猫用宠物喂食器;定时喂养
近年来我国家养宠物越来越多,但是很多家庭由于工作、学业的繁忙,难以及时准确地给宠物喂食,并且不少家庭选择在假期出游,然而家中宠物却无人照顾。而自动宠物喂食器,能定时进行投喂,保证猫在主人不在家的情况下能够吃饱喝足,利于猫的身心健康,避免其在饥肠辘辘的状况之下误食有毒之物。
本设计可以实现以下几种功能:
(1)可通过键盘输入需要喂食的时间,当时间到达之后,步进电机开始运转投放猫粮。
(2)按照年月日时分的格式设定猫需要吃饭的时间。
1 硬件部分
1.1单片机部分
MCS51单片机具有CMOS的高速和高密度技术的特征,功耗相對来说较低,拥有十分标准的功能构造与指令系统。主要包含运算器、控制器、片内寄存器、4个I/O接口、串行接口、定时器/计数器、中断系统、振荡器等部件[1]。
(1)运算器。由暂存器、累加器、暂存器、程序状态字和布尔处理器组成,并且以算术逻辑单元ALU作为其核心。
(2)控制器。负责控制协调整个系统运作,是CPU的灵魂之处,由指令期存器、指令译码器、定时和控制电路等部件组成。根据不同的指令发出对应操作时序和控制信号。
(3)振荡器和CPU时序。51单片机具有高增益的反相放大器,通过外接晶体引脚接入反馈元件的晶体后成为自激振荡器。该晶体呈感性,振荡器的震荡频率与晶体相关,也可采用片外振荡器。振荡器输出的震荡脉成为内部时钟信号之后,发出信号进行控制,协调内部各部件的顺序工作。该周期称为时钟周期。
整个工作过程大致为:取指令、译码、操作,再取指令、译码、操作,如此循环往复,类似这样自动的完成相应指令规定的功能作为时序。
(4)存储器和寄存器。片内数据存储器由工作寄存器区、位寻址区、数据缓冲区这些负责不同工作区域组成。堆栈可利用片内RAM的部分单元进行工作。如果容量不够时,可外接片外存储器。
(5)定时器/计数器。该部分是51单片机重要功能模块之一。在检测、控制等应用当中,把定时器当做实时时钟来使用,实现定时的功能。定时器产生大约毫秒宽的脉冲,该脉冲就可以步进电机进行控制和操作。
MCS51系列单片机芯片引脚图如图所示:
1.2 其他各类模块
(1)按键模块。
该模块使用的是7个按键作为开关,使用时五个倒计时间可以分别设定好,在这个模块当中还有两个按键用来调整时间,以及一个按键用来复位。
(2)自动开关模块。
采用三极管和发光二极管近似表示。本系统是采用电阻和发光二极管来进行表示比较容易,当一个低电平输入到发光二极管当中,开关就会闭合,其便导通发出启动光芒,代表着已经开始工作进行自动投食。
(3)蜂鸣器模块。这个模块当中分别含有一个三极管与蜂鸣器,当发光二极管亮灯时,一个低电平就会被送入蜂鸣器内,然后蜂鸣器发会出响声吸引猫前来进食。
蜂鸣器是一种使用直流电进行供电的整体化结构的电子元器件,在一些使用单片机的设计当中,很多部件都会用到蜂鸣器,在按键按下、开始工作、工作结束或是故障等等情况下,都是使用蜂鸣器来做提示或报警[4]。
(4)显示模块。
显示模块选用数码管来进行显示作用的实现,采用很普通的数码管显示简单清晰的数字、符号或者字母,当中会显示5个已经设定好的倒计时。
1.3 电源电路
单片机电源所需为5V,所以要把220V进行变压处理。其中稳压器件选用LM7805集成稳压器,使用典型接法来进行连接。将家用供电的220V电源进行整流滤波之后,电源就进入LM7805,稳压器就进行稳压作业,如图所示,在输出端接入470U的电容和0.1U的电容,对电源进行滤除纹波,就能得到5V的电源。电源电路如图所示。
电源电路
2 软件部分
程序语言的选择。目前针对单片机的语言选择,主要有两种程序可供选择,一种是汇编,另一种是单片机C51语言[3]。这两种语言各有优势,但目前的主流选择是C51语言。针对单片机的C51语言可读性强,程序开发快,可移植性较强,程序结构简单明了。
主程序和中断服务程序这两个不同的程序部分组成了系统软件。主程序的部分是实现显示当前时间、投食时间,还有其余系统显示的这些不同功能。中断服务程序的功能是要对系统各参数进行设定,中断子程序要有传感器数据采样,各执行机构的控制等功能。程序框图如图所示[5]。
在本次设计之中,也有许多不足需要改进,如喂食器上按键众多,容易被猫误操作;喂食器如果不够坚固,容易被猫暴力拆解,导致自动喂食功能失效。但是本设计基本上解决了主人工作繁忙或出门在外的情况下,由于主人不在家,不能对宠物进行喂食的困惑,防止了猫咪由于饮食不正常所产生的肠胃或者精神问题。
參考文献:
[1]张仁彦,高正中,黄鹤松.单片机原理及应用[M].机械工业出版社,2016,2.
[2]赵建领,薛圆圆.零基础学单片机C语言程序设计第2版(零基础学编程)[M].2012,3,14.
[3]Brian W. Kernighan,Dennis M. Ritchie,C程序设计语言(第2版·新版)[M].机械工业出版,2016,10.
[4]刘岩,王丁,闫瑶.新型智能宠物喂养系统的设计与实现[J].自动化技术与应用,2008,27(1).
[5]刘丹,胡旭波.基于ATmega88V单片机的智能喂食系统设计[J].电子元器件应用,20082,10(2).
作者简介:王珊珊,女,汉族,电气工程及其自动化专业,现从事高校教师工作,主要教授《模拟电子技术》《数字电子技术》《信号与系统》《自动控制原理》等专业基础课程;魏虹,女,汉族,电气工程及其自动化专业,从事电力施工、保护调试等相关工作。