自動喂食器一等獎_第1頁
自動喂食器一等獎_第2頁
自動喂食器一等獎_第3頁
自動喂食器一等獎_第4頁
自動喂食器一等獎_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、北京化工大學 第六屆“萌芽杯”技術(shù)報告學院名稱:信息科學與技術(shù)學院 作品類別: B類作品名稱:自動喂食器隊伍名稱:Dream Factory指導教師:商曉東 隊長:熊善海參賽隊員:李金海蒙寧佳 蔡玉斌馬程川 2011年 5 月 20 日摘要喂食器總共包括五個鍵,F(xiàn)UNCTION鍵,ADD鍵(即時喂食鍵),DEC鍵,RESET鍵,ON/OFF鍵。AT89S52單片機用于計時,檢測鍵盤,和控制電機,定時時間及電機工作時間由按鍵檢測輸入,單片機每20ms計時中斷一次。當計時時間與設(shè)定時間參數(shù)一致時,單片機發(fā)出脈沖信號控制電機正轉(zhuǎn)反轉(zhuǎn)。單片機等模塊封裝在長方形的控制盒中,控制盒正面依次為LCD,按鍵,

2、電源指示燈,電源開關(guān)。 側(cè)面為USB電源接口,電機控制線電源線出口。電機和電機驅(qū)動模塊封轉(zhuǎn)在喂食漏斗中,喂食漏斗固定在控制盒的背面,控制盒的背面有掛鉤,可以以懸掛的方式固定在魚缸壁上。設(shè)計出這樣一款自動喂食器能夠方便人們的生活,這是我們的動機。我們的作品完全自主研發(fā),運行穩(wěn)定,操作方便,成本低廉,具有很大的潛在商業(yè)價值,而且有很大的拓展空間。關(guān)鍵詞:單片機,步進電機,LCD顯示器目錄摘要2目錄3第1章 引言4第2章 喂食器的功能及操作說4第2.1節(jié) 喂食器的外觀圖4第2.2節(jié) 喂食器功能的詳細說明5第2.3節(jié) 喂食器的操作說明5第3章 喂食器的理論設(shè)計過程5第3.1節(jié)喂食器的設(shè)計始末6第3.2

3、節(jié) 喂食器的設(shè)計思路6第3.3節(jié)喂食器最終方案工作原理7第4章 軟件設(shè)計9第4.1節(jié) 軟件開發(fā)工具9第5章 結(jié)論10附錄.11第1章 引言為響應學校關(guān)于加強大學生的創(chuàng)新意識、合作精神和創(chuàng)新能力的培養(yǎng)的號召,我們組積極參加了學校舉辦的“萌芽杯”科技創(chuàng)新大賽。圍繞生活中出現(xiàn)的喂養(yǎng)的魚類喂食麻煩的問題,我們組進行了魚缸自動喂食器的研究,以務(wù)實為基礎(chǔ),現(xiàn)已取得一些成果。我們自學了單片機及其外設(shè)的一些知識,充分利用了網(wǎng)絡(luò)和圖書館的一些資源,最終確定了自動喂食器的控制方案,并且以實物實現(xiàn)。我們的作品完全自主研發(fā),運行穩(wěn)定,操作方便,成本低廉,具有很大的潛在商業(yè)價值,而且有很大的拓展空間。第2章 喂食器的功

4、能及操作說第2.1節(jié) 喂食器的外觀圖圖1第2.2節(jié) 喂食器功能的詳細說明(1) 能夠?qū)崿F(xiàn)家庭大中小型魚缸的自動喂食,為工作學習繁忙或是出差的人群提供方便。(2)能夠在0時0分到59時59分范圍內(nèi)任意設(shè)定喂食時間間隔,比如設(shè)定8時8分,則能夠每隔8小時8分對魚進行一次喂食。(說明:作出的喂食器模型為了測試的方便我們的程序中用分代表小時,用秒代表分鐘,但在該技術(shù)中仍以小時和分說明問題。)(3)喂食器的喂食持續(xù)時間分為五檔,這關(guān)系到每次喂食量的多少,可依據(jù)需要人為設(shè)定。(4)能夠?qū)崟r顯示已設(shè)定的喂食時間間隔,距離下一次喂食的時間,還有設(shè)定的喂食持續(xù)時間為第幾檔,每次修改時間時能夠立即刷新并顯示時間。

