自动喂食器(一等奖)

上传人:m**** 文档编号:183449573 上传时间:2023-01-30 格式:DOCX 页数:21 大小:493.20KB
收藏 版权申诉 举报 下载
自动喂食器(一等奖)_第1页
第1页 / 共21页
自动喂食器(一等奖)_第2页
第2页 / 共21页
自动喂食器(一等奖)_第3页
第3页 / 共21页
资源描述:

《自动喂食器(一等奖)》由会员分享,可在线阅读,更多相关《自动喂食器(一等奖)(21页珍藏版)》请在装配图网上搜索。

1、北京化工大学第六届“萌芽杯”技术报告学院名称:信息科学与技术学院作品类别:B类作品名称:自动喂食器队伍名称:Dream Factory指导教师:商晓东队长:熊善海参赛队员:李金海蒙宁佳蔡玉斌马程川20U 年 5 月 20 日摘要喂食器总共包括五个键,FUNCTION键,ADD键(即时喂食键),DEC键,RESET键,ON/OFF 键。AT89S52 单片机用于计时,检测键盘,和控制电机,定时时间及电机工作时间山 按键 检测输入,单片机每 20ms 计时中断一次。当计时时间与设定时间参数一致时, 单片机发 出脉冲信号控制电机正转反转。单片机等模块封装在长方形的控制盒中,控制盒正面依次为LCD,按

2、键,电源指示 灯,电源开关。侧面为USB电源接口,电机控制线电源线出口。电机和电机驱动模块封转在喂食漏斗中,喂食漏斗固定在控制盒的背面,控制盒 的 背面有挂钩,可以以悬挂的方式固定在鱼缸壁上。设计出这样一款自动喂食器能够方便人们的生活,这是我们的动机。 我们的作品完全自主研发,运行稳定,操作方便,成本低廉,具有很大的潜在商 业 价值,而且有很大的拓展空间。关键词:单片机,步进电机,LCD显示器目录目录3第1章引言 4第2章 喂食器的功能及操作说4第节喂食器的外观图 4第节喂食器功能的详细说明5第节 喂食器的操作说明 5第3章喂食器的理论设计过程第节喂食器的设计始末6第节喂食器的设计思路6第节喂

3、食器最终方案工作原理7第4章软件设计 9第节软件开发工具9第5章结论10附录 11为响应学校关于加强大学生的创新意识、合作精神和创新能力的培养的号召,我 们 组积极参加了学校举办的“萌芽杯”科技创新大赛。围绕生活中出现的喂养的鱼类喂食麻烦的问题,我们组进行了鱼缸自动喂食器的 研 究,以务实为基础,现已取得一些成果。我们自学了单片机及其外设的一些知识,充分利用了网络和图书馆的一些资源, 最 终确定了自动喂食器的控制方案,并且以实物实现。我们的作品完全自主研发,运行稳定,操作方便,成本低廉,具有很大的潜在商 业 价值,而且有很大的拓展空间。第 2 章 喂食器的功能及操作说第节喂食器的外观图第节 喂

4、食器功能的详细说明(1)能够实现家庭大中小型鱼缸的自动喂食,为工作学习繁忙或是出差的人群提供 方便。(2)能够在 0 时 0 分到 59 时 59 分范用内任意设定喂食时间间隔,比如设定 8 时 8 分,则 能够每隔8小时8分对鱼进行一次喂食。(说明:作出的喂食器模型为了测试 的方便我们 的程序中用分代表小时,用秒代表分钟,但在该技术中仍以小时和分说明 问题。)(3)喂食器的喂食持续时间分为五档,这关系到每次喂食量的多少,可依据需要人 为设 定。(4)能够实时显示已设定的喂食时间间隔,距离下一次喂食的时间,还有设定的喂 食持 续时间为第儿档,每次修改时间时能够立即刷新并显示时间。(5)即时喂食

5、,按下即时喂食键,喂食器能够停下计时立即开始喂食,喂食结束后 喂食 器继续计时。第节喂食器的操作说明(1)该喂食器总共包括五个键, FUNCTION键,ADD键(即时喂食键),DEC键,RESET 键, ON/OFF 键。(2)按下0N/OFF键,自动喂食器电源打开,指示灯亮,LCD显示开机欢迎词。(3)没有按FUNCTION键时,按下ADD键,实现即时喂食功能。(4)按下 FUNCTIUON 键一下,光标在设置时间位置的分的十位处闪烁两下,说 明可以 进行的分的调节,每按一次 ADD 键,分加 1,每按一下 DEC 键,分减 1。(5)FUNCTION键按两次,光标在设置时间位置的时的位置闪

