智能循跡垃圾桶
《智能循跡垃圾桶》由會員分享,可在線閱讀,更多相關《智能循跡垃圾桶(31頁珍藏版)》請在裝配圖網上搜索。
1、北京理工大學珠海學院2020屆畢業(yè)設計 智能循跡垃圾桶 智能循跡垃圾桶 摘 要 智能尋跡垃圾桶以單片機為主控制中心,可以實現(xiàn)智能化地處理垃圾,當垃圾桶的感應裝置感應到人或垃圾時就會實現(xiàn)自動開蓋的操作, 當檢測到人離開后,執(zhí)行一定的延時操作并自動關蓋;當垃圾達到最大容量后,檢測模塊便將檢測到的相關信息傳遞給主控制中心,然后通過語音播報模塊發(fā)出相應的提示信息,提醒相關處理人員該垃圾桶的情況。 該系統(tǒng)為垃圾的回收提高了多種方便,使環(huán)保工作人員的工作壓力大大地降低了,讓人們的生活向智能化更近一步,對保證社會環(huán)境的干凈衛(wèi)生具有重要意義。 關鍵詞:單片機;智能感應;智能尋跡
2、 Intelligent tracking trash can ABSTRACT The intelligent trash can based on the single chip microcomputer takes the single chip microcomputer as the main control center, which can realize the intelligent garbage processing. When the trash can sensor senses the person or garbage,
3、 it will realize the operation of automatically opening the lid. When the garbage reaches the maximum capacity, the detection module will transfer the detected information to the main control center, and then issue the corresponding prompt message through the voice broadcast module to remind the rel
4、evant personnel of the trash can. This system improves various conveniences for garbage recycling, greatly reduces the working pressure of environmental protection workers, and makes people's life more intelligent, which is of great significance for ensuring the clean and sanitary environment of the
5、 society. Key words: single chip computer; intelligent induction; voice prompt 北京理工大學珠海學院2020屆畢業(yè)設計 目 錄 1 前言 1 1.1本設計的目的、意義及應達到的技術要求 1 1.2本設計在國內外的發(fā)展概況及存在的問題 2 1.3本設計應解決的主要問題 2 2 本設計 3 2.1總體方案設計 3 2.2感應電路的設計 4 2.3主控芯片設計 4 2.4驅動電路的設計 4 2.5電機的設計 5 3 硬件設計 5 3.1單片機模塊 5
6、 3.1.2時鐘電路 7 3.1.3復位電路 8 3.2語音處理模塊 8 3.3紅外感應模塊 9 3.4 驅動模塊 9 4系統(tǒng)軟件設計 9 4.1編譯工具keil簡介 9 4.2系統(tǒng)的軟件設計 9 4.3軟件主程序流程圖 10 5 總結與展望 10 5.1調試總結 10 5.1系統(tǒng)總結 11 謝辭 12 參考文獻 13 附錄一:電路圖 14 1前言 1.1本設計的目的、意義及應達到的技術要求 隨著科技的日新月異社會經濟的高速發(fā)展生活水平的不斷提高,人們經濟水平逐步提高對應的對生活的品質追求也越來越高,城市化的發(fā)展不斷地快速高效,城市規(guī)??焖僭鲩L所帶來的
7、高效快速的生活節(jié)奏、人口數量急劇增長所用所需也不斷增多,這些增長同時也帶來環(huán)境清潔的問題,垃圾的處理問題已經成為了人們思考的問題。而同樣的傳統(tǒng)的垃圾清理方式和工具也在被逐漸改良與淘汰"垃圾桶"在人們的生活中扮演了一個不可或缺的角色,它出現(xiàn)在了著人類走過了每一個時代并且是以不同的樣式。而走到了當今的社會中成為了居家用品中的一員、酒店用品中更是必不可少不可或缺的。該如何更好地去保持環(huán)境的衛(wèi)生呢?智能尋跡垃圾桶的出現(xiàn)就是一種可靠、低成本、可行的方案之一。隨著人們逐漸意識到環(huán)保的重要和對于美觀便捷的追求的普遍提高,清潔垃圾所使用的方法和工具的種類和數量也在不斷改良和創(chuàng)新,人們更加注重所使用工具是否影響
8、居家美觀和是否能更加便捷更加多功能同時使用簡單,而產品的研究方向也逐漸走向智能生活小巧便捷用最小的力達到最大的效果。智能垃圾桶也就應運而生這種可以實現(xiàn)智能感應的垃圾回收方式也就走進人們的視野,當智能循跡垃圾桶的感應裝置感應到人或垃圾時就會實現(xiàn)自動開蓋的操作,當檢測到人離開后帶有一定延時便會實現(xiàn)自動關蓋的操作;當檢測到垃圾桶中的垃圾已到達最大的容量時,單片機受到信息后通過語音模塊提示相應信息,方便相關人員進行處理工作。 該系統(tǒng)為垃圾的回收提供方便,使環(huán)保工作人員的工作壓力大大地降低,讓人們的生活向智能化更近一步,恰恰生活智能化以此來解放人類勞動力以及生活質量的提升也是一直以來人們所追求的同時對保
9、證社會環(huán)境的干凈衛(wèi)生具有重要意義。 新事物的出現(xiàn)有一定的意義,本文設計的智能尋跡垃圾桶的出現(xiàn)也有其自身的意義。垃圾桶的作為是回收垃圾的容器和清潔環(huán)境必要工具,如果垃圾桶的形象與周圍環(huán)境不相容,那么垃圾桶的存在本身就是一種視覺垃圾。就比如現(xiàn)代化的高樓大廈卻沒有電梯一樣,傳統(tǒng)的普通垃圾桶不僅會與未來智能化生活家居產生違和感同時在實用性和便捷性上也遠遠不如創(chuàng)新的智能尋跡垃圾桶,它可以與周圍環(huán)境融為一體。在保證環(huán)境衛(wèi)生的同時,還能讓人們在視覺上感到舒適。不僅如此,在垃圾桶的表面設計中還可以注入一些新穎的元素,充分利用垃圾桶的廣告功能,來進一步提高人們的環(huán)保意識。 同時現(xiàn)在人們所追求的高生活質量
10、很重要的一部分就是智能化,便捷化,美觀化。智能循跡垃圾桶的出現(xiàn)并非是錦上添花而是進入新時代,科技智能化生活的不可或缺的一部分。干凈,整潔,高效,智能這四點既是本設計的初衷與目標也是人們在對于家庭清潔乃至公共衛(wèi)生未來的發(fā)展方向和目標。 在大學四年的學習下,通過對本課題的研究,完成了對自身能力的測試,也在一方面開始與社會實際的運用接軌,在另一方面可以清楚地認識到電子方面的硬件知識以及嵌入式編程,同時在對課題的實現(xiàn)過程中也可以發(fā)現(xiàn)智能化程度的高低與資金投入之間的關系,為日后在電子方面的發(fā)展提供了參考依據;另一方面在對整個系統(tǒng)的搭建和調試過程中不斷發(fā)現(xiàn)和解決問題,以及對該系統(tǒng)的控制方案不斷進行改進和
11、創(chuàng)新,自己的思維能力和調試能力都能得到有效提高。本次研究通過對STC系列單片機編程,C語言的學習,SPI通信協(xié)議等方面的深入學習,打牢了后續(xù)學習電子方面的基礎,也通過這次實物的制作研究激發(fā)以后探索電子類設計的熱情。通過本次設計也可以有效的提升自己對控制器的理解和使用熟練度,以待日后能夠更好的使用它們服務社會。同時也期望此次設計能提升自己的技術水準與知識儲備以期待能做出更好的作品。 1.2本設計在國內外的發(fā)展概況及存在的問題 在國外,垃圾桶的重要性得到了很早的認識,因此垃圾桶控制系統(tǒng)的設計和研究要比國內早得多。到目前為止,世界上許多國家已經實現(xiàn)了垃圾的分類和回收利用,比如許多太陽能垃圾箱,廣
12、泛使用太陽能設備的控制系統(tǒng)。 例如早期的太陽能設備來控制的垃圾箱就出現(xiàn)在美國的紐約,它因為容量比傳統(tǒng)的垃圾桶要大很多,所以它也被稱為“大胃王”[11]?!按笪竿酢钡墓ぷ髟硎牵豪藐柟庾鳛椴僮飨到y(tǒng)的能源,對垃圾的處理進行自動壓縮,以此來實現(xiàn)大容量的操作。 “大胃王”大容量的功能,大大減少了環(huán)衛(wèi)工人的工作壓力,但它也有自己的弊端:第一、它的造價很高;第二、“大胃王”如果其受到損壞很難修復。 “大胃王”出現(xiàn)后,英國劍橋學者結合英國當地環(huán)境和在前者研究的基礎上,開發(fā)了另一種類似“大胃王”的太陽能垃圾桶控制系統(tǒng)[13]。它的原理跟大胃王差不多,不過它并不需要太多的陽光。因為它的結構里存在蓄電池提供
13、動力能源,所以它正常工作所需外界的能源比較少。這種設計是基于英國經常出現(xiàn)霧天的環(huán)境而發(fā)明的。除此之外,環(huán)衛(wèi)人員還可以通過手機智能地了解垃圾存放的問題,當手機接收到信息時,環(huán)衛(wèi)工人就可以知道他們需要去哪個垃圾箱進行清潔。 目前,我國大多數智能垃圾桶控制系統(tǒng)都比較簡單,基本上可以從功能及能源上分為兩類:第一種智能垃圾桶是利用紅外測距技術或超聲波傳感來檢測是否有物體靠近,當有物體靠近垃圾桶的時時候,傳感器會驅動電機運行,使垃圾箱具有自動翻轉功能。第二種類型是太陽能垃圾箱,就像“大胃王”的原理一樣。但這種太陽能垃圾箱需要在陽光充足的地方才能使用,商業(yè)價值不高、使用范圍小。這兩類智能垃圾桶的功能還
14、不夠完善,但它們存在一定的價值,有待我們去更近一步的挖掘和研究。 1.3本設計應解決的主要問題 針對傳統(tǒng)的垃圾桶,不能滿足人們的衛(wèi)生要求,不夠美觀、不利于垃圾的放置和處理等。傳統(tǒng)垃圾桶實際作用僅僅只是容器用來對垃圾的儲存而本設計的實用將不止于此。本設計將單片機STC89C52引入垃圾桶的結構中,設計了一種智能尋跡垃圾桶,其通過紅外傳感器的感應,給予單片機進行相應指令,從而實現(xiàn)垃圾桶的自動開蓋和延時關蓋,同時通過紅外傳感器來判斷垃圾桶里的垃圾是否已滿,如果達到了它的最大容量,傳感器便會給予單片機相關的信息,單片機通過相應的處理后,啟動語音模塊播報來提示相關信息。該設計實現(xiàn)了保護環(huán)境的作用,提
15、高了人們的衛(wèi)生理念,對社會及家庭的衛(wèi)生清潔具有重要作用。 2 本設計 為了解決人們在日常生活行為中傳統(tǒng)垃圾桶僅僅作為固定容器使用而非清潔環(huán)境的一環(huán)所帶來的不便。本設計通過添加自動循跡動能使得使用者無需到其他房間尋找垃圾桶或是準備多個垃圾桶放在房間各處既不美觀也會導致空間的浪費或者遺忘導致沒裝滿的垃圾產生異味或細菌。同時添加語音控制開關蓋,使得既不用擔心傳統(tǒng)垃圾桶開蓋麻煩不衛(wèi)生也不會像無蓋開放式垃圾桶那樣影響美觀或是垃圾產生異味影響居家整潔。 2.1總體方案設計 基于單片機來工作的智能垃圾桶的整體組成結構如下圖2.1所示,在
16、本次畢業(yè)設計中以單片機作為為主要控制模塊,感應模塊檢測是否有人來扔垃圾或扔垃圾的人已經離開,然后將信息傳遞給單片機做相關的處理;驅動模塊在收到單片機的指令之后,驅動電機進行自動開蓋或自動關蓋的智能操作;語音模塊在垃圾桶里的垃圾滿了之后,收到單片機的指令進行播報相關的信息提醒處理人員垃圾已滿。以此相結合來構成一個智能尋跡垃圾桶。 電機 驅動模塊 單片機 語音模塊 傳感器模塊 圖2.1 整體結構圖 2.2感應電路的設計 傳感器模塊在本次設計里相當于充當眼睛的作用,所以傳感器的選擇十分重要,既要考慮到
17、成本方面,同時還要考慮它的靈敏度和抗干擾[16]。經過多種方案的對比本次設計選擇使用光紅外傳感器。它的工作方式是將感應到的待測目標的紅外輻射特性進行紅外系統(tǒng)的設定,所以它的檢測不容易受到一些無關因素的影響。紅外傳感器在當今現(xiàn)代化社會的各行業(yè)生產實踐中都具有不可替代的作用,紅外傳感器的使用將伴隨一些探測設備還有許多的高新技術的應用而更加成熟,靈敏度和性能都將得到很大程度的提高[17]。由于其技術的成熟度比較高,所以本設計里選擇用紅外傳感器來實現(xiàn)智能尋跡垃圾桶的自動開蓋操作的檢測和自動關蓋的檢測、以及檢測垃圾的容量情況等,可以說是一種不錯的方案。 2.3主控芯片設計 本次智能尋跡垃圾桶的主控制
18、模塊的芯片是單片機,它是STC公司旗下的51系列中的一款產品,此芯片使用的是CMOS8位控制器。它本身就具有8K大小的Flash存儲,相比較之下比以前那些STC89C52系列單片機內存更大,多了一倍不止,而且芯片上的引腳也都兼容市場上其它的一些51單片機,使用得很普遍的編程器都能夠在它的內部進行程序編程以及代碼燒錄[2]。諸多的優(yōu)點使得它能夠更大程度燒錄非常多的程序進去,常用的編輯器足夠滿足很多開發(fā)來使用,進而比許多傳統(tǒng)的51單片機更具優(yōu)勢與競爭力。同時它的編寫代碼方式更加的高效以及靈活,能夠更加有效的解決問題。因為它內部具有8K大小的可編程存儲FLASH,所以在進行嵌入式開發(fā)時遇到困難,都能
19、夠通過使用STC89C52單片機來編程以及解決問題,實現(xiàn)效率更高、使用更加的方便。STC89C52的功能還包括掉電保護,在發(fā)生掉電的時候,如果它的內部RAM內容出現(xiàn)暫時有效的凍結,并且出現(xiàn)了停止單片機的工作狀態(tài),那就只有等到下一個復位或中斷信號發(fā)生才結束,而單片機在這時候才能夠重新開始工作,從而能夠對單片機起到掉電保護的作用。因此本次使用STC89C52單片機相對于本系統(tǒng)的設計理念以及功能實現(xiàn)來說,都是最合適的。 2.4驅動電路的設計 智能尋跡垃圾桶的設計,驅動電路實現(xiàn)當收到單片機指令時,驅動直流減速電機進行智能開關蓋的操作;經過多方資料的分析對比,本次驅動電路選擇的是H橋驅動,其具有驅動
20、效率高,安全性好,能夠承受本次設計的驅動電壓,能夠通過本次設計的驅動電流等特點。 2.5電機的設計 在本次智能尋跡垃圾桶中,電機是很重要的一個元器件,其在實現(xiàn)垃圾桶的智能開關蓋中占據著重要地位。在本次設計中我選擇的電機是直流減速電機,勻速直流電動機具有方便操控、高過載能力可經受多次的來自負載的沖擊,并且具有廣泛的范圍調整能力,同時能夠進行多次快速無級啟動、制動以及反轉;從而實現(xiàn)非常多的不一樣的特殊運行要求[5]。經檢驗,本次設計所使用的電機符合本人對本次設計的需求。 27 3 硬件設計 3.1單片機模塊 本次我所設計的單片機部分所使用的的執(zhí)行元件 我們采用S
21、TC-51系列的STC89C52。STC89C52是一種低壓、高性能的CMOS 8位微處理器,具有4K字節(jié)可編程和擦除只讀存儲器(FPEROM)。該裝置采用ATMEL高密度非易失性存儲器制造技術制造,與工業(yè)標準的McS-51指令集和輸出引腳兼容。ATMEL的STC89C52是一個高效的微控制器,因為它將一個多功能的8位CPU和一個閃爍存儲器集成在一個芯片中[2]。STC89C52單片機為許多嵌入式控制系統(tǒng)提供了一種靈活、廉價的解決方案。所以本次選擇以其作為單片機部分的主要器件, 主要特性: ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán) ·數據
22、保留時間:10年 ·全靜態(tài)工作:0Hz-24Hz ·三級程序存儲器鎖定 ·128*8位內部RAM ·32可編程I/O線 ·兩個16位定時器/計數器 ·5個中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為8位漏電開路雙向I/O口,每腳可吸收8TTL門電流。當P1端口的引腳第一次寫入1時,定義為高阻輸入。P0可用于外部程序數據存儲,可以定義為數據/地址的第8位。在FIASH編程中,P0端口作為源代碼的輸入端口。當FIASH得到驗證時,P0輸出源代碼,此時必須打開外部P0。 P
23、1口:P1端口為8位雙向I/O端口,內部有上拉電阻,P1端口緩沖器可以接收輸出4TTL門電流。當P1端口的引腳被寫入1時,它被內部拉高,可以作為輸入。當P1端口從外部向下拉至較低時,會輸出電流,這是由內部上拉造成的。在FLASH編程和驗證中,P1端口作為第8位地址接收。 P2口:P2端口是一個8位雙向I/O端口,內部有一個上拉電阻,可以被P2緩沖器接收,輸出4 TTL門電流。當“1”寫在P2端口上時,它的引腳被內部上拉電阻拉起并用作輸入。P2引腳作為輸入,從外部降至輸出電流。這是由于內部拉升。當用于訪問外部程序內存或16位外部數據存儲時,P2端口輸出地址的高八位。當地址“1”被給出時,它利用
24、了內部上拉。當讀寫外部8位地址數據存儲時,P2端口輸出其特殊功能寄存器的內容。P2端口在FLASH編程和驗證過程中接收高8位地址信號和控制信號。 P3口:P3引腳為8個內部上拉電阻的雙向I/O端口,可接收和輸出4個TTL門電流。當P3寫入“1”時,它們被內部拉到一個較高的級別并用作輸入。作為輸入,由于外部下拉處于較低水平,P3端口將輸出電流(ILL),這是由于上拉。P3口也可作為STC89C52的一些特殊功能口,如下表所示: 表3.1 P3口的一些特殊功能口 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中
25、斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 3.1.1芯片選擇 方案一:采用STC89C52微型控制芯片,STC89系列單片機是STC公司推出的以8位微處理器芯片,以低耗高能為主打旗號,采用的是馮諾依曼結構,是一款非常適宜新手學的單片機,因其I/O口很多,以前的不少家用東西都可以看到它的身影,但這款單片機不能采集模擬量,對我們在需要采集電壓時會很不方便,,所以
26、只要在沒有AD采集的功能用處上這是一款比較實用的單片機,一般造價也比較低,因其本身結構以及位數限制了處理速度,因此逐漸被功能更加強大并且功耗也低的STM32系列所取代。 方案二:采用STM32F103RCT6單片機作為主控芯片,STM32系列單片機是意法半導體公司推出的32位微處理器,STM32系列芯片主要以ARM Cortex-M為核心,這種單片機的內部是自己可以采集到模擬量的,能夠進行AD模數轉化,而且它的處理速度是傳統(tǒng)單片機的好多倍,比STC89系列單片機處理速度快許多倍,而且它還不需要我們外部電路的復位,自身帶有復位,使用起來非常方便。 綜合以上分析和未來改進方面的情況,還有操作難
27、易程度以及資源的最大利用化等情況,最終確定選擇STC89C52的芯片。 3.1.2時鐘電路 時鐘電路在單片機的構成里是占據很重要的一部分,它由一個晶體和兩個陶瓷電容器構成。其在單片機系統(tǒng)中所起到的主要作用和功能就是結合內部的電路,產生單片機如果正常運行的話所必須要具備的時鐘頻率,可以說它的作用及功能就是為單片機能歐正常執(zhí)行命令提供了所需的重要的保障,通常情況下我們使用的時鐘電路飾所提供的時鐘頻率越高,那么整體的單片機的運行速度也就會越快,從而就使得所屬系統(tǒng)的工作的效率也會提高。重要的是在設計時鐘電路時,我們需要注意晶振頻率的選擇,選擇合適的晶振頻率可以使本次系統(tǒng)所能夠發(fā)揮的效果達到最佳[6
28、]。 3.1.3復位電路 為了更方便的對本次的設計進行調試,本次設計還設置了復位電路,當系統(tǒng)運行不穩(wěn)定時,便可通過復位按鍵使CPU及系統(tǒng)各個部件達到初始態(tài)狀態(tài)。本次設計中所使用的的復位電路由按鍵、電阻和電容組成,外接至單片機的RST引腳。復位電路中的電容器一開始是沒有電的,當通電后,電源便會給電容器充電,然后電容器兩端的電壓逐漸發(fā)生變化,這時候電容器電阻的兩端的電壓接近于0.0V,RST處于低電平,所以系統(tǒng)正常工作。 當按下復位按鈕后,相當于電路導通,電容從兩端放電,電容電壓返回到0V,電阻兩端電壓升高,RST引腳變?yōu)楦唠娖?,單片機系統(tǒng)自動復位。其電路原理圖如下所示: 3.2語音
29、處理模塊 ISD是美國生產的語音芯片系列,其電源電壓3-5V,在錄放模式下, 在縱貫模式下,直接開關閉合,對麥克風說話會從喇叭里擴音播放出來,組成喊話器功能,因為該模式下的麥克風放大同時通過AGC自動增益調理和帶通濾波器,其音質比一般的話筒放大器要良好,而且不會呈現(xiàn)喇叭過載的情況[8]。 如若用戶不需要縱貫模式,并且對電路的靜態(tài)耗電有請求,就能夠改變麥克風的接入方法,將麥克風下端的偏置電阻接到RECLED端,如許,在日常由于RECLED端為高電平麥克風沒有電壓電流,全部電路的耗電幾乎為零。但是此方式下縱貫模式無法工作。若是用戶只需要電路做放音用,可以在芯片錄好音測試無誤后,將芯片的REC端
30、持久接低電平。取消REC按鍵,這樣可以防止意外抹音[8]。 若是用戶想建造變調電路,此刻ISD芯片也可以了,本來的ISD系列芯片的內部時鐘牢固,小幾率產生變調效果,而ISD1820P可以便利的實現(xiàn),只需要灌音和放音時的外部振蕩電阻不同就可以改變聲音的錄入和播放速率,詳見振蕩電阻和取樣率表。將ROSC端所接的振蕩電阻改成電位器可以無級調節(jié)語音的快慢,錄入的時候越短音質越好,錄入的時候越長音質越差。ISD1820P的分量拷貝,允許借助ISD1425的編程復制和ISD1820P復制模塊的方案。用戶可以先將所需的音編程建造在ISD2532或ISD2560芯片上,然后即可向ISD1820P拷貝模塊上的
31、芯片拷貝即可,時間長度在模塊上事前設定[8]。 3.3紅外感應模塊 本次使用的反射式光電傳感器所涵蓋的工作原理是由傳感器紅外發(fā)射管發(fā)射出紅外光,而接收管根據反射回來的紅外光強度大小來進行控制的,故被檢測的工件或物體其外部表面必須有能夠吸收并反射紅外光的相間部位,這樣傳感器的接收管才能有效的截止和飽和,達到計數檢測的目的。而如果使用中光電傳感器的話其前端面與被檢測的工件或物體表面必須保持平行,這樣光電傳感器的轉換效率最高。光電傳感器的前端面與反光板的距離保持在規(guī)定的范圍內。通過小車感應黑線來作為尋跡手段。 3.4 驅動模塊 本次驅動模擬是通過電機的轉動實現(xiàn)窗簾打開關閉的功能,其驅動模塊
32、是高電壓,大電流的電動機驅動器芯片ULN2003。該芯片的額定功率為25W,包含兩個H橋高壓和大電流全橋驅動器,可以驅動直流電動機和步進電動機。標準邏輯電平信號控制使用驅動電機。該芯片可以驅動兩相步進電動機或四相步進電動機,并且還可以驅動兩個直流電動機。 在本次智能尋跡垃圾桶的設計中,電機是很重要的一個元器件,其在實現(xiàn)窗簾的轉換占據著重要地位。在本次設計中我選擇的電機是直流減速電機,勻速直流電動機具有方便操控、高過載能力可經受多次的來自負載的沖擊,并且具有廣泛的范圍調整能力,同時能夠進行多次快速無級啟動、制動以及反轉;從而實現(xiàn)非常多的不一樣的特殊運行要求。經檢驗,符合本次設計的需求。
33、3.5 電源模塊 基于單片機的語音控制小車控制系統(tǒng)中的所有模塊基本都是由5V直流來進行供電的。電源的整體電壓通過USB或者簡單的電池盒進行邏輯正常工作的供電,當開關按下的時候就能實現(xiàn)整個系統(tǒng)的供電。系統(tǒng)的穩(wěn)定供電電壓必須是5.0V如果低于5.0V則會造成模塊供電不足,會直接引起系統(tǒng)硬件電路故障,而設計電源模塊的目的就是為了保證整個系統(tǒng)的電壓維持在穩(wěn)定的5.0V。在設計的過程中,要保證無論輸入一個怎么樣的電壓,經過電源模塊后,供給每一個模塊的電壓必須能夠使各模塊正常運行。在本系統(tǒng)的電源模塊中,我們所使用的模塊都是由5V供電,所以我們使用電容對輸入電源進行濾波處理,以保證每一個模塊的正常工作電壓
34、[14]。 4系統(tǒng)軟件設計 4.1編譯工具keil簡介 KEIL是微軟公司推出的專門用于硬件變成調試的工作軟件,能夠給開發(fā)人員一個統(tǒng)一的開發(fā)病平臺,便于各部門的統(tǒng)一調用,本平臺所編成以及生成的代碼能夠快速的變成對應的文件,在整個系統(tǒng)的調用以及調試工程中也能夠在友好快捷的界面提示系完成,這個平臺在系統(tǒng)完成調試編碼后就能夠把整個代碼轉化為讓硬件系統(tǒng)識別的機器代碼格式。然后通過硬件數據進行上位的代碼燒錄工作,整個過程能夠方便快捷的實現(xiàn)。 4.2系統(tǒng)的軟件設計 本系統(tǒng)的軟件設計將基于系統(tǒng)硬件組成及功能要求來開展,分別對各模塊來完成軟件設計及程序的編寫工作。最后將系統(tǒng)的
35、軟硬件部分結合進行調試,排查可能存在的相關問題。根據系統(tǒng)描述,系統(tǒng)的軟件設計將按照以下幾方面的內容來開展:
(1)基礎模塊功能對比,測試方案是否具有可行性。
(2)主程序設計。即系統(tǒng)總體的軟的設計,主要為單片機控制單元的程序設計;
(3)數據采集模塊軟件的設計。主要包括紅外傳感數據和語音模塊的采集設計。
源程序展示
#include "REG51.h"
#include "oled.h"
#include "bmp.h"
#include
36、define ALERT_ON ALERT_PIN = 0 #define ALERT_OFF ALERT_PIN = 1 volatile unsigned char gucUartRcvData = 0xaa; volatile unsigned char gucBatteryVoltage = 0xff; unsigned char gucWorkMode = 0; sbit ZuoPinQain = P2^1; sbit ZuoPinHou = P2^0; sbit YouPinQain = P2^2; sbit YouPinHou = P2^3;
37、 unsigned int guiAlertCount = 0; unsigned int gui1msCount = 0; unsigned int gui10msCount = 0; unsigned int gui1sCount = 0; unsigned int gui2sCount = 0; extern unsigned char gucCheState; void Delay5us() { _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _no
38、p_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_()
39、;_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); } void DelayN5us(unsigned int count) { unsigned int i = 0; for (i = 0; i < count; i++) { Delay5us(); } } sbit LeftHongwai = P3^5; sbit RightHongwai = P3^4; void XunjiProcess() { if ((0 == LeftHongwai) &&
40、(0 == RightHongwai)) { ZuoPinQain = 1; ZuoPinHou = 0; YouPinQain = 1; YouPinHou = 0; } else if ((1 == LeftHongwai) && (0 == RightHongwai)) { ZuoPinQain = 0; ZuoPinHou = 0; YouPinQain = 1; YouPinHou = 0; } else if ((0 == LeftHongwai) && (1 == RightHon
41、gwai)) { ZuoPinQain = 1; ZuoPinHou = 0; YouPinQain = 0; YouPinHou = 0; } } extern void DAC_WR_Val(unsigned int dat); unsigned char gucPwmCount = 0; void Interrupt() interrupt 1 { TH0 = (65536 - 922) / 256; //′¥·¢?D??ê±??D?×°ì???ê± TL0 = (65536 - 922) % 256;
42、 gui1msCount++; gucPwmCount++; if (10 == gucPwmCount) { gucPwmCount = 0; } if (1 == gucCheState) { if (gucPwmCount < 5) { XunjiProcess(); } else { ZuoPinQain = 0; ZuoPinHou = 0; YouPinQain = 0; YouPinHou = 0; } } if (0 == gui1msCount %
43、1000) { gui1sCount++; } } void Timer1() interrupt 3 { } void SendData(unsigned char Dat) { unsigned char i=0; SBUF = Dat; while (1) { if(TI) { TI=0; break; } } } unsigned char gucCh
44、eState = 0;//0í£?1 1?°?? unsigned char gucDianjiCommand = 0; void serial () interrupt 4 using 3 { if (RI) { RI = 0; gucUartRcvData=SBUF; if (1 == gucUartRcvData) { gucCheState = 0; ZuoPinQain = 0; ZuoPinHou = 0; You
45、PinQain = 0; YouPinHou = 0; } else if (2 == gucUartRcvData) { gucCheState = 1; } if (3 == gucUartRcvData) { gucDianjiCommand = 1;//′ò?a } else if (4 == gucUartRcvData) { gucDianjiCommand = 2; }
46、 } } void XiaocheProcess(void) { if (0 == gucCheState)//0í£?1 1?°?? 2oóí? 3×ó1? 4óò1? { ZuoPinQain = 0; ZuoPinHou = 0; YouPinQain = 0; YouPinHou = 0; } else if (1 == gucCheState) { ZuoPinQain = 1; ZuoPinHou = 0; YouPinQain = 1; YouPinHou = 0; } else if (2 =
47、= gucCheState) { ZuoPinQain = 0; ZuoPinHou = 1; YouPinQain = 0; YouPinHou = 1; } else if (3 == gucCheState) { ZuoPinQain = 0; ZuoPinHou = 0; YouPinQain = 1; YouPinHou = 0; } else if (4 == gucCheState) { ZuoPinQain = 1; ZuoPinHou = 0; YouPinQain = 0;
48、YouPinHou = 0; } } #define MOTOR_MODE_QUANBU 0 #define MOTOR_MODE_MOTOR1 1 #define MOTOR_MODE_MOTOR2 2 #define MOTOR_MODE_SLOW 0 #define MOTOR_MODE_NORMAL 1 #define MOTOR_MODE_QUICK 2 unsigned char gucMotorMode = MOTOR_MODE_QUANBU; unsigned char gucMotorSpeedMode = MOTOR_MODE_SLOW
49、; #define MotorData P1 unsigned char code phasecw1[8] ={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; unsigned char code phaseccw1[8]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03}; unsigned char code phasecw2[8] ={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90}; unsigned char code phaseccw2
50、[8]={0x10,0x90,0x80,0xc0,0x40,0x60,0x20,0x30}; void MotorShangsheng(void) { unsigned char i; unsigned int j; for (j = 0; j < 80; j++) { for(i=0;i<8;i++) { if (MOTOR_MODE_MOTOR1 == gucMotorMode) { MotorData=phasecw1[i]; } else if (MOTOR_MODE_MOTOR2 == gucMotorMo
51、de) { MotorData=phasecw2[i]; } else { MotorData=phasecw1[i] | phasecw2[i]; } DelayN5us(10);//×a?ùμ÷?ú } MotorData=0; } } void MotorXiajiang(void) { unsigned char i; unsigned int j; for (j = 0; j < 80; j++) { for(i=0;i<8;i++) { if (MOT
52、OR_MODE_MOTOR1 == gucMotorMode) { MotorData=phaseccw1[i]; } else if (MOTOR_MODE_MOTOR2 == gucMotorMode) { MotorData=phaseccw2[i]; } else { MotorData=phaseccw1[i] | phaseccw2[i]; } DelayN5us(10); } MotorData=0; } } //í£?1×a?ˉ void MotorStop(void
53、) { MotorData=0xff; } void LajitongPro(void) { if (1 == gucDianjiCommand) { MotorShangsheng(); gucDianjiCommand = 0; } else if (2 == gucDianjiCommand) { MotorXiajiang(); gucDianjiCommand = 0; } } sbit HongwaiGanyingPin = P3^6; int main(void) { u8 t;
54、 unsigned int ui1msCount = 0; unsigned int ui1sCount = 0; P2 = 0xff; HongwaiGanyingPin = 1; TMOD = 0x21; TH0 = (65536 - 922) / 256; TL0 = (65536 - 922) % 256; ET0 = 1; TR0 = 1; TH
55、1 = 0xFD; TL1 = 0xFD; PCON = 0; TR1 = 1; ET1 = 0; SCON = 0x40; REN = 1; PT1 = 0; PT0 = 1; ES = 1; EA = 1; while(1) { if
56、 (ui1msCount == gui1msCount % 11) { continue; } ui1msCount = gui1msCount % 11; if (ui1msCount < 10) { continue; } ui1msCount = 0; LajitongPro(); if (0 == HongwaiGanyin
57、gPin) { MotorShangsheng(); delay_ms(1000); delay_ms(1000); delay_ms(1000); MotorXiajiang(); } if (0 == gui10msCount % 10)//500msè??? { } gui10msCount++; } } 4.3軟件主程序流程圖 智能尋跡垃圾桶的主要程序紅外模塊數據的處理,也就是尋跡,還有語
58、音信號的處理,其中包括中斷優(yōu)先級的設計,大體程序流程圖如下所示: 圖4.1 程序流程圖 主要程序如下: int main(void) { u8 t; unsigned int ui1msCount = 0; unsigned int ui1sCount = 0; P2 = 0xff; HongwaiGanyingPin = 1; TMOD = 0x21; //初始化TMOD,定時器0,方式1 TH0 = (65536 - 922)
59、 / 256; //裝填計數 TL0 = (65536 - 922) % 256; ET0 = 1; //開放定時器0中斷控制位 TR0 = 1; //定時器0開始計時 TH1 = 0xFD;//波特率9600 TL1 = 0xFD; PCON = 0;//SMOD置0,波特率不加倍 TR1 = 1; ET1 = 0;
60、 SCON = 0x40; REN = 1; PT1 = 0; PT0 = 1; ES = 1; EA = 1; //開放所有中斷 while(1) { if (ui1msCount == gui1msCount % 11) { continue; } ui1msCoun
61、t = gui1msCount % 11; if (ui1msCount < 10) { continue; } ui1msCount = 0; LajitongPro(); if (0 == HongwaiGanyingPin) { MotorShangsheng(); delay_ms(1000); delay_ms(1000); delay_ms(1000); MotorXiaj
62、iang(); } if (0 == gui10msCount % 10)//500ms任務 { } gui10msCount++; } } 5 總結與展望 5.1調試總結 在首先整體進行硬件排查以及調試的過程中,首先就要進行各個模塊以及主要的處理主單片機之間的管腳引線師傅安裝合理,如果相對應的數據傳輸引腳沒有完成合理的接通,那么在后期軟件邏輯處理的時候不能得到關鍵的數據值,那么對于整個系統(tǒng)的軟件錯誤排查就不能方便快速的找到對應的問題,然后檢查設備的規(guī)格和
63、極性是否有錯誤。然后,如果電路板和電源之間存在短路,請使用萬用表解決此問題。 當整個硬件完成連接后,確保不同的硬件模塊都能正常數據傳輸后,然后要實現(xiàn)的工作就是進行邏輯的處理,首先就是檢測各個模塊數據的獲取進行檢測,是否能夠進行相關數據的完美獲取以及數據獲取格式是否是我們所要求的具體格式。然后也要對于不同模塊接口之間的數據傳輸進行相關的調試,使得整個數據處理流程能夠穩(wěn)定安全的處理下去,然后在各個數據獲取時候進行相關頁面的提示以至于用戶用來進行系統(tǒng)運行階段的檢測,軟件代碼邏輯調試也是整個系統(tǒng)需要的重要步驟。 在整個系統(tǒng)的軟件以及硬件各模塊測試調試后,我們要進行相關的整體錯誤提示工作的完成,就
64、是在相應的數據監(jiān)測警報后,我們要實現(xiàn)其中界面的友好提示,使得用戶能夠清楚系統(tǒng)具體那個模塊出現(xiàn)了問題,通過不同的模塊函數的編寫以及調試的實現(xiàn),真?zhèn)€系統(tǒng)功能的開發(fā)并不是一帆風順的,只有通過不同的反復調試以及不同的反復揣摩工作,然后才能實現(xiàn)相關的功能,再多測的編碼調試中才能發(fā)現(xiàn)不同的問題bug,在最后以一個完美的系統(tǒng)展現(xiàn)在用戶面前,能夠順利的完成整個基于單片機的智能尋跡垃圾桶控制系統(tǒng)的設計與實現(xiàn)。 5.2系統(tǒng)總結 在這個設計中,我花了大量的時間去理解系統(tǒng)開發(fā)中使用的知識,經過這段時間的努力工作最終完成了智能尋跡垃圾桶的設計。 本文以實現(xiàn)智能尋跡垃圾桶的設計與實現(xiàn)為開發(fā)為目標,詳細地闡述了它的
65、軟硬件的設計與實現(xiàn)。首先就智能尋跡垃圾桶的設計與實現(xiàn)的背景與發(fā)展作了簡單的介紹,并闡述了本項目的研究目標;接下來根據模塊設計需求講述了系統(tǒng)實現(xiàn)所需要使用到的相關技術以及該技術在本設計中的應用;其次展示了系統(tǒng)總體設計圖以及模塊的軟硬件設計;接下來就是各子模塊功能的實現(xiàn),包括STC89C52開發(fā)板、傳感器等等進行AltiumDesigner硬件畫板設計,以及軟件功能模塊的keil5編寫實現(xiàn)和創(chuàng)建云平臺項目;最后對模塊進行了相關測試,并對項目進行了總結。 通過本課題的研究,設計的智能尋跡垃圾桶的設計與實現(xiàn)基本達到了預期的效果,實現(xiàn)了一個垃圾桶紅外感應檢測是否有人自動開關蓋等功能。但由于模塊設計的復
66、雜度以及精確度還不夠高,實用性和易用性方面有待探討。在設計實現(xiàn)的過程中,遇到了很多問題,也深深體會到自己知識度的缺乏,雖然最后都解決了,但是系統(tǒng)功能完善性并不是很強。 謝辭 本項目從設計到實現(xiàn)再到最后的測試經歷了漫長而艱辛的過程,我要衷心地感謝那些幫助我和關心我的人。 首先,能夠完成本畢業(yè)設計及論文,要感謝我的導師,不僅在畢業(yè)設計中給予我們建議,同時也在實習期間關心我們的住宿生活以及畢業(yè)設計完成情況,在她耐心的指導下,論文的不足被一一修改,嚴謹的教學態(tài)度和平易近人的工作作風,使我收獲匪淺,感受良深,感謝導師提供的寶貴意見以及耐心教導,希望我不厭其煩的請教沒有讓你感到煩惱。我的論文指導老師,真的是讓我感到非常值得尊敬的老師。當我心中有疑惑的時候面臨迷茫的時候,她總能孜孜不倦地引導我,一步一步地讓我找到前進的方向,讓我知道該怎么做,我們必須認真對待。勇于克服困難,相信未來,我會做得更好。本項目從設計到實現(xiàn)再到最后的測試經歷了漫長而艱辛的過程,我要衷心地感謝那些幫助我和關心我
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數學下冊6整理和復習1數與代數第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數學下冊4比例1比例的意義和基本性質第3課時解比例練習課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數學下冊2百分數(二)第1節(jié)折扣和成數作業(yè)課件新人教版
- 2023年六年級數學下冊1負數第1課時負數的初步認識作業(yè)課件新人教版
- 2023年六年級數學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數學下冊6整理和復習4數學思考第1課時數學思考1練習課件新人教版