宠物定时喂养器设计.docx
- 文档编号:18178544
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:51
- 大小:219.98KB
宠物定时喂养器设计.docx
《宠物定时喂养器设计.docx》由会员分享,可在线阅读,更多相关《宠物定时喂养器设计.docx(51页珍藏版)》请在冰点文库上搜索。
宠物定时喂养器设计
xxx学院
毕业论文(设计)
宠物定时喂养器设计
系部电子信息与控制工程系
专业名称电气自动化技术
班级电气11401班
姓名xx峰
学号2014xxx
指导教师李龙
2016年2月28日
摘要
由于生活节奏的不断加快,当宠物主人上班或外出时,宠物食物和水的供给问题越来越突出化。
特别是当人们长时间出差在外或是旅游度假时,不能及时对家中的宠物给予很好地照顾,宠物的饮食问题常成为困扰主人外出时的一个负担。
本设计是针对此问题而设计的一种自动定时的宠物喂食机器提高宠物的喂养质量,减轻主人的负担,对人们的出行减少了后顾之忧。
本设计采用了AT89C51单片机来控制,LCD显示面板来显示时间以及显示5个段的定时时间,用按键控制设置5个定时时间点,每当定时时间点到时,蜂鸣器、喂水阀门、喂食阀门立即同时动作;蜂鸣器工作16S,它的工作主要实现提醒宠物进食,喂水和喂食阀门打开2S后自动关闭,食物自上往下流入容器中,供应宠物喂食喝水,本设计解决了工作时或节假日时由于主人不在不能对宠物进行喂食,避免了宠物由于饮食不正常所产生的问题。
关键词:
定时喂食、手动喂食、AT89C51单片机。
1引言
随着21世纪的到来,中国社会发展的迅速,中国农村每年消失的村庄不计奇数,每年都还趋于上升的趋势,城市的人口迅速增多。
充分体现出毛主席的一句话,从农村包容城市的战略。
改革开放30多年来国家的GDP增速迅速,人们的生活水平越来越高,而人们对生活的质量,不在是改革开放初期时,只为了填饱肚子,人们思想的寄托也形成了多样式。
年轻人为了生存、为了事业、为了家庭在外打拼。
在亲情方面年轻人是有心而无力,想在家照顾老母亲、老父亲报答他们的养育之恩,但是迫于生活的压力,年轻人都在为了生活而四处奔波,就形成了家中的空巢老人之说。
随着80、90主导社会,社会各个阶层各种的压力,大多数人的心里寄托发生了变化,很多家庭会养起小动物。
但是,人们工作的和学习是十分的繁忙,当人们外出时间比较长时,对宠物的食物和水的供给就出现比较大的问题。
特别是当人们出差在外或者是,旅游度假时,经常不能及时的对家中的宠物给予很好地照顾,宠物的饮食常成为困扰人们主要问题。
本设计就是针对此问题而设计的一种装置。
它对家居智能化起到了积极地作用,在提高人们生活效率与乐趣的同时,也对人们的出行减少了后顾之忧。
本设计大大的改善了宠物主人们的出行方便,主要功能是实现定时喂养,可以帮助人们在出行不方便之余,宠物的进食问题得到快速解决,大大的改善了人们出行的快捷方便,无后顾之忧。
2方案论证与设计
2.1设计要求
利用单片机的定时功能设计一个宠物自动喂食盒的电路,该设计由食物盒、水槽、驱动电机、阀门及驱动电机组成。
设计要求:
可以通过键盘输入5个定时喂养的时间,每到设定时间后,电动机开始工作,驱动食物盒的阀门打开,食物落入盒中,同时蜂鸣器鸣叫,吸引宠物进食,时间设定按照年/月/日/时/分的格式输入宠物进食时间。
2.2方案论证
分析本题,根据设计要求先确定了本系统的整体设计原理框图如图2-1:
图2-1系统整体设计原理框图
当设置好的时间一到。
蜂鸣器、喂食阀门、喂水阀门同时开始工作,喂水阀门和喂食阀门打开的时间为2秒,食物和水会从上往下流入容器中,2秒过后喂水阀门、喂食阀门同时关闭。
蜂鸣器工作16秒提醒宠物就食,时间一到蜂鸣器就会自动关闭如图2-2所示:
2.2.1声音模块
方案一:
采用一个三极管和一个蜂鸣器,由蜂鸣器发出响声吸引宠物过来进食。
蜂鸣器接收到一个低电平,蜂鸣器器发出响声吸引宠物过来进食。
方案二:
采用扬声器,当时间到的时候扬声器立刻开始工作,按照设定好的音乐响起,吸引宠物过来进行进食。
由于是用单片机来控制宠物定时喂养设计,选着蜂鸣器可以简单一些,只需要一种声音就可以实现提示功能,虽然扬声器可以选择多种音乐的切换,但是它的电路较为复杂。
根据以上两个方案,采用方案一。
图2-2系统原理图
2.2.3显示模块
方案一:
选用数码管显示,用普通的数码管显示简单的数字、符号、字母。
只需一次显示5个倒计时间,而且每个时间只需显示6个数字,即年/月/日。
方案二:
采用LCD显示屏。
可以显示时间,设定的时间,方便更好的操作,显示界面的功能多一些。
方案一中的数码管它显示的内容比较单一,且电路复杂,不易操作。
根据以上两个方案,采用方案二。
2.2.3定时模块
方案一:
采用外部定时设备(定时器),控制时间使电机正常工作。
方案二:
采用AT89C51单片机定时器模块,控制好时间使电动机正常工作。
第一种方案需要购买一个外部设备“定时器”提高了成本、占用了空间。
第二个方案不需要外部设备“定时器”直接用AT89C51单片机定时器可以实现。
根据以上两个方案,采用第二种方案。
2.3按键模块
方案一:
选用独立式键盘,键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。
独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。
方案二:
选用行列式键盘,行列式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上,设置一个按键中按键的个数是M*N个。
这种形式的键盘结构,能够有效的提高单片机系统中I/O的利用率,列线接P1.0~P1.3行线接P1.4~P1.7,行列适用于按键输入多的情况。
方案三:
采用6个按键开关,可实现五个倒计时间依次键入,分为:
设置时间按钮、加时间按钮、减时间按钮、设置定时按钮、手动模式切换按钮、手动喂食按钮。
独立式占用的I/O口比较多,较为复杂,行列式键盘在本设计在本设计中设计起来较为复杂用,因此采用方案三。
2.4手动/自动工作模式
本系统是可以处于手动及自动两种工作模式,手动模式下,由主人通过按键控制系统工作;在自动模式下,设置的定时时间一到,蜂鸣器开始响起时间16S,同时电动机转动,食物阀门、喂水阀门同时打开时间2S,水和食物将放到容器中,等待宠物来就食。
3硬件电路设计
3.1单片机特性
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,简称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,其具有以下特性:
1.与MCS-51兼容
2.4K字节可编程闪烁存储器
3.寿命:
1000写/擦循
4.数据保留时间:
10年
5.全静态工作:
0Hz-24Hz
6.三级程序存储器锁定
7.128*8位内部RAM
8.32可编程I/O线
9.两个16位定时器/计数器
10.5个中断源
11.可编程串行通道
12.低功耗的闲置和掉电模式
13.片内振荡器和时钟电路
端口介绍:
1.P0口:
P0口是一个8位漏极开路的双向I/O口。
2.P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
3.P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
4.P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
图3-1AT89C51引脚图
端口介绍:
5.P0口:
P0口是一个8位漏极开路的双向I/O口。
6.P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平
7.P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
8.P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
3.2单片机中断的介绍
在设计中用到了外部中断INT0/INT1和定时器T0。
它们的中断请求标志分别为IE0,IE1和TF0。
这些中断请求标志位分别由特殊功能寄存器TCON和TMOD的相应位锁存。
在这个设计中,中断允许寄存器是首要介绍的。
3.4.1中断允许寄存器IE控制CPU对中断源的开放或屏蔽。
IE
EA
ES
ET1
EX1
ET0
EX0
位地址
AFH
ACH
ABH
AAH
A9H
A8H
当EA=0时,所有的中断请求被屏蔽,CPU不接受任何请求。
当EA=1时,CPU开中断,此时只要五个中断源的中断请求允许为1,则开中断。
3.3TMOD-工作方式控制寄存器
用于选择定时器/计数器的工作模式,字节地址为89H,8位分2组,高4位控制T1,低4位控制T0,其格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
TMOD
GATE
C/T
M1
M0
GATE
C/T
M1
M0
下面对工作方式选择位做说明:
M1M0---工作方式选择位,M1M0共有4种编码,分别对应4种工作方式。
如表1:
表1工作方式选择
M1M0
工作方式
00
方式0,为13位定时器/计数器
01
方式1,为16位定时器/计数器
10
方式2,8位的常数自动重新装载的定时器/计数器
11
方式3,仅适应于T0,T0分为两个8位的计数器,停止计数
中断的触发方式:
电平触发方式和下降沿触发方式。
3.4复位电路和晶振电路设计
复位电路的作用是一种用来使电路恢复到起始状态的电路设备,复位电路一般采用如下两种方式:
1、上电复位:
上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行
2、手动复位:
首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作,复位电路工作原理如图所示,VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。
工作期间,按下S,C放电。
S松手,C又充电,在10K电阻上出现电压,使得单片机复位。
几个毫秒后,单片机进入工作状态。
如图3-1、3-2所示:
图3-1上电复位图3-2手动复位
3.5按键电路设计
本电路有六个开关按钮组成分别为:
设置时间按钮、加按钮、减按钮、设置定时按钮、手动模式切换按钮、手动喂食按钮。
设置时间按钮:
当宠物定时喂养设计开始以后,LCD显示屏会显示当天的年/月/日以及时/分/秒。
如果与当天的时间发生错误时,我们可以按设置时间按钮,设置准确的时间,包括时/分/秒、年/月/日。
为方便下面的定时做好准备。
加按钮:
当设置LCD显示屏的时间时,可以才用加按钮来快速调节时间,大大的方便设置时间的速度。
加按钮也是设置定时时间调节的主要快捷按钮。
减按钮:
当设置LCD显示屏的时间时,可以才用减按钮来快速调节时间,大大的方便设置时间的速度。
减按钮也是设置定时时间调节的主要快捷按钮。
设置定时按钮:
本设计采用了5个设定时间点来控制宠物定时喂养工作的,设置定时按钮可以设置5个不同的时间点,每个时间点到,蜂鸣器、水阀门、食物阀门立即工作,水阀门和食物阀门2S过后立即关闭,食物自上往下流入容器中。
当17S过后蜂鸣器停止工作。
手动模式切换按钮:
当按下手动手动模式切换按钮,LCD显示屏会显示“auto、hand”。
Auto是自动喂食,当切换成auto模式时,此时设置的定时时间才会工作,否则它不会工作。
当切换在hand时是手动操作,此时的定时时间不会因为时间到就会工作,因为此时设置的是手动操作,它在为手动喂食按钮控制做准备。
手动喂食按钮:
当手动模式切换按钮切换在hand时,此时按下手动喂食按钮蜂鸣器、喂水阀门、喂食阀门立刻打开,此时的工作是没有时间限制的,食物也是从上往下;流入到容器内。
当键盘中按键数量较多时,可以采用矩阵键盘减少I/O口的占用,在本设计中按键数量较少,采用独立按键,当按下按键,单片机相应的端口检测到低电平,按键电路如图3-3所示:
图3-3按键电路图
3.6报警电路描述
蜂鸣器的端口分为正负两个端口,正极接三极管,负极接地。
工作原理:
三极管主要是做驱动放大电流。
单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,当输出高电平时,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音16S,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。
如图3-4所示:
图3-4报警电路图
3.7显示模块的设计
此LCD显示屏的主要功能是显示时间和手动与自动的切换,也是按钮操作的显示窗口。
端口介绍:
VSS电源接地、VDD电源正极、RS数据命令选择端、RW读写选择端、E使能信号、D0-D7I/O端。
该液晶显示屏是通过时钟芯片来控制实现的,显示年/月/日、时/分/秒、hand、auto如图3-5、3-6所示:
图3-5液晶1602显示屏图3-6液晶1602显示屏
3.8电源电路
单片机电源(220v转5v)设计电源电路采用LM7805集成稳压器作为稳压器件,用典型接法,220V电源整流滤波后送入LM7805稳压,在输出端接一个470U和0.1U电容进一步滤除纹波,得到5V稳压电源如图3-6所示:
图3-6电源电路图
3.9时钟芯片
时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。
它为人们提供精确的实时时间,可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能,或者为电子系统提供精确的时间基准,在本设计中,时钟芯片向单片机提供日期等信息,时钟芯片及日期显示如图3-7、3-8所示:
图3-7时钟芯片图3-8LED1602显示
4电路软件设计
4.1系统总程序流程图
图4-1系统流程图
本设计分手动和自动两种工作模式,在自动模式下,当设置好的时间一到。
蜂鸣器、喂食阀门、喂水阀门同时开始工作,喂水阀门和喂食阀门打开的时间为2秒,食物和水会从上往下流入容器中,2秒过后喂水阀门、喂食阀门同时关闭。
蜂鸣器工作16秒提醒宠物就食,时间一到蜂鸣器就会自动关闭。
4.2按键的初始化程序
在本设计中,单片机的P1.0为设置时间、P1.1为设置+、P1.2为设置-、P1.3为设置预定时间、P1.4为设置切换模式、P1.5为手动喂食如图4-2所示:
图4-2初始化流程图
初始化化程序如下:
ucharst1[2]={5,7};
ucharst2[2]={14,16};
ucharst3[2]={17,0};
ucharst4[2]={20,0};
ucharst5[2]={23,0};//按键
sbitkey1=P1^0;//设置时间
sbitkey2=P1^1;//设置+
sbitkey3=P1^2;//设置-
sbitkey4=P1^3;//设置预定时间
sbitkey5=P1^4;//设置切换模式
sbitkey6=P1^5;//手动喂食
4.3按键的识别程序
程序设计中按键的检查采用的是查询方式,以按键P1^0为例,当检测到KEY1=0时,进入相应的设置时间处理程序,如下图4-3所示:
图4-3按键识别流程图
voidset0()0按键的程序
{
//切换---------------------------
if(key1==0){moshi=(moshi+1)%9;
if(moshi==8){ds1302_settime();
beerc();
moshi=0;}
while(key1==0);}
}
4.4蜂鸣器输出程序
蜂鸣器采用P2.3口作为输出口如图4-4所示:
4-4所示如图
voidbeerc()///蜂鸣器
{
beer=0;
_delay_ms(100);
beer=1;
}
4.5时钟芯片初始化程序
始终芯片在本设计提供日历等相关信息,下面为始终芯片的初始化程序
sbitSLCK=P3^5;//时钟芯片的程序
sbitIO=P3^7;//输出数据口
sbitRST=P3^6;//复位口;
#defineio()IO==1
#defineDDR_1()_nop_()
#defineDDR_0()IO=1
#defineSLCK1()SLCK=1
#defineSLCK0()SLCK=0
#defineIO1()IO=1
#defineIO0()IO=0
#defineRST1()RST=1
#defineRST0()RST=0
unsignedchartime[]={0x00,0x0b,0x0b,0x02,0x01,0x01,0x0c};//写入dat
voidds1302_write(unsignedchardat)
{
uchari;
DDR_1();
for(i=0;i<8;i++)
{
if(dat&0x01)IO1();
elseIO0();
dat=dat>>1;
SLCK0();_nop_();
SLCK1();_nop_();
}
4.6液晶显示
液晶的初始化,它主的功能就是显示时分秒。
lcd1602_adr(0x40);lcd1602_writenumber(0x30+time[2]%100/10);
lcd1602_adr(0x41);lcd1602_writenumber(0x30+time[2]%10);
//-显示分lcd1602_adr(0x42);lcd1602_writenumber(':
');
lcd1602_adr(0x43);lcd1602_writenumber(0x30+time[1]%100/10);
lcd1602_adr(0x44);lcd1602_writenumber(0x30+time[1]%10);
//-显示秒lcd1602_adr(0x45);lcd1602_writenumber(':
');
lcd1602_adr(0x46);lcd1602_writenumber(0x30+time[0]%100/10);
lcd1602_adr(0x47);lcd1602_writenumber(0x30+time[0]%10);
详细程序见附录
5仿真结果
图5-1仿真效果图
该设计可以根据实际情况选择手动喂食或是自动喂食:
自动喂食:
把LCD显示屏手动切换按钮调制auto模式。
依次设置定时TIME1、TIME2、TIME3、TIME4、TIME5,当时间一到蜂鸣器立即开始工作15S提醒宠物就食,此时打开水阀门和打开食物阀门的步进电机开始正转带动阀门打开2S,此时食物和水从上往下流入容器中,2S时间一到步进电机反转工作带动阀门立即关闭,此时蜂鸣器还在工作,当16S时间一到蜂鸣器停止工作。
手动喂食:
把LCD显示屏手动切换按钮调制hand模式。
按下手动喂食按钮,蜂鸣器、打开水阀门、打开食物阀门三个同时工作,直到手松开手动按钮。
操作步骤:
设置时间操作:
通过设置时间按钮LCD显示屏来显示设置时间的年/月/日/时/分秒利用加减按钮来增加或减小时间数值的大小如图4-2所示:
图5-2LCD显示设置时间
设置定时时间:
本设计分为5个时间段为Time1、Time2、Time3、Time4、Time5、如图4-3所示:
图5-3显示设置定时时间
手动或自动的切换:
手动模式切换按钮主要是实现手动喂食和自动喂食的切换功能如图4-4、4-5所示:
图5-4手动模式图5-5自动模式
结论
本设计主要研究如何设定五个时间点并发出喂食信号。
宠物喂食器系统主要包括单片机控制、自动开关和蜂鸣器提示、倒计时间设定系统。
喂食器的喂食过程,通过键盘设定五个倒计时间,当依次到达这五个时间时,发光二极管发光,蜂鸣器发出响声,吸引宠物过来进食并自动投放食物。
本设计解决了工作时或节假日时由于主人不在不能对宠物进行喂食,避免了宠物由于饮食不正常所产生的问题。
改善了宠物主人外出的时间,有了这个宠物定时喂养器,就可以让宠物宝宝们不会因为主人外出而影响到进食了。
宠物们也可以快乐的健康的成长,主人也可以不用愁外出宠物没有人喂养了。
致谢
我想向曾经给我帮助和支持的人们表示衷心的感谢。
首先要感谢我的指导老师李龙,他指明了毕业设计的努力方向,使这次毕业设计成了我的一个良好实践锻炼的机会,使我的视野开阔了,思维更清晰了。
其次还要感谢大学三年以来所有的老师,他(她)们为我打下自动化专业知识的基础;同时还要感谢帮助过我同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。
参考文献
[1]童诗白主编《模拟电子技术基础》,修订2版,北京:
高等教育出版社1988
[2]阎石主编《数字电子技术基础》,修订3版,北京:
高等教育出版社1988
[3]胡汉才主编,《单片机原理及其接口技术》,(第二版)北京:
清华大学出版社2004
[4]张毅刚主编,《单片机原理及应用》,北京:
高等教育出版社
[5]马忠梅等编著,《单片机C语言应用程序设计》,(第四版)北京航空航天大学出版社2007.1
[6]何立民,《MCS-51单片机应用系统设计》,北京航空航天大学出版社,1998.7
[7]徐爱军,《单片机高级语言C51应用程序设计》,电子工业出版社,1997.7
[8]张志良;单片机原理与控制技术;北京,机械工业出版社,2008
[9]于海生,微型计算机控制技术;北京,清华大学出版社,1999.3.
[10]康华光.电子技术基础[M].模拟部分.高等教育出版社,1998
附录
附录1:
源程序清单:
#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
//用液晶屏显示参数
ucharcodezifx0[]="0123456789abcdef";
ucharcodezifu0[]="2015-05-01Mon";
ucharcodezifu1[]="12:
00:
00";//用液晶屏显示参数
ucharcodezifu2[]="SETTime1";
ucharcodezifu3[]="08:
00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宠物 定时 喂养 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)