6、烁两次,说明可以进行时 的调节,同理用ADD键和DEC键进行时间的调节操作。(6)FUNCTION键按三次,喂食持续时间位闪烁两次,说明投食时间可以修改,同样 用ADD键和DEC键进行加减修改。(7)第四次按下FUNCTION键,光标不再闪烁,调时过程结束。(8)按 RESET 键时,喂食器重新启动,喂食时间恢复默认,如有需要可以重新设 定, RESET 键用于防止系统出错时,恢复系统。第 3 章 喂食器的理论设计过程第节喂食器的设计始末我们宿舍曾经喂养了一缸金鱼,寒假时出现了无人照看金鱼的情况,直接导致了 金鱼的死亡。考虑到现实生活中的宠物爱好者也会遇见这种悄况,所以我们感觉到设计出这样一款

7、自动喂食器能够方便人们的生活,这是我们设计的动机。第节喂食器的设计思路、控制部分我们最开始的方案是用 555 定时器作为定时芯片,。但是在随后的理论分析过程中, 我 们认为 555 定时器不能满足正常的定时需要,我们的喂食器必须是一款实用的,经 得起生 活检验的定时器,所以必须在定时上能够针对不同的喂食环境设置不同的喂食 时间间隔和 喂食持续时间。而且这些控制必须要能够用显示装置显示出来。这样我们就否定了功能单 一的 555 定时器的方案。我们得知用单片机能够进行高级的编程控制, 于是我们便自学了 单片机,并且最终讨论决定使用 Atmel 公司的 AT89S52 单片机作为 控制芯片。使用单片

8、机的 好处是能够精确讣时,能够通过编程更简单地更方便地驱动 各个部件,这是模拟电路所不 能达到的效果。、喂食部分最初的喂食模块我们是计划用类似于电磁继电器开关的装置来控制喂食阀门的开 闭, 但是最后考虑到此装置的不稳定性和制作工艺的复杂性,我们决定釆用步进电机 来实现此 阀门的开闭。步进电机能够精确地控制阀门的开闭,且运行稳定。、显示部分最初的选用的显示装置为数码管,但是数码管只能显示 0-9 数字和儿个英语字母, 受 数码管显示能力的限制,我们第二次做出来的作品仅能显示喂食时间间隔,而且只能精确 到小时。随着制作经验的积累,我们决定采用LCD显示装置,也就是我们现在作品。LCD能够显 示大量

9、的信息,除了能显示设定的喂食时间间隔,显示距离下一次喂食的时间, 喂食持续 时间外,还能显示声音的关闭以及开机欢迎语。、按键部分第二个作品釆用的是矩阵扫描键盘进行时间的修改,但是矩阵扫描键盘非常占用 单片 机资源,于是在第三次的作品中我们换用了独立键盘。按键的数 U 和功能也是逐渐增加的,最开始仅有一个ADD键,到最后根据需要逐渐加入FUNTION键,DEC键,RESET键 以及电源开关。第节喂食器最终方案工作原理、整个喂食器的电路图(仅供参考,部分有改动)U2厂厂屈亡mmv C2-IIIIK Kv -UiUi氐町=春鬥gU$aoszrg-sLttt4 4且 4 亠1C1II1喂食器的内部实际

10、电路图单片机控制部分AT89S52 单片机用于计时,检测键盘,和控制电机,定时时间及电机工作时间山按 键检 测输入,单片机每 20ms il W 中断一次。当计时时间与设定时间参数一致时,单 片机发出脉 冲信号控制电机正转反转。、按键部分按键为独立按键,接低电平,加入防抖程序,按下时,单片机对应接口被赋成低 电平, 从而修改程序中的定时时间参数。、显示部分釆用 1602 蓝底白字 LCD 显示屏,接单片机 P2 端口的 P20-P27 口。采用 5V 电压供 电,接 有可调变阻器用于调节显示屏字符的对比度。用来显示喂食器的三个时间参数, 设定时间 时,LCD实时显示。、电机部分米用5V四相五线

11、步进电机,电机布进角度度,内置减速装置,减速比1/64,信号线接 电机P10-P13 口,111 ULN2003管进行功率放大,然后驱动步进电机,电机轴的末端有铳 面,喂食器的阀门开关固定在铳面上。电机先正转20度打开阀门,经过提前设定的喂食 持续时间后反转20度关闭阀门。、电源部分釆用USB接口直接进行供电,单片机与步进电机并联在电源上,电源有总开关控制, 并且在电源正负极并联一个LED作为电源指示灯。、主体结构单片机等模块封装在长方形的控制盒中,控制盒正面依次为LCD,按键,电源指示灯, 电源开关。侧面为USB电源接口,电机控制线电源线出口。电机和电机驱动模块封转在喂食漏斗中,喂食漏斗固定