5、(5)即時喂食,按下即時喂食鍵,喂食器能夠停下計時立即開始喂食,喂食結(jié)束后喂食器繼續(xù)計時。第2.3節(jié) 喂食器的操作說明(1)該喂食器總共包括五個鍵,F(xiàn)UNCTION鍵,ADD鍵(即時喂食鍵),DEC鍵,RESET鍵,ON/OFF鍵。(2)按下ON/OFF鍵,自動喂食器電源打開,指示燈亮,LCD顯示開機歡迎詞。(3)沒有按FUNCTION鍵時,按下ADD鍵,實現(xiàn)即時喂食功能。(4)按下FUNCTIUON鍵一下,光標在設(shè)置時間位置的分的十位處閃爍兩下,說明可以進行的分的調(diào)節(jié),每按一次ADD鍵,分加1,每按一下DEC鍵,分減1。(5)FUNCTION鍵按兩次,光標在設(shè)置時間位置的時的位置閃爍兩次,說

6、明可以進行時的調(diào)節(jié),同理用ADD鍵和DEC鍵進行時間的調(diào)節(jié)操作。(6)FUNCTION鍵按三次,喂食持續(xù)時間位閃爍兩次,說明投食時間可以修改,同樣用ADD鍵和DEC鍵進行加減修改。(7)第四次按下FUNCTION鍵,光標不再閃爍,調(diào)時過程結(jié)束。(8)按RESET鍵時,喂食器重新啟動,喂食時間恢復默認,如有需要可以重新設(shè)定,RESET鍵用于防止系統(tǒng)出錯時,恢復系統(tǒng)。第3章 喂食器的理論設(shè)計過程第3.1節(jié)喂食器的設(shè)計始末我們宿舍曾經(jīng)喂養(yǎng)了一缸金魚,寒假時出現(xiàn)了無人照看金魚的情況,直接導致了金魚的死亡??紤]到現(xiàn)實生活中的寵物愛好者也會遇見這種情況,所以我們感覺到設(shè)計出這樣一款自動喂食器能夠方便人們的

7、生活,這是我們設(shè)計的動機。第3.2節(jié) 喂食器的設(shè)計思路3.2.1、控制部分 我們最開始的方案是用555定時器作為定時芯片,。但是在隨后的理論分析過程中,我們認為555定時器不能滿足正常的定時需要,我們的喂食器必須是一款實用的,經(jīng)得起生活檢驗的定時器,所以必須在定時上能夠針對不同的喂食環(huán)境設(shè)置不同的喂食時間間隔和喂食持續(xù)時間。而且這些控制必須要能夠用顯示裝置顯示出來。這樣我們就否定了功能單一的555定時器的方案。我們得知用單片機能夠進行高級的編程控制,于是我們便自學了單片機,并且最終討論決定使用Atmel公司的AT89S52單片機作為控制芯片。使用單片機的好處是能夠精確計時,能夠通過編程更簡單地

8、更方便地驅(qū)動各個部件,這是模擬電路所不能達到的效果。3.2.2、喂食部分最初的喂食模塊我們是計劃用類似于電磁繼電器開關(guān)的裝置來控制喂食閥門的開閉,但是最后考慮到此裝置的不穩(wěn)定性和制作工藝的復雜性,我們決定采用步進電機來實現(xiàn)此閥門的開閉。步進電機能夠精確地控制閥門的開閉,且運行穩(wěn)定。3.2.3、顯示部分最初的選用的顯示裝置為數(shù)碼管,但是數(shù)碼管只能顯示0-9數(shù)字和幾個英語字母,受數(shù)碼管顯示能力的限制,我們第二次做出來的作品僅能顯示喂食時間間隔,而且只能精確到小時。隨著制作經(jīng)驗的積累,我們決定采用LCD顯示裝置,也就是我們現(xiàn)在作品。LCD能夠顯示大量的信息,除了能顯示設(shè)定的喂食時間間隔,顯示距離下一

