




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
--PAGEI-目錄-PAGEII-基于STC89C52單片機的寵物喂食設計實現本文詳細介紹了一款基于STC89C52單片機的寵物喂食設計,通過壓力傳感器測得每次投放的食物重量,溫濕度傳感器測得環(huán)境內的溫濕度。按鍵設置早中晚三個時間段進行投食和每次投放食物的重量。步進電機正轉模擬投放食物,如果測得的食物重量大于設置的值,單片機控制步進電機反轉,表示此時投食結束。當前的食物重量,時間和溫濕度信息LCD1602液晶屏顯示,同時可以手動打開電機,進行食物的投放。關鍵詞:STC89C52單片機;寵物喂食;壓力傳感器;步進電機目錄TOC\o"1-4"\h\u20768第一章引言 128603第二章設計方案 276672.1設計思路 2168022.2系統(tǒng)構成 29792第三章硬件電路設計 4146773.1系統(tǒng)硬件原理圖 4280283.2STC89C52概述 10144063.3按鍵控制電路 12214633.4電源電路 15144113.5溫濕度傳感器模塊電路 1593883.6壓力傳感器模塊電路 1753113.7電機控制電路 1923955第四章軟件系統(tǒng)設計 24199374.1軟件主程序架構 2468564.2LCD1602顯示流程圖 2582054.3溫濕度檢測流程圖 25153654.4按鍵子程序 2621941第五章系統(tǒng)調試 28115295.1焊接調試 28128825.2功能調試 2922358第六章結論 301440參考文獻 31第一章引言在日常生活中,越來越多的寵物出現在家庭中,給人們帶來歡樂的同時,也促進了寵物用品行業(yè)經濟的發(fā)展。當人們外出時,寵物由于不方便攜帶的原因,只能放在家中或托人寄養(yǎng),一旦家里沒人照顧時,寵物的飲食得不到保障,時間久了則會引發(fā)疾病甚至死亡,所以寵物的喂食是一項非常重要的事情。那么怎么才能保證沒人照顧時寵物的飲食呢,為了解決這一問題,市面上出現了一系列智能寵物喂食設備,這些智能寵物喂食裝置都是基于單片機設計的,利用按鍵設置每次投食的時間和投食的重量,利用壓力傳感器測得每次投食的重量,并進行喂食。為了更好地了解智能寵物喂食的原理,深入的分析其實現方法,本次實驗設計了一款基于STC89C52單片機的智能寵物喂食系統(tǒng)。本次設計的主要內容是展示基于STC89C52單片機的寵物喂食系統(tǒng),通過HX711壓力傳感器檢測當前食物重量,DHT11溫濕度模塊用于溫濕度檢測,通過AD數模轉換模塊,將數據發(fā)送給單片機,LCD1602液晶顯示屏顯示當前檢測到的溫度值、濕度值、食物重量和時間,按鍵用于設置早中晚三個時間段進行寵物喂食,還可設置每次投食的食物重量。當時間來到投食點時,單片機驅動步進電機正轉模擬投食,如果食物重量大于設置值,反轉電機表示投食結束。還可以直接打開電機,進行投放食物。第二章設計方案第二章設計方案2.1設計思路設備硬件設計思路:確定該系統(tǒng)所要完成的主要功能、思考要實現這些功能需要哪些更好更實用的硬件設備??紤]并確定電路回路理想的設計思路,通過使用繪圖軟將其畫成完整的電路圖。根據電路圖購買可以實現相關功能的電子器件,利用電烙鐵焊接整個硬件設備。軟件總體設計思路:根據電路圖把所需要實現的功能模塊化,電路圖的每一個部分都可以看作是一個子程序,通過主函數來控制子程序之間的配合,每寫完一個部分的目標函數就可以進行測試和修改,直到獲得想要的效果。最后把所有的子程序合并再進行測試和修改,直到實現本次系統(tǒng)設計的全部目的。設備的調試:系統(tǒng)的測試可分為硬件設備調試和程序功能調試。硬件設備調試主要檢驗電路的電壓、端口等與相關理論符合程度,確認電路回路中的驅動電壓和工作狀態(tài)是否良好。通過程序軟件來控制硬件電路進而來測試該系統(tǒng)所執(zhí)行的功能是否達到要求。設備的測試是一個復雜的過程,需要反復多方位的進行測試才可以將設備的缺陷找到,并且加以修改,最后完成整個成型的設備。2.2系統(tǒng)構成本次系統(tǒng)構成分為硬件系統(tǒng)和軟件系統(tǒng)。硬件系統(tǒng)就是單片機的選型,傳感器的選型,電子元器件的選擇。當所有材料選型完成后,進行電子電路設計,確保每個電路的正確和暢通。之后按照設計好的電路圖,將所有材料焊接起來,組成一個單片機系統(tǒng)。當硬件部分完成后,進行軟件設計,用來控制整個單片機,這里采用KEIL軟件進行軟件的編程。具體到各個模塊就是檢測、控制和顯示三個部分。圖2.1是整體系統(tǒng)原理圖:圖2.1系統(tǒng)原理圖第三章硬件電路設計第三章硬件電路設計3.1系統(tǒng)硬件原理圖本次設計的單片機型號為STC89C52,壓力傳感器檢測當前投放食物重量,溫濕度傳感器檢測當前環(huán)境溫濕度。LCD1602液晶屏用于顯示,按鍵用來設定早中晚三個時間段投食,并設置投放重量,圖中單片機驅動ULN2003芯片控制電機的正轉和反轉。承接第二部分系統(tǒng)原理框圖,其硬件電路原理圖如圖3.1所示:圖3.1系統(tǒng)硬件原理圖首先51單片機對數據進行處理,處理完成后通過液晶來顯示當前的信息,如圖3.2、3.3所示:圖3.2單片機圖3.3顯示器信息的采集通過DHT11和HX711來完成,主要是對溫濕度和食物重量進行數據采集,如圖3.4、3.5所示:圖3.4DHT11圖3.5HX711電源按鍵用來進行設置和控制,第一按鍵為設置鍵,第二、三按鍵為增減鍵,第四按鍵為當前喂食的時間。當按鍵按下時,輸出低電平;當按鍵松開時,輸出高電平,如圖3.6所示:圖3.6按鍵設置單片機的最小系統(tǒng)由單片機、振蕩電路、復位電路以及系統(tǒng)供電電源組成,如圖3.7、3.8、3.9所示:圖3.7振蕩電路圖3.8復位電路圖3.9電源這個組件是晶振,給單片機提供特殊的晶振頻率,然后通過電容進行濾波,如圖3.10所示:圖3.10晶振電路復位電路接入10μF的電解電容于RST復位引腳,復位一般分為上電復位和按鍵復位。在這次設計中,我們使用的是上電復位,只要我們重啟一下電源開關,單片機就會自動重啟,如圖3.11所示:圖3.11復位電路電容單片機在使用時P0口必須要接上拉電阻,上拉電阻的范圍在4.7k到10k即可,無特殊要求,如圖3.12所示:圖3.12上拉電阻連接顯示模塊采用的是LCD1602,其中LCD表示的是液晶,16表示的是每行顯示十六個字符,02表示的是由兩行來進行顯示,如圖3.13所示:圖3.13顯示器電位器用來進行調節(jié)當前液晶的背光亮度。因為我們在供電上有時會使用1.5v和2v電源,有時會直接接入筆記本電腦進行供電,所以會造成液晶背光強度的不一致,通過旋轉電位器使其進行滑動變阻,這樣就可以改變當前的液晶背光亮度。其有三個引腳,但我們只需要用其中兩個引腳,如圖3.14所示:圖3.14電位器控制部分ULN2003相當于驅動步進電機,為四相八拍,可以用來控制電機的正轉和反轉,如圖3.15所示:圖3.15步進電機溫濕度傳感器通過單總線來進行數據通信,上面接入了10k的上拉電阻以保證電路的正常進行,如圖3.16所示:圖3.16DHT11電路連接壓力傳感器通過內部AD把當前電流信號進行放大,根據電流的大小,來判斷出當前的重量,如圖3.17所示:圖3.17壓力傳感器電路連接單片機程序的下載口,支持串行下載,通過串口線連接到P3.0、P3.1,可以進行程序的收錄,如圖3.18所示:圖3.18程序下載口供電電源,當按下開關時,1、3就導通了,當USB接入時,就有3輸出vcc,如圖3.19所示:圖3.19供電電源連接3.2STC89C52概述STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期鐘/機器周期可以任意選擇。主要特性如下:增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.工作電壓:5.5V~3.3V(5V單片機)/3.8V~2.0V(3V單片機)工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作頻率可達48MHz用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O口(32個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成一片共3個16位定時器/計數器。即定時器T0、T1、T2通用異步串行口(UART),還可用定時器軟件實現多個UART工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)STC89C52RC單片機的工作模式空閑模式:典型功耗2mA正常工作模式:典型功耗4Ma~7mA圖3.20STC89C52RC引腳圖3.3按鍵控制電路單片機的按鍵控制電路是由4個微動開關并聯組成的電路按鍵開關的檢測其原理就是高低電平的檢測。圖3.21為按鍵控制電路原理圖:圖3.21按鍵控制電路當仿真開始時,顯示模塊時間正常計時到2秒,如圖3.22所示:圖3.22顯示仿真圖當按下第一個設置鍵位時,此時會出現設置界面,以黑塊閃爍表示,如圖3.23、圖3.24所示:圖3.23按鍵仿真圖圖3.24按鍵后顯示圖再次按下設置鍵就會進行時間位數的切換,如圖3.25所示:圖3.25再按鍵顯示圖這個時候再按下加減按鈕就可以進行手動設置時間,結果如圖3.26所示:圖3.26設置后顯示圖同樣的,按下查看喂食時間按鈕,顯示模塊就會切換到查看界面,如圖3.27、3.28、3.29所示:圖3.27第一時間點圖3.28第二時間點圖3.29第三時間點以上顯示的是三個時間段的投食時間,同理,按下加減鍵可以自行設置時間段,食物的初始重量限制設置也可以在此界面進行,我們的初始設定是0.5kg。如圖3.30所示:圖3.30初始重量3.4電源電路單片機的電源采用直流5V供電,電源模塊包括一個3腳的電源座子和6腳的電源開關。電源座子用于連接外部的電源插頭,1口引腳連接到電源開關的3口引腳,電源開關的1、3口引腳和4、6口引腳的作用相同,用于電源的正極輸出。電源開關的2、5口引腳作為單片機的接地引腳,在使用時采取相對的選擇,即選擇1、3口引腳作為輸出,那么就要選擇5口引腳作為接地引腳,選擇4、6引腳作為輸出端口,2口引腳則作為接地引腳。本次單片機的傳感器和無線傳輸芯片的電壓都在5V內,所以5V的電壓電源足夠滿足。本次設計的電源電路如圖3.31所示:圖3.31電源電路3.5溫濕度傳感器模塊電路本設計采用的是DHT11數字溫濕度傳感器,它是一款含有已校準數字信號輸出的溫度和濕度的復合傳感器。DHT11溫濕度傳感器包括一個電阻式感濕元件和一個NTC測溫元件,能分別檢測濕度數據和溫度數據。它的工作電壓范圍3.5~5.5V,能輸出單總線數字信號,由于輸出的是數字信號,就不需要進行模數轉換,這大大簡化了硬件設計。DHT11是通過內部的感濕元件和測溫元件來采集溫濕度數據的。DHT11的內部自帶有處理器和存儲器,用于處理溫濕度數據和存儲溫濕度數據。它有4個外部引腳,其引腳功能介紹如下(如表3-1所示):表3-1DHT11引腳介紹引腳號引腳名稱引腳功能1VCC供電電源正極2DATA單總線串型數據線3NC懸空腳4GND接地腳1號引腳和4號引腳用來給溫濕度傳感器供電,2號引腳是信號引腳,3號引腳懸空,不用接入電路。DHT11溫濕度傳感器主要應用與汽車數據記錄器、暖通空調測試及檢測設備、消費品自動控制、氣象站、家電、濕度調節(jié)器、醫(yī)療設備等領域。然而DHT11也有它的缺點,就是它的測量范圍不夠大和測量精度不夠高,它的測量范圍為:濕度范圍20~90%RH,溫度范圍0~50℃,測量精度為:濕度±5%RH,溫度±2℃。溫濕度傳感器模塊電路圖如圖3.32所示:圖3.32溫濕度傳感器模塊電路圖在初始仿真時,顯示重量為81克,溫度為27度,因為是軟件仿真,我們用手動調節(jié)來模擬傳感器獲得外部環(huán)境溫濕度數據的過程,結果如圖3.33所示:圖3.33溫濕度傳感器初始值此時可以看到溫度上升了2度,食物重量上漲了3克,如圖3.34所示:圖3.34溫濕度傳感器設置值3.6壓力傳感器模塊電路本次設計在重量檢測方面采用HX711壓力傳感器,其工作原理是通過檢測物體與傳感器接觸面的壓力值,然后按照線型比例,將壓力值轉換成重量值,然后發(fā)送給單片機,最后顯示在液晶屏上。我們采用型號為CZL-A、量程大小為10kg的電阻應變式重量傳感器進行重量檢測,一旦測量到被測物體的重量,重量傳感器就會將采集到的信號轉換成為電壓信號,并輸出電壓信號。設計系統(tǒng)采用的是HX711轉換模塊進行數據采集和編程,此模塊檢測到模擬電壓通過24位A/D轉換芯片把模擬量轉換成為數字量,然后通過串行方式來和單片機進行通信,這樣就完成數據的采集功能。HX711內部構造如圖3.35所示。圖3.35HX711內部構造圖3.36HX711電路圖其仿真情況如圖3.37所示:圖3.37HX711仿真圖因為是軟件仿真的緣故,所以我們通過手動的按鍵來模擬壓力傳感器增重和減重的過程。初始時,加減鍵都沒有按下,傳感器重量顯示為0kg,如圖3.38所示:圖3.38壓力傳感器初始值當按下增重按鈕時,表示有0.603kg的食物被投放,如圖3.39所示:圖3.39壓力傳感器投放值當按下減重按鈕時,表示食物減少到了0.17kg。如圖3.40所示:圖3.40壓力傳感器減重值3.7電機控制電路寵物喂食的過程我們通過4相8拍的步進電機進行模擬控制,當喂食時間到后電機正轉表示打開喂食艙門,然后停止等到hx711檢測到當前的食物重量大于我們設置的值,電機反轉表示關閉喂食,步進電機正反轉我們主要是通ULN2003來進行驅動。圖3.41電機控制電路步進電機的相關特性:步進電機的步進值,不會因為電壓的大小、電流的數值、溫度變化、波形變化等限制。步進電機驅動電路ULN2003:步進電動機在工作時需要驅動,因為第一電路中的電流相對較小,并且步進電動機必須在第二單片機發(fā)出的指令側具有控制單元。因此,我們需要使用驅動器芯片進行控制和處理。ULN2003是具有高耐壓和高電流的復合晶體管,在5V工作電壓條件下可以和CMOS或者是TTL電平特性相兼容,它可以用來直接處理這些邏輯電平信號。我們通過單片機來處理標準邏輯緩沖器來處理數據,通過脈沖的控制可以調整電機的轉速和方向。單片機與ULN2003的接口是IN1、IN2、IN3、IN4單片機用來輸出電流,然后由OUT1、OUT2、OUT3、OUT4輸出到電機的四相,也就是ABCD。驅動器為5V,耐壓為50V。圖3.42ULN2003管腳連接圖ULN2003的主要特性如表3-2所示:溫度范圍極限值(若無其他規(guī)定,Tamb=25℃)表3-2ULN2003主要特征參數名稱符號數值單位輸入電壓VIN30V輸入電流IIN25mA功耗PD1W工作環(huán)境溫度Topr-20to+85℃貯存溫度Tstg-55to+150℃其仿真情況如下:當顯示模塊的示數為0kg時,電機也處于初始位置,如圖3.43、3.44所示:圖3.43重量初始示數圖3.44電機初始角度我們手動調節(jié)時間為8點過后,此時判斷食物重量為0.009kg小于0.5kg,電機正轉模擬投食,如圖3.45、3.46所示:圖3.45重量少于設置值圖3.46電機正轉角度我們再次按下壓力傳感器模塊的增重鍵,使食物重量為0.613kg超過0.5kg,此時電機會反轉模擬停止投食,如圖3.47、3.48所示:圖3.47重量大于設置值圖3.48電機反轉角度整體仿真圖如圖3.49所示:圖3.49整體仿真圖第四章軟件系統(tǒng)設計第四章軟件系統(tǒng)設計4.1軟件主程序架構當硬件端設計調試完成后,就要針對單片機和外設傳感器進行軟件設計。系統(tǒng)設計首先要構思清楚,首先畫一個流程圖,按照傳感器先后順序,進行系統(tǒng)設計。首先各個硬件開始初始化,之后各個模塊開始工作,實時檢測食物重量,時間和溫濕度,并按時投放食物,根據食物重量,控制電機的正轉和反轉。啟動的步驟為:溫濕度傳感器檢測當前溫度和濕度,壓力傳感器檢測食物重量,按鍵設置早中晚三次時間段喂食,設置每次喂食的重量。到喂食時間后,單片機驅動ULN2003芯片控制電機正轉進行喂食,當壓力值大于設定的重量時,電機反轉,停止喂食。整個主流程圖如圖4.1所示:圖4.1系統(tǒng)流程圖4.2LCD1602顯示流程圖LCD1602液晶顯示屏上電后,首先進行初始化操作,屏幕清零,內部存儲清空。之后和單片機進行雙向通信,單片機控制顯示屏亮度和顯示內容,延時一定時間后,將檢測到的溫濕度、壓力和時間顯示在液晶顯示屏上。在設置投食時間段和投食重量時,根據按鍵操作,實時變換數值。單片機操控寫入引腳寫入要顯示內容的命令,之后顯示屏執(zhí)行指令,將內容顯示出來。LCD1602顯示流程圖如圖4.2所示:圖4.2LCD1602初始化流程圖4.3溫濕度檢測流程圖開啟開關電源后,溫濕度傳感器開始工作。流程分為第一步啟動讀取信號指令,第二步獲取采集相關溫濕度數據,第三步將信息整理發(fā)送給單片機。溫濕度檢測流程圖如圖4.3所示:圖4.3溫濕度檢測流程圖4.4按鍵子程序本次設計按鍵電路功能不多,分別是設置早中晚投食時間段和投食重量上限。單片機的按鍵具有4個引腳,相同的一側是連接的,4個按鍵并聯在一起,只要將相同的引腳連接一起即可。按鍵的工作原理就是對低電平信號的檢測,在主程序中,循環(huán)執(zhí)行檢測,一旦檢測到按鍵低電平信號,單片機產生信號中斷,進入按鍵子程序中。4個按鍵分別表示加、減、確定、返回,在不同頁面表示不同的功能。流程圖如4.4所示:圖4.4按鍵流程圖第五章系統(tǒng)調試第五章系統(tǒng)調試5.1焊接調試準備好所有的材料和電烙鐵,按照設計好的電路板原理圖,開始單片機電路板的焊接。首先將插排焊接上去,之后焊接單片機最小系統(tǒng)的晶振和復位電路。確定好LCD1602液晶顯示屏位置,將上拉電阻焊接在P0口,之后通過導線連接顯示屏。后面分別焊接各個傳感器模塊,溫濕度傳感器、壓力傳感器、步進電機、按鍵、電源電路。最后用導線將各個模塊按照電路圖連接起來,確保沒有出現短路現象。STC89C52單片機用燒錄器將編譯好的軟件燒錄進去,最后插入到插排上。用5V直流電源供電,按下開關,觀察LCD1602液晶顯示屏是否正常顯示,正常顯示后,說明顯示電路正常,之后觀察其他傳感器是否正常工作,顯示屏上是否有輸出,如果正常顯示,則一切都沒問題,當出現問題時,就要找出具體出問題的部分,逐一解決。圖5.1實物焊接圖在焊接的過程中,根據電路板原理圖的排布,首先確定好LCD1602液晶顯示屏的位置,一般將其放置在電路板的上部分。而單片機一般放置在中間位置,方便與其他器件進行電路連接。如圖5.1所示,焊接時需要防止出現虛焊的問題,要保證每個焊點都標準規(guī)則,盡量不出現電線裸露的情況,防止發(fā)生短路。5.2功能調試單片機焊接測試沒問題后,進行功能調試,測試軟件是否正確。首先給單片機重新上電,這是LCD1602液晶屏首先進行初始化操作,這一步沒問題后,接下來測試各個傳感器功能。LCD1602顯示屏頁面分為兩行,上面顯示測得的溫濕度,下面顯示測得的時間和食物重量。將溫濕度傳感器放置于室內,檢測幾秒后,可以在LCD1602液晶顯示屏上看到對應的溫度和濕度。在壓力傳感器上放置東西,可以在顯示屏上看到測得的壓力值。按下按鍵,可以在LCD1602液晶顯示屏上設置早中晚喂食時間和喂食重量。當來到喂食時間后,步進電機正轉模擬投食,再在壓力傳感器上放一重物,大于設定的投食值,此時步進電機反轉表示投食結束。至此,所有功能測試完成。圖5.2實物調試圖 如圖5.2所示,當按壓在托盤上時,壓力傳感器就會感應到重量,顯示器正常示數,此時也可以看到溫濕度的數據顯示,表示壓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園員工聘用合同
- 流通經銷合同8篇
- 《無機化學》課程標準
- 出口賠償合同范本
- 個人英語學習計劃
- 三年級語文下冊工作總結
- 南車 合同范本
- 雙方合作生產經營合同范例
- 廚房工作人員勞務合同范本
- 會計記賬報稅合同范本
- 線上教育平臺教師教學行為規(guī)范與責任書
- 中央2025年全國婦聯所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 《環(huán)境污染對生態(tài)系統(tǒng)的影響》課件
- 2024年保安員證資格考試題庫及答案
- 機器狗:技術成熟性能優(yōu)越場景剛需放量在即2025
- 《生態(tài)安全》課件
- 教科版六年級下冊科學全冊單元教材分析
- 2025年春新人教版一年級下冊數學全冊教學課件
- 2024年第四季度 國家電網工程設備材料信息參考價
- 環(huán)保行業(yè)污水處理廠智能化管理方案
- GB/T 17145-2024廢礦物油回收與再生利用導則
評論
0/150
提交評論