12、在控制盒的背面,控制盒的背 面有挂钩,可以以悬挂的方式固定在鱼缸壁上。第 4 章软件设计第节软件开发工具开发语言:c语言 开发工具:开发工具为Keil uVision4,截图如下:第节调试测验工具用Keil uVision4检查程序运行过程中各个端口的电平情况在调试过程中可以方便 的设 置断点、选用单步运行的方式,同时查看各个10 口的值,这些强大的功能,都 为我们的 软件调试提供了极大的便利。利用51单片机开发板测试各个模块的运行情况,将各个模块调试好以后再组装在一起, 这样能够减少出错,一旦出错,可以方便地找到故障所在地。截图如下:第 5 章结论从一群只会书本知识的懵懂的大学生,到能够做出

13、自己梦想的作品的实践型大学 生, 我们感到很是高兴。从最开始对这些东西的一窍不通,到一点点的自学和苦心收集,我们付出了很多,学到 了很多。我们懂得了如何去寻搜集所需的资料,懂得如何寻找故障,如何排除故障,如何 改进方案,如何实现想法,更是懂得了所学课程的重要性。还记得第一次进中关村电子城的尴尬,还记得第一次模块测试时的纠结,我们坚 持了 下来,并且不断地改进我们得作品。从最开始的一个数码管显示以为时间,到后 来的LCD 显示,从最开始的一个按键,到后来的5个按键,从最开始简单的代码,到后来比较精确 的控制,技术的进步在实际检验中给我们带来自信。我们的自动喂食器还有很大的发展空间,现阶段还有儿个

14、不完美的地方:r在供电电路 的稳定方面,现阶段在喂食时LCD显示会变暗,主要是喂食时电机分的电流太大。2, 喂食阀门处,这种设计有一定的堵塞的概率,受条件的限定,我们暂时没有办法做 出更好的方案。3, 当喂食过程不能按RESET键,或是关闭电源,这样阀门开关的位置就会不对了,还 需要3-4次同样操作来修改过来。以上这些都是我们准备改进的方向,随着我们知识的不断提高,我们准备做出更 加完 美的自动喂食器,去参加挑战杯等科技创新大赛。我们相信:技术进步永无止境!参考文献王幸之钟爱琴王雷王闪编著.AT89系列单片机原理与接口技术M.北京:北京 航空航天 大学出版社,2004: 100-129彭为黃科

15、雷道仲编著单片机典型系统设汁实例精讲M.北京:电子工业出版社,2006:250-273戴佳戴卫恒编著.51单片机C语言应用程序设计实例精讲M.北京:电子工业出 版 社, 2006:248-260陶庆生徐传顺李中良,步进电机驱动电路实现设计及驱动研究A.价值工程,30:47-48郑振杰江衍煩游德智,单片机结合uln2003驱动步进电机A.电机技术, 6:44-46 陈素华 王国志,基于单片机的LCD显示系统的设计与实现A.许昌学院学报,5:75-78致谢:衷心感谢商晓东辅导员在我们的创作过程中给予我们的支持鼓励与帮助! 衷心感谢北京化工大学团委给我们提供了一个良好的创作环境! 郭青老师在单片机方

16、面给我们提供了很多的帮助,在此表达深切感激之情!附录:附录A,程序源代码#include#define uint unsigned int#define uchar unsigned char定义开机显示的欢迎词uchar code tablel=,WELCOMEu;uchar code table2=nMADE BY XINSHI”;uchar code table3=SE 02:00 R 02:00”;uchar code table4=HFEEDTIME 03 WORK11;uchar num;uchar count=0,slnum=0;char miao=0,fen=2;uint fe