9、次喂食的時間,喂食持續(xù)時間外,還能顯示聲音的關(guān)閉以及開機歡迎語。3.2.4、按鍵部分第二個作品采用的是矩陣掃描鍵盤進行時間的修改,但是矩陣掃描鍵盤非常占用單片機資源,于是在第三次的作品中我們換用了獨立鍵盤。按鍵的數(shù)目和功能也是逐漸增加的,最開始僅有一個ADD鍵,到最后根據(jù)需要逐漸加入FUNTION鍵,DEC鍵,RESET鍵,以及電源開關(guān)。第3.3節(jié)喂食器最終方案工作原理、整個喂食器的電路圖(僅供參考,部分有改動)圖3.1喂食器的內(nèi)部實際電路圖圖3.2、單片機控制部分AT89S52單片機用于計時,檢測鍵盤,和控制電機,定時時間及電機工作時間由按鍵檢測輸入,單片機每20ms計時中斷一次。當計時時間

10、與設(shè)定時間參數(shù)一致時,單片機發(fā)出脈沖信號控制電機正轉(zhuǎn)反轉(zhuǎn)。、按鍵部分按鍵為獨立按鍵,接低電平,加入防抖程序,按下時,單片機對應接口被賦成低電平,從而修改程序中的定時時間參數(shù)。、顯示部分采用1602藍底白字LCD顯示屏,接單片機P2端口的P20-P27口。采用5V電壓供電,接有可調(diào)變阻器用于調(diào)節(jié)顯示屏字符的對比度。用來顯示喂食器的三個時間參數(shù),設(shè)定時間時,LCD實時顯示。、電機部分采用5V四相五線步進電機,電機布進角度5.625度,內(nèi)置減速裝置,減速比1/64,信號線接電機P10-P13口,由ULN2003管進行功率放大,然后驅(qū)動步進電機,電機軸的末端有銑面,喂食器的閥門開關(guān)固定在銑面上。電機先

11、正轉(zhuǎn)20度打開閥門,經(jīng)過提前設(shè)定的喂食持續(xù)時間后反轉(zhuǎn)20度關(guān)閉閥門。、電源部分采用USB接口直接進行供電,單片機與步進電機并聯(lián)在電源上,電源有總開關(guān)控制,并且在電源正負極并聯(lián)一個LED作為電源指示燈。、主體結(jié)構(gòu)單片機等模塊封裝在長方形的控制盒中,控制盒正面依次為LCD,按鍵,電源指示燈,電源開關(guān)。 側(cè)面為USB電源接口,電機控制線電源線出口。電機和電機驅(qū)動模塊封轉(zhuǎn)在喂食漏斗中,喂食漏斗固定在控制盒的背面,控制盒的背面有掛鉤,可以以懸掛的方式固定在魚缸壁上。第4章 軟件設(shè)計第4.1節(jié) 軟件開發(fā)工具開發(fā)語言:C語言開發(fā)工具:開發(fā)工具為Keil uVision4,截圖如下:圖4第4.2節(jié) 調(diào)試測驗工

12、具用Keil uVision4檢查程序運行過程中各個端口的電平情況在調(diào)試過程中可以方便的設(shè)置斷點、選用單步運行的方式,同時查看各個IO口的值,這些強大的功能,都為我們的軟件調(diào)試提供了極大的便利。利用51單片機開發(fā)板測試各個模塊的運行情況,將各個模塊調(diào)試好以后再組裝在一起,這樣能夠減少出錯,一旦出錯,可以方便地找到故障所在地。截圖如下:第5章 結(jié)論從一群只會書本知識的懵懂的大學生,到能夠做出自己夢想的作品的實踐型大學生,我們感到很是高興。從最開始對這些東西的一竅不通,到一點點的自學和苦心收集,我們付出了很多,學到了很多。我們懂得了如何去尋搜集所需的資料,懂得如何尋找故障,如何排除故障,如何改進方

13、案,如何實現(xiàn)想法,更是懂得了所學課程的重要性。還記得第一次進中關(guān)村電子城的尷尬,還記得第一次模塊測試時的糾結(jié),我們堅持了下來,并且不斷地改進我們得作品。從最開始的一個數(shù)碼管顯示以為時間,到后來的LCD顯示,從最開始的一個按鍵,到后來的5個按鍵,從最開始簡單的代碼,到后來比較精確的控制,技術(shù)的進步在實際檢驗中給我們帶來自信。我們的自動喂食器還有很大的發(fā)展空間,現(xiàn)階段還有幾個不完美的地方:1,在供電電路的穩(wěn)定方面,現(xiàn)階段在喂食時LCD顯示會變暗,主要是喂食時電機分的電流太大。2,喂食閥門處,這種設(shè)計有一定的堵塞的概率,受條件的限定,我們暫時沒有辦法做出更好的方案。3,當喂食過程不能按RESET鍵,

14、或是關(guān)閉電源,這樣閥門開關(guān)的位置就會不對了,還需要3-4次同樣操作來修改過來。以上這些都是我們準備改進的方向,隨著我們知識的不斷提高,我們準備做出更加完美的自動喂食器,去參加挑戰(zhàn)杯等科技創(chuàng)新大賽。我們相信:技術(shù)進步永無止境!參考文獻王幸之 鐘愛琴 王雷 王閃編著.AT89系列單片機原理與接口技術(shù)M.北京:北京航空航天大學出版社,2004:100-129彭為 黃科 雷道仲編著.單片機典型系統(tǒng)設(shè)計實例精講M.北京:電子工業(yè)出版社,2006:250-273戴佳 戴衛(wèi)恒編著.51單片機C語言應用程序設(shè)計實例精講M.北京:電子工業(yè)出版社,2006:248-260陶慶生 徐傳順 李中良,步進電機驅(qū)動電路實

15、現(xiàn)設(shè)計及驅(qū)動研究A.價值工程,30(4):47-48鄭振杰 江衍煊 游德智,單片機結(jié)合uln2003驅(qū)動步進電機A.電機技術(shù),6:44-46陳素華 王國志,基于單片機的LCD顯示系統(tǒng)的設(shè)計與實現(xiàn)A.許昌學院學報,5:75-78致謝:衷心感謝商曉東輔導員在我們的創(chuàng)作過程中給予我們的支持鼓勵與幫助!衷心感謝北京化工大學團委給我們提供了一個良好的創(chuàng)作環(huán)境!郭青老師在單片機方面給我們提供了很多的幫助,在此表達深切感激之情!附錄:附錄A,程序源代碼#include<reg52.h>#define uint unsigned int#define uchar unsigned char/定義開

16、機顯示的歡迎詞uchar code table1="WELCOME"uchar code table2="MADE BY XINSHI"uchar code table3="SE 02:00 R 02:00"uchar code table4="FEEDTIME 03 WORK" ;uchar num;uchar count=0,s1num=0;char miao=0,fen=2;uint feed=3;void dianji();char miaojs=0;char fenjs=0;char miaoss=0;c