17、ed=3;void dianjif);char miaojs=0;char fenjs=O;char miaoss=0;char fenss=2;对步进电机接口的定义sbit D1=P1AO;sbit D2=P1A1;sbit D3=P1A2;sbit D4=P1A3;对 FUNCYION(S1),ADD(S2),减(s3)按键的定义sbit sl=P3A0;sbit s2=P3Al;sbit s3=P3A7;对LCD显示屏控制的端口定义sbit lcdrs=P3A4;sbitrw=P3A5;sbitlcden=P3A6;/*LCD显示部分用至U的延时程序(i)*void delay(uint

18、 n)uint x,y; for(x=n;x0;x-) for(y=110;y0;y-);void/* write_com(uchar com) _lcdrs=O;rw=O;P2=com;delay ;Icde n=l;delay ;Icde n=0;void write_data(uchar date)lcdrs=l; rw=O; P2=date; delay ; Icde n=l; delay ; Icde n=0;审于丁权 1 准备函*void init()Icde n=0;write_com(0x38);/首先选择显示方式write_com(OxOc);/开始先不显示光标 write_

19、co m (0x06); 选择显示新数据时屏幕上的情况write_com(0x01); 数据指针清零,所有显示 清零 write_com(0x80+0xl0);/ 确定首地址for(num=0;num7;num+)待显示数据先存储在缓冲区中write_data(tablel num); delay(20);write_com(0x80+0x50);/确定第一仃的首地址 for(num=0;num14; num+)write_data(table2num); delay(20); , for(num=0;num16;num+) 使整个屏幕左移 write_com(0xl8); delay(370

20、);delay(800);write_com(0x01);数据指针清零,所有显示清零写只未设定时间之前默认数据 delay ;write_com(0x80);/ 确定首地址for( num=0;num16;num+)write_data(table3num); delay(20);write_com(0x80+0x40);/确定第一仃的首地址 for(num=0;num16; num+)write_data(table4 num); delay(20);讣时器初始化TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ETO=1;

21、TRO=1;显示需用的函数void write_sfm(uchar add,uchar date)uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add); write_data(0x30+shi); write_data(0x30+ge); _/*按键function (SI)程序void keyscan()if(sl=O)delay ;if(sl=O)TRO=O; sin um+; while(!sl); if(slnum=l) write_com (0x80+6); write_com(0x0f); if(slnum=2) write

22、_com(0x80+3); if(s In um=3) write_com(0x80+0X40+10); if(slnum=4)slnum=0; write_com(0x0c); TRO=1;if(s2=0)delay ;if(s2=0)TRO=O; while(!s2); if(slnum!=O)if(slnum=l)miao+; miaoss=miao;if(miao=60)miao=0;miaoss=miao;fen ss=fe n; write_sfm(6,miao); write_sfm(14,miaoss);write_sfm(22je nss); write_com (0x80+

23、6) ;/用于恢复地址 讦(sin um=2)fen+;if(fen=60)fen=O;fen ss=fe n; miaoss=miao;write_sfm(3,fe n); write_sfm(ll/fe nss); write_sfm(14,miaoss); write_com(0x80+3); 讦(sin um=3)feed+;讦(feed=6)feed=O; write_com(0x80+0x40+10); write_data(0x30+feed);write_com(0x80+0x40+10);elsedianji();TRO=1;床扌安 DEC (s3)不呈 J 予* if(s3

24、=0)delay ;if(s3=0)TRO=O; while(!s3);讦(slnum=l)miao=-l)miao-; miaoss=miao;miao=59;miaoss=miao; fen ss=fe n; write_sfm(6,miao); write_sfm(14,miaoss);write_sfm(ll/fe nss);write_com (0x80+6);/ 用于恢复地址 if(slnum=2) fen-;讦(fen=-l)fen二二 59;fen ss=fe n; miaoss=miao; write_sfm(3,fe n); write_sfm(ll,fe nss);wri

25、te_sfm(14,miaoss)write_com(0x80+3); sin um=3)feed-;讦(feed=-l)feed=5;write_com(0x80+0x40+10); write_data(0x30+feed);write_com(0x80+0x40+10); TRO=1;11时中 析子* 不呈丿 芋除* *void timerO() interrupt 1 THO 二(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=20)count=0; miaojs+; miaoss-; if(miaoss=-l) miao

26、ss=59; fenss-; write_sfm(ll,fe nss); write_sfm(14,miaoss); if(miaojs=60) miaojs=0; fen js+; if (fenjs=60) fenjs=O;/ 4()c*)()K4c4c*)4c4(4c4c) c4c) c) c)tcHc) cHc4(电权(匸彳乍时丿予延( i /void delay2(uint q)uint x,y; for(x=0;x0;y); /末扌承穴穴末床床床床床床床床电床审沐审沐审*电Hl 彳乍时可延时八丿了 * void delay3(uint tt) uint x,y; for(x=0;x

27、tt;x+) for(y=30000;y0;y-)电杠j2ff*八E/y* * voiddianjif)uint xl,x2;D1=O;D2=0;D3=0;D4=0;for(xl=0;xl=56;xl+ )Dl=l;D2=0;D3=0;D4=0; delay2(24);D1=O;D2=l;D3=0;D4=0; delay2(24);D1=O;D2=0;D3=l;D4=0; delay2(24);D1=O;D2=0;D3=0;D4=l; delay2(24);delay3(feed);for(x2=0;x2=56;x2+) D1=O;D2=0;D3=0;D4=l; delay2(24);D1=O

28、;D2=0;D3=l;D4=0; delay2(24);D1=O;D2=l;D3=0;D4=0; delay2(24);Dl=l;D2=0;D3=0;D4=0;delay2(24);DI 0D2 ;D3 0D40;void main()Dl=0;D2=0;D3=0;D4=0; delay2(600);init();while(l)keysca n();讦 (fen ss=O&miaoss=0)ETO=O;TRO=O;EA=O;D1=O;D2=O;D3=0;D4=0;dianji();D1=O;D2=O;D3=O;D4=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256; fen js=O; miaojs=0;fen ss=fe n;miaoss=miao;ETO=1;TRO=1;EA=1;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!