17、har fenss=2;/對步進電機接口的定義sbit D1=P10;sbit D2=P11;sbit D3=P12;sbit D4=P13;/對FUNCYION(S1),ADD(S2),減(s3)按鍵的定義sbit s1=P30;sbit s2=P31;sbit s3=P37;/對LCD顯示屏控制的端口定義 sbit lcdrs=P34;sbit rw=P35;sbit lcden=P36;/*LCD顯示部分用到的延時程序(1)*void delay(uint n)uint x,y;for(x=n;x>0;x-)for(y=110;y>0;y-);/*LCD寫命令程序*void

18、write_com(uchar com)lcdrs=0;rw=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;/*LCD寫數(shù)據(jù)程序*void write_data(uchar date)lcdrs=1;rw=0;P2=date;delay(5);lcden=1;delay(5);lcden=0;/*開機準備函*void init()/*LCD顯示開機歡迎*lcden=0;write_com(0x38);/首先選擇顯示方式write_com(0x0c);/開始先不顯示光標write_com(0x06);/選擇顯示新數(shù)據(jù)時屏幕上的情況write_com(0x0

19、1);/數(shù)據(jù)指針清零,所有顯示清零write_com(0x80+0x10);/確定首地址for(num=0;num<7;num+) /待顯示數(shù)據(jù)先存儲在緩沖區(qū)中write_data(table1num);delay(20);write_com(0x80+0x50);/確定第二行的首地址for(num=0;num<14;num+)write_data(table2num);delay(20);for(num=0;num<16;num+) /使整個屏幕左移write_com(0x18);delay(370);delay(800);write_com(0x01);/數(shù)據(jù)指針清零,所

20、有顯示清零/寫入未設(shè)定時間之前默認數(shù)據(jù)delay(5);write_com(0x80);/確定首地址for(num=0;num<16;num+) write_data(table3num);delay(20);write_com(0x80+0x40);/確定第二行的首地址for(num=0;num<16;num+)write_data(table4num);delay(20);/計時器初始化TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;/顯示需用的函數(shù)void write_sfm(uch

21、ar 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(S1)程序*void keyscan()if(s1=0)delay(5);if(s1=0)TR0=0;s1num+;while(!s1);if(s1num=1)write_com(0x80+6);write_com(0x0f);if(s1num=2)write_com(0x80+3);if(s1num=3)write_com(0x80+0X4

22、0+10);if(s1num=4)s1num=0;write_com(0x0c);TR0=1;/*按鍵ADD(s2)鍵的子程序*if(s2=0)delay(5);if(s2=0)TR0=0;while(!s2);if(s1num!=0)if(s1num=1)miao+;miaoss=miao;if(miao=60)miao=0;miaoss=miao;fenss=fen;write_sfm(6,miao);write_sfm(14,miaoss);write_sfm(11,fenss);write_com(0x80+6);/用于恢復地址if(s1num=2)fen+;if(fen=60)fen

23、=0;fenss=fen;miaoss=miao;write_sfm(3,fen);write_sfm(11,fenss);write_sfm(14,miaoss);write_com(0x80+3);if(s1num=3)feed+;if(feed=6)feed=0;write_com(0x80+0x40+10);write_data(0x30+feed);write_com(0x80+0x40+10);elsedianji();TR0=1;/*按鍵DEC(s3)程序*if(s3=0)delay(5);if(s3=0)TR0=0;while(!s3);if(s1num=1)miao-;mia

24、oss=miao;if(miao=-1)miao=59;miaoss=miao;fenss=fen;write_sfm(6,miao);write_sfm(14,miaoss);write_sfm(11,fenss);write_com(0x80+6);/用于恢復地址if(s1num=2)fen-;if(fen=-1)fen=59;fenss=fen;miaoss=miao;write_sfm(3,fen);write_sfm(11,fenss);write_sfm(14,miaoss);write_com(0x80+3);if(s1num=3)feed-;if(feed=-1)feed=5;

25、write_com(0x80+0x40+10);write_data(0x30+feed);write_com(0x80+0x40+10); TR0=1;/*計時中斷子程序*void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=20)count=0;miaojs+;miaoss-;if(miaoss=-1)miaoss=59;fenss-; write_sfm(11,fenss);write_sfm(14,miaoss);if(miaojs=60)miaojs=0;fenjs+;if(fe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論