版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
引言1.1課題背景最近的十幾年里,科學技術呈現(xiàn)跨越式發(fā)展,尤其是單片機技術和傳感器技術發(fā)展地尤為迅猛,單片機與傳感器在各類電子產品中得到廣泛應用,依靠單片機優(yōu)秀的邏輯控制能力和傳感器各種信息量的采集能力,眾多的智能設備不斷的出現(xiàn)在人們的視野當中。這些智能設備在生活中給人們盡可能最大的便捷,農業(yè)中為科學種植提供各種環(huán)境參數(shù),工業(yè)中可以替代人工去完成工作,極大的節(jié)約了人力成本,提高了生產效率。單片機的應用在各行各業(yè)中占據(jù)著舉足輕重的地位,尤其在近幾年的大數(shù)據(jù)領域中,單片機為終端數(shù)據(jù)采集做出了巨大的貢獻。汽車在人們日常生活中起到了重要的作用,隨著中國經濟的高速發(fā)展與國民經濟的普遍提高,汽車已經進入了各家各戶。當汽車不再是一種奢侈品之后,大家對汽車的功能要求也越來越高。現(xiàn)代汽車功能為了滿足日常生活中人們的出行需求、出行安全、節(jié)能環(huán)保而日漸提高。據(jù)統(tǒng)計,全世界雨天行車的車禍事故有7%是因為司機手動打開雨刷分心導致的[1],現(xiàn)在隨著汽車生產公司將各種各樣的電子器件投入到汽車制造上,汽車的功能也逐漸趨于智能化[2],這部分問題也逐漸得以改善。該設計內容為汽車的雨刷智能控制,雨刷的歷史源于德國博世公司發(fā)明的電動刮水器,起初只是個刮片,隨著感應噴水器等機械的出現(xiàn),逐漸發(fā)展成了現(xiàn)在的刮水器[3]。伴隨著雨滴傳感器、語音識別等技術革新,現(xiàn)在提出了一種新的智能雨刷控制器——通過雨滴采集電路感應前車玻璃的覆水量值和通過語音識別指令來控制雨刷器的轉速[4]。目前,只有BOSCH公司能夠生產出達到標準的智能雨刷。因為智能雨刷控制器價格昂貴,基本應用于高檔車型上,普通車型多數(shù)依舊應用舊式雨刷[5]。1.2研究意義該課題研究的是通過51單片機實現(xiàn)汽車雨刷器的自動控制,該雨刷控制系統(tǒng)可通過車窗覆水量和語音指令來控制雨刷器的轉速??梢允柜{駛者在能見度極低的下雨天道路不用分散注意力去打開雨刷器的開關,極大的降低了此類事故的發(fā)生,并且能更好的適應人們的出行需要。智能化是當今社會的發(fā)展方向,近幾年移動支付,人臉識別,語音語義識別等智能技術廣泛應用,而姿態(tài)識別,協(xié)同目標檢測等智能方向也日益成熟,而汽車的智能化除了無人駕駛以外,其他汽車功能智能化發(fā)展極為緩慢,該雨刷智能系統(tǒng)的提出與實現(xiàn)意味著這場汽車功能的智能改革已經開始。1.3研究綜述1.3.1國外研究和發(fā)展現(xiàn)狀雨刷器本身屬于汽車的一個小功能器件,在汽車剛開始被投入使用的時候,研發(fā)公司并沒有發(fā)明與之對應的雨刷器和擋風玻璃,駕駛員和乘客需要佩戴護眼目鏡來防止風沙進入眼睛,但效果并不顯著,因此發(fā)明了擋風玻璃??僧敺乐癸L沙,風雪等問題解決的時候,清除擋風玻璃上殘留的污垢又成了一個巨大的難題,經常會影響行車視野,人們曾試圖用抹布和蔬菜等拭擦,但不見成效,而且在行車途中也不可能拿抹布拭擦。最后在20世紀初美國的一位富家千金經過多次試驗終于發(fā)明出了汽車雨刷器,起初雨刷器的誕生并沒有人看好,許多工廠都不愿意生產,但隨著第二次世界大戰(zhàn)結束,大型機械和電子器件廣泛用于日常生活中,這個時候雨刷器終于被世人接受,功能也逐漸完善。從單純的刮片到兩段式雨刷器,再由兩段式雨刷器到真空泵驅動的自動雨刷器,一直發(fā)展到了現(xiàn)在,這個小小的汽車配件在一個多世紀以來拯救了無數(shù)人的生命。目前國外生產的雨刷種類比我們想象的復雜很多,有傳統(tǒng)的間歇式雨刷器,雨珠感應式雨刷,隨速感應式雨刷器,無骨雨刷等,并且國外在雨刷器發(fā)展這方面一直保持創(chuàng)新,相信在未來會有更多方便的雨刷功能問世。1.3.2國內研究和發(fā)展現(xiàn)狀汽車工業(yè)作是我國高速發(fā)展的支柱產業(yè),但是雨刷在我國始終沒有得到創(chuàng)新的發(fā)展,汽車研發(fā)公司也沒有重視雨刷器。在大多數(shù)駕駛者眼里,普通雨刷器已經足夠能滿足他們的行駛需求了,并且由于新的智能雨刷在推廣時并沒有老式雨刷那樣全面,導致駕駛者接受智能雨刷器需要一段過渡的時間。國內的雨刷現(xiàn)狀與國外相差不大,只是在創(chuàng)新研發(fā)方面略微落后于國外,新的智能雨刮系統(tǒng)不是正在測試,就是沒有相應市場的宣傳。1.4系統(tǒng)設計總體思路設計項目是需要一個完整的總體思路作為指導,總體思路的正確會使項目在設計的過程中順利執(zhí)行,避免走入誤區(qū),一般項目在設計時通常會考慮以下的內容:(1)硬件設計:硬件設計是基礎型的原理性設計,首先就是對核心的單片機進行選擇,根據(jù)單片機的型號、內存、引腳數(shù)量、運行速度等等參數(shù),再結合項目的需求選取合適的單片機。其次需要對傳感器的性能、功能進行全面的掌握,尤其是在傳感器引腳的使用方面更要全面了解,通過查找傳感器的器件手冊了解傳感器的引腳分布和封裝尺寸,這樣才能選取符合的傳感器。在所有需要的模塊確定完畢之后,進行原理圖的繪制,繪制過程中不斷的參考資料,完成原理圖設計。最后對照原理圖完成實物的焊接工作。(2)軟件設計:軟件設計是依托于硬件原理之上進行設計的,硬件需要軟件來運行功能,軟件需要硬件實現(xiàn)功能,在本質上是一個相互依存的關系,軟件設計必須嚴格對照硬件引腳進行代碼的編寫,否則將無法實現(xiàn)所需要的功能,對于大多數(shù)的時候,為了代碼編寫方便需要隨時調整硬件引腳的位置。在軟件代碼設計的時候,第一步完成的就是主程序的框架設計,框架中可以沒有具體的功能,但必須要層次清晰,為不同功能的子程序分配位置,避免相互干擾,出現(xiàn)混亂。主程序的框架結構搭建完成之后,就需要編寫各個子程序的代碼,實現(xiàn)模塊化設計。(3)系統(tǒng)的測試:系統(tǒng)測試在設計中是非常重要的,測試中會發(fā)現(xiàn)設計的缺陷,硬件和軟件在設計的過程中難免會出現(xiàn)偏差[6],細微的偏差將會導致功能的不可實現(xiàn),尤其在功能相互重疊的地方,子功能調試都沒有問題,整體調試卻出現(xiàn)功能不可控,這就需要優(yōu)化代碼或者變更硬件來解決。在反復的測試中查找問題,優(yōu)化代碼,使整個項目功能達到滿意。
2系統(tǒng)方案設計2.1系統(tǒng)設計內容系統(tǒng)硬件設計框圖如圖2.1所示,其中單片機最小系統(tǒng)起到中樞的作用;LCD1602顯示模塊主要功能是顯示覆水量大小,雨刷轉速擋位,控制狀態(tài)以及覆水量上限值和下限值;鍵盤模塊主要是對覆水量量下限值的設置和對控制狀態(tài)(自動或者手動)的設置;語音電路識別語音指令進而控制雨刷轉動;雨滴傳感電路采用專用的濕度傳感器,需要經過數(shù)模轉換電路傳送給單片機。主要研究內容如下:(1)完成雨滴傳感器的硬件電路設計,軟件程序設計,將數(shù)據(jù)采集到單片機;(2)完成步進電機的電路設計,軟件程序設計;(3)完成電機驅動的電路設計,確定驅動電平;(4)完成模數(shù)轉換的電路設計,軟件程序設計,將模擬量轉換數(shù)字量;(5)完成顯示器的電路設計,軟件程序設計,將單片機數(shù)據(jù)進行顯示;(6)通過按鍵具有設置參數(shù)功能;(7)完成語音識別LD3320的電路設計,軟件程序設計。圖2.1硬件框圖2.2系統(tǒng)方案論證2.2.1主控方案選擇主控器件是系統(tǒng)最為核心的器件,是協(xié)調整個系統(tǒng)運行、協(xié)調外部傳感器一起工作的核心模塊,所以對于主控器件的選擇尤為重要,選取原則是既要滿足預算要求,又要滿足所必須的功能。方案選擇1:選擇32位單片機STM32,STM32單片機是一款功能和性能都非常優(yōu)越的單片機,內部存儲單元采用32個比特位作為存儲單元,采用ARM內核架構,在內核中可以直接運行系統(tǒng),內核系統(tǒng)分為M0、M1、M2、M3、M4。STM32單片機的應用比較晚,但是發(fā)展特別迅速,目前國內部分大學應用STM32單片機教學,并且市場上的商用電子產品幾乎都是STM32單片機為核心開發(fā)的,但需要專門的燒寫器,在使用方面幾乎不存在缺點,唯一的問題是對于初學者而言,針對庫函數(shù)開發(fā)還存在一定的困難。方案選擇2:選擇STC單片機,STC單片機應用比較早,采用最原始的8位寄存器存儲數(shù)據(jù)[7],使用的是51的內核,在處理數(shù)據(jù)的速度方面相比較而言,速度比較慢,程序存儲空間有限,所以對于大型系統(tǒng)功能并不適用。但是STC單片機的優(yōu)勢也非常明顯,在網(wǎng)絡上和書籍中有著豐富的學習資料和使用例程,對于初學而言,一般都是首選的一款單片機,在單片機的資源中,相對于一般的小型系統(tǒng)是足夠用的,并且在使用中很方便,搭載最小系統(tǒng)就可以獨立運行,程序的下載功能使用串口進行下載,不需要專用的燒寫器進行程序下載,對于單片機的費用而言,STC單片機是最為經濟劃算的。方案選擇3:選擇MSP430單片機,MSP430型號的單片機是一款具有眾多齊全功能的單片機[8],其內部資源非常豐富。在使用方面,一部分在工業(yè)控制場合使用的非常多,原因是內核設計部分采用8總線架構,對電磁的抗干擾性能極為強大,一般使用在手持設備中,具有非常好低功耗性能。消費類電子產品中一般并不多見,主要市場是工業(yè)產品,在單片機的開發(fā)設計中,需要專門的開發(fā)工具,網(wǎng)絡和數(shù)籍中所介紹的知識比不多,相對而言,開發(fā)存在很大的困難,在價格方面比價昂貴,對于預算有限的項目來說,一般并不考慮此款單片機。綜上所述,通過比對三款單片機的功能,綜合考慮可操作性和經濟方面,本次的開發(fā)選擇STC系列的單片機。2.2.2電源電路選擇方案一:采用市電220V交流電壓作為系統(tǒng)的供電方式,220V交流電源需要通過變壓器電路轉為直流的電壓才能給系統(tǒng)供電,并且在交流電壓轉為直流電壓的過程中需要進行濾波、整流等等的電路設計,電路設計比較繁雜,并且在實驗中會出現(xiàn)危險的情況,一旦線路錯誤,就會出現(xiàn)強電短路,危險程度極高,另一方面在轉化中會出現(xiàn)多級轉換的,由220V交流變?yōu)?2V直流再變5V直流[9],這種多級裝換并且進行濾波整流的電源電路設計極為復雜,對所使用的器件需要很高匹配程度,設計的復雜性是他最大的缺點。雖然電路復雜,但是他的優(yōu)點也同樣突出,輸出功率較大,對于需要大功耗的器件具有無法比擬的優(yōu)勢,在輸出時的特點是持續(xù)穩(wěn)定,能夠提供優(yōu)質的功能能力。方案二:電源采用USB接口電源供電,USB電源是現(xiàn)代生活中一種比較常見的供電電源,比如電腦USB接口、手機充電頭、電源插座等地方都有USB接口,USB接口供電發(fā)展起步比較晚,但是發(fā)展迅猛,幾年時間迅速占領5V電源領域?,F(xiàn)在的使用中USB電源幾乎隨處可見,供電的技術也越來越走向成熟,輸出電壓的能力比較穩(wěn)定,相對來說很安全。系統(tǒng)本身并不需要太大的功率要求,但是需要穩(wěn)定的供電能力,USB電源極為符合弱電系統(tǒng)的要求,所以USB電源非常適合弱電系統(tǒng)供電。方案三:電源采用鋰電池進行供電,鋰電池的應用比較廣泛,安全性能很高,電池具有相當程度的穩(wěn)定性,可以進行充電循環(huán)使用,一般應用在手持設備或者便攜式設備中,可以不局限任何地點、任何場合使用。鋰電池的電壓一般為3.7V左右,一般在使用的時候需要升壓之后在穩(wěn)壓使用在弱電系統(tǒng)中,由于鋰電池材料的特點,需要對鋰電池進行低電壓檢測,若果電池電壓過低還在使用,就會對鋰電池的內部材料造成永久性的損害,影響鋰電池的使用次數(shù),最大的缺陷就是供電不具有持續(xù)性,需要間隔的時間充電,輸出電源的能力有限,除非是便攜式的設備,一般不宜采用鋰電池功能。通過比對三種方案,從安全性和接電方便綜合考慮,本次設計采用方案二的設計方式,采用USB的供電方式來作為電源。2.2.3按鍵電路選擇按鍵在系統(tǒng)中的占比很小,但是作用卻很大,是實現(xiàn)人機對話的重要組成部分,通過按鍵的輸入實現(xiàn)一定功能,對功能顯像的觀察,判斷是否達到設計預期,從而實現(xiàn)人機的信息交互。按鍵在大多數(shù)的時候是完成參數(shù)的設置、功能控制、顯示屏的翻頁功能等等。按鍵在系統(tǒng)中一般會以兩種方式出現(xiàn),一種是鍵盤模式,一種是獨立模式。按鍵設計的方案1:鍵盤模式也叫矩陣按鍵,通常情況是4*4按鍵組成的,在程序的IO掃描中,通過橫向和縱向的掃描交叉點確定按鍵動作,這樣的按鍵設計為了節(jié)省單片機的IO資源,8個IO引腳就可以完成16個按鍵的工作測試,極大的減輕了開銷,對于需要多按鍵的功能項目,會優(yōu)先考慮鍵盤模式。使用IO資源的減少,就意味著編程的復雜度提高,不斷的掃描會影響單片機的運行效率,一般會在定時中斷中完成按鍵掃描,最大程度保證單片機的運行效率。按鍵設計的方案2:獨立模式也稱獨立按鍵,相對于鍵盤模式來說,獨立模式的電路設計極為簡單,只需要按鍵的兩個引腳一個接在單片機的IO上,一個接電源地即可,程序在設計的時候提前將IO引腳置為高電平,通過檢測引腳狀態(tài)是否發(fā)生變化判斷按鍵動作,這種方式沒有編程算法,方便程序設計,一般對于按鍵需求較少的系統(tǒng)中應用。綜上所述,通過對比矩陣鍵盤和獨立鍵盤的功能與運行效率,所以本設計選擇了方案2作為我們的設計方案。2.2.4顯示器的選擇設計方案1:數(shù)碼管作為終端顯示,數(shù)碼管是一種比較古老的顯示器件,通過發(fā)光的LED組合而成,根據(jù)阿拉伯數(shù)字的顯示形態(tài),使用8個LED就可以完成所有數(shù)字的表達,顯示的內容比較單一,只能顯示數(shù)字和部分字母,對于圖形或者復雜的內容信息無法顯示。硬件設計電路設計方面,比較容易理解,公共端與任何一個LED導通即可點亮,通過頻閃效果,快速點亮多個LED,就完成了信息的顯示工作。在經濟效果上,價格不貴,對于預算有限并且顯示內容不復雜應該優(yōu)先考慮。設計方案2:LCD1602作為終端顯示,優(yōu)勢在于LCD1602顯示的非常清楚,字體相較于其他顯示器更加立體化,適用于一些功能多且顯示內容大的系統(tǒng)。綜上所述,本次設計選擇了LCD1602來作為本次的顯示端器件。2.2.5AD采樣選擇ADC0832:ADC0832作為AD數(shù)據(jù)的采集,將模擬量轉換為單片機可以識別的數(shù)字量,ADC0832通過SPI與單片機的IO管腳連接,一共需要3個IO引腳。采用DIP8的封裝形式,通過采集模擬量0-5V可以轉換為0-255的單片機可識別的數(shù)字量,通過采集數(shù)字量的大小來間接獲取傳感器的數(shù)據(jù)采集狀態(tài)。ADC0832可以采集兩路模擬量數(shù)據(jù),具有體積小,采集快速,在模擬量2路以內情況下非常的適合。ADC0809:ADC0809數(shù)據(jù)轉換是一個多路的AD轉換,可以采集9路的模擬量數(shù)據(jù)。采集的模擬量傳感器的電壓輸入也是在0-5V之間,然后通過單片機讀取到每一路的數(shù)字量。ADC0809也是一個8位的模擬量轉換器,單片機的數(shù)字量范圍在0-255之間[10]。ADC0809具有與單片機引腳連接少,并且具有多路采集接口,比較適合在3路到9路模擬量采集的場合。由于采集的路數(shù)比較多,所以ADC0809的體積相對來說比較大。綜上所述,綜合考慮本次設計需求,本次設計采用ADC0832作為AD的數(shù)據(jù)轉換采集。2.2.6語音識別模塊選擇最熱門和最有發(fā)展前景的新型技術之一[11]。語音識別的方法有非常多種,語音識別芯片的選擇也非常多種。我們要根據(jù)實現(xiàn)的功能去比對哪種語音模塊最合適。方案一:基于一般語音識別芯片控制設計,這一方案主要通過各模塊之間的互相作用來實現(xiàn)控制,由語音信息采集和處理模塊、語音信息存儲模塊、語音識別模塊等幾個模塊組成。語音信號通過語音采集模塊采集后,特定處理后交給語音信息存儲模塊進行存儲;語音存儲模塊將數(shù)據(jù)發(fā)給微處理后,微處理再交給語音識別模塊進行語音識別;語音識別模塊識別特定語音信息,這時候會產生相應信號給微處理器;微處理器通過接收語音識別模塊的信號控制,從而實現(xiàn)對系統(tǒng)的控制。方案二:基于非特定人語音識別芯片LD3320的控制設計,語音信號直接由語音識別模塊采集、識別并處理,識別到特定語音后LD3320將產生相應的信號給微處理器;微處理器根據(jù)LD3320接收到的信號控制去實現(xiàn)對系統(tǒng)的控制。相比于方案二,方案一的成本更低,但是存在許多不足之處:方案一的系統(tǒng)結構較復雜,需要外加麥克風和語音信號處理裝置;系統(tǒng)穩(wěn)定性不高;語音采集與識別分開進行時,比方案二更容易出現(xiàn)識別不準確的情況;而LD3320語音芯片有自帶的語音信號采集與處理功能,這樣可以使得系統(tǒng)結構更加簡單;所以方案二比方案一更優(yōu)。
3系統(tǒng)硬件設計3.1單片機單片機是整個雨刷智能控制系統(tǒng)的中樞大腦,可以說該設計最需要注意的步驟就是單片機部分,該設計所實現(xiàn)的所有功能都是通過單片機來實現(xiàn)的。單片機如圖3.1所示。圖3.1單片機單片機是一種將CPU、儲存器、輸入、輸出接口電路合并在一塊的集成電路芯片,又被稱為單片微控制器。單片機就相當于一個迷你型的電腦,只不過少了輸入輸出接口設備。如今單片機廣泛應用于日常生活中了,是智能化時代不可缺少的一環(huán)。可以明確的看到單片機是由眾多引腳組成的結構芯片,其內部是由成千上的硅晶體排列組合而成,這些硅晶體按照一定的順序排列,通過與非門實現(xiàn)功能邏輯,在邏輯的運算中實現(xiàn)功能控制,這就是所謂的外設功能,在硅晶體管的外部進行陶瓷封裝,只保留外設驅動引腳,這就是單片機的引腳,也就是我們所看到的單片機外部形態(tài)。單片機的引腳功能是根據(jù)內部硅晶體排列順序的不同而不相同,大體上分為通用IO引腳和特殊功能引腳,通用IO引腳在單片機內部占有資源比較少,實現(xiàn)的功能比較單一。特殊功能引腳在單片機內部占有資源比較多,實現(xiàn)的功能也相對較多,同時對于程序設計而言就相對復雜,程序設計就是控制單片機的IO引腳,通過IO引腳的輸入與輸出,配合外圍電路,實現(xiàn)設計功能。單片機在封裝形式上千差萬別,上圖所展示的僅僅是通用的兩種形式,貼片式與直插式,貼片式的IO引腳密集,占用空間比較小,非常適合小型化產品。直插式的IO引腳比較疏散,占用的空間也比較大,相對而言,內部的硅晶體隔離空間也大,抗干擾能力較強,適合于工控場合產品,在安裝方面就有明顯的優(yōu)勢,并不是一次焊接而成,而是插接形式,更換方便。這兩種封裝形式的單片機只是外部形態(tài)不同,使用功能基本一致,主要是根據(jù)功能需求進行選擇,并沒有明顯區(qū)分。本次設計是通過單片機和外圍電路連接的多個傳感器協(xié)調工作,對于單片機的開發(fā)需要依靠內核設計廠家所提供的技術手冊進行開發(fā)設計,嚴格按照手冊介紹的功能進行設計,尤其在內部寄存器的設置方面,必須按照手冊進行,否則單片機無法正常使用,比如在外部中斷配置、內部計數(shù)器配置、串口配置等等。其次,單片機IO引腳的使用最為重要,與外部連接都是依靠IO引腳口完成,單片機的IO引腳作為外部器件的控制端,控制著外部器件的功能和讀取外部器件的狀態(tài)。單片機的IO引腳擁有兩種功能,即輸出和輸入。當作為輸入的時候,主要進行的工作是外部信號的檢測,時刻對于外部的電平變化進行檢查,當出現(xiàn)變化時,判斷為信號標志。作為輸出時,是通過程序控制引腳自身的電平變化控制外部器件,比如控制外部LED燈的亮滅,就是依靠自身電平的高低變化實現(xiàn)燈的亮滅。單片機是數(shù)據(jù)芯片,所發(fā)出的信號也是數(shù)字信號,就是“0”和“1”,高低電平指的就是“1”與“0”的邏輯變化,根據(jù)邏輯變化而進行控制。3.2單片機最小系統(tǒng)單片機是具有核心智能化的小型中央處理器,在其內部擁有數(shù)以萬計的微晶管,根據(jù)程序代碼的控制使它在邏輯上進行不同的輸出或者輸入形式,完成設計的功能控制,雖然它具有智能化的形式,但是單片機并不能獨立工作,需要配合外圍電路構成一個最小工作系統(tǒng),才具有智能工作的能力,不管任何型號的單片機,最小系統(tǒng)都是單片機不可或缺的一個前提必要條件,對于不同系列單片機而言,組成單片機最小系統(tǒng)的外圍電路并不相同,需要根據(jù)單片機設計廠家給定的工作手冊進行設計最小系統(tǒng)的搭建。最小系統(tǒng)由復位、晶振以及電源三個電路組成。本次設計使用的單片機型號是STC89C52,市場上使用極為廣泛,性能相對穩(wěn)定,單片機片上資源比較適中,雖然處于入門級單片機,但對于本次的功能來說完全足夠,單片機的最小系統(tǒng)搭建如圖3.2所示。圖3.2最小系統(tǒng)電路圖從圖中就可以知道單片機的最小系統(tǒng),分別由9腳連接0.1uF的電容和4.7K電阻構成的復位電路,由18腳、19腳連接的晶振和30pF的瓷片電容構成的晶振電路,再加上40引腳的正電源和20引腳的GND,這三部分就組成了單片機的最小系統(tǒng)電路。單片機上電之后,首先通過晶振電路給單片機提供穩(wěn)定的震蕩頻率[12],可以說晶振電路是為單片機提供動力源的部件,單片機在固定的頻率下進行工作,開始進行內部程序存儲器的順序執(zhí)行工作,第一步就是要把單片機的執(zhí)行指針歸為零,否則單片機執(zhí)行順序紊亂,復位電路的作用就是負責把程序執(zhí)行指針歸零,以確保單片機每次開始重新執(zhí)行的時候都是從內部程序存儲器的0X00位開始執(zhí)行。單片機的最小系統(tǒng)電路是保障單片機可以正常工作的必要條件,但是單片機想要完成邏輯功能就要依靠單片機的IO引腳,在圖中可以清晰的看到,除了最小系統(tǒng)所有使用的引腳之外,單片機還有32個輸入輸出引腳,這些IO引腳一共分為四組,每組8個引腳,這就是單片機的P0、P1、P2、P3端口,每個端口引腳的排序是0-7,比如P00-P07,共計8個引腳。在這四組端口引腳中,對于初始上電之后每個端口輸出的電平而言,只有P0口與眾不同,其他三個端口上電之后默認輸出的均為高電平,因為在單片機設計的時候在其內部都有上拉電阻,以保證上電之后均為高電平,這樣在電平信號表達的時候就比較明確,方便設計人員使用,只有P0端口的引腳為開漏輸出,在其內部沒有上拉電阻,上電之后P0口的電平屬于不穩(wěn)定的狀態(tài),他只取決與外部器件的電平信號,這樣對于需要依靠外部上拉電阻以保證P0口的正常工作狀態(tài),否則P0口在作為輸出控制的時候是不可能使用的。單片機的工作想要按照我們設定的程序進行執(zhí)行,就必須通過單片機的IO引腳輸出的高低電平來控制外圍的電路,通過外圍電路驅動外部傳感器或者執(zhí)行器件實現(xiàn)預期功能。對于P1端口和P2端口沒有特殊功能,只是正常的電平輸入輸出功能,對于P3端口而言,單片機在設計的時候為了更好的實現(xiàn)更多功能,對P3端口引腳進行了引腳復用功能,所謂引腳復用就是使端口不僅僅只有高低電平的輸入輸出功能,還具有額外的特殊功能。這些額外的特殊功能需要依靠特殊功能寄存器的設置才能使用,比如單片機的串口功能,外部中斷功能、外部定時器功能等等,串口功能的復用引腳是P3.0和P3.1引腳,在使用串口功能的時候,需要開啟串口使能位,對串口功能所要求的寄存器進行程序配置,之后就可以使用串口功能,串口功能是負責單片機與外部其他設備的通訊,負責信息的交互工作。外部中斷復用引腳是P3.2和P3.3引腳,這個功能是為了實現(xiàn)外部重要事件的臨時處理功能,此項功能對于緊急事件的處理非常重要。外部計數(shù)引腳是P3.4和P3.5引腳,主要是進行發(fā)生次數(shù)統(tǒng)計作用,一般而言,多為并不重要的事件。單片機除了硬件引腳的功能之外,還有一些內部寄存器的特殊使用,比如內部定時器,對于精確的時間計量非常重要。3.3液晶顯示電路設計液晶顯示的材質是屬于一種游離狀態(tài)的物質,介于固態(tài)和液態(tài)之間,其本身的這種性質可以通過電流改變它的狀態(tài),在電流的作用下可以改變它的形態(tài),讓其固化,形成特定的圖文,沒有電流的時候,處于游離狀態(tài)。液晶顯示屏就是應用液晶的這種特性,利用電流的不斷改變,從而不斷的改變顯示的內容。液晶顯示屏主要包含了兩個部分,背光和液晶屏幕,液晶屏幕是用來形成特定的圖文,但是這種圖文在肉眼的觀察下并不清晰,所以依靠背光增加對比度,使液晶屏幕形成的圖文更加清晰。液晶顯示功能最主要的就是人機交互,在人機交互中,程序設計人員可以根據(jù)液晶顯示的內容了解程序是否正確,是否按照設計的邏輯運行,所以一般在設計的時候,第一個考慮的設計功能就是顯示。本次設計的顯示屏是LCD1602,它分為上下行分別顯示16個字符,其內部可以顯示64個字符,通過輪詢的方式將其顯示,本身擁有字庫芯片,可以直接顯示ASCII碼中的任何字符。在程序設計的時候需要對顯示屏的內部存儲器輸入命令,同時應用并口引腳輸入不同的高低電平,讓其顯示不同的內容。電路原理圖如圖3.3所示。圖3.31602LCD尺寸圖引腳功能說明如下表3.1。表3.1液晶顯示引腳說明編號符號引腳說明1VSS電源地2VDD電源電極3VL對比度調節(jié)4RS數(shù)據(jù)命令5E/W讀寫選擇6E使能信號7-14D0-D7數(shù)據(jù)引腳D0-D715BLA背光源正極LCD602顯示電路原理圖如圖3.4所示圖3.4LCD602顯示模塊電路圖液晶顯示屏通過16個引腳完成顯示工作,從圖中可知這16個引腳中數(shù)據(jù)引腳占了8個,引腳序號是7-14引腳,這8個引腳與單片機引腳并口連接,通過單片機引腳發(fā)送不同的高低電平完成不同的顯示內容,采用的方式是并口連接,優(yōu)點是顯示速度快,缺點是占用單片機引腳資源較多。顯示屏的15腳和16腳是背光板的電源引腳,通電之后背光板就會點亮,清晰的把顯示的內容凸顯出來,1腳和2腳是顯示屏的電源引腳,3腳是對比度調節(jié),在其外部一般連接一個10k的滑動電阻,通過改變阻值從而改變3腳電壓,也可以使用定值電阻,根據(jù)經驗使用4.7K電阻可以正常顯示。4/5/6引腳是液晶顯示屏的命令控制引腳,對液晶顯示屏進行讀取數(shù)據(jù)和寫入命令數(shù)據(jù)是依靠這三個引腳完成,所采用的協(xié)議是SPI協(xié)議,這里的命令包括開啟液晶、字符大小、閃爍變換、清屏等命令。3.4按鍵模塊電路設計按鍵電路作為輸入信號接入系統(tǒng),在系統(tǒng)中完成響應的功能操作,一般的情況下主要負責控制輸出模塊的命令按鈕和系統(tǒng)設置參數(shù)的功能按鈕,盡管在設計程序時會有使用功能的區(qū)別,但是在硬件電路的設計原理卻是一致的。在硬件設計的方式上分為矩陣式和獨立式,本次采用獨立式按鍵。按鍵的使用原理比較簡單,無論何種的硬件接入方式,其本質是實現(xiàn)對高低電平的信號檢測,當檢測到有電平信號發(fā)生改變,即可判斷按鍵發(fā)生動作[13]。對于按鍵動作的檢測,程序設計中需要應用具體的處理方式解決按鍵機械抖動的問題,一般情況是延時10ms作為機械去抖,確保按鍵信號檢測的準確性,防止誤動作發(fā)生,引起按鍵程序的錯誤判斷。該按鍵一端與單片機連接,一端全部接地,檢測與按鍵相連接的單片機引腳,當電平為0時,判斷執(zhí)行按鍵動作。按鍵電路的硬件電路如圖3.5所示。圖3.5按鍵模塊電路3.5雨滴采集電路設計傳感器選取YL-69雙面材料,雨滴接收超大面積5.0*4.0CM,輸出形式為數(shù)字開關量輸出(0和1)和模擬量AO電壓輸出[14];接上5V電源,電源指示燈亮,感應板上沒有水滴時,DO輸出為高電平,開關指示燈滅,滴上一滴水,可以連接單片機的AD口檢測滴在上面的雨量大小[15]。1腳接5V電源,加上10k電阻保護電路,因為電壓過大會擊穿電路,2腳接地,加個旁路電容與1管腳一起連接ADC0832的2管腳(模擬輸入通道),表示以ch0輸入信號。電路連接如圖3.6所示。圖3.6雨滴電路圖3.6ADC模數(shù)電路設計ADC0832模數(shù)芯片作用是實現(xiàn)模擬數(shù)據(jù)量到數(shù)字數(shù)據(jù)量的轉換,最大轉換的數(shù)字數(shù)據(jù)量為256,芯片內部具有兩個模擬通道,可同時實現(xiàn)兩路數(shù)字數(shù)字量的轉換,工作電壓在5V以內,轉換的基準以電源地為轉換的基準,所有的模擬電壓以對地為準的模擬電壓,模擬電壓最大不能超過5V,否則將會超出轉化的量程,轉換的電壓值將以數(shù)值量的形式通過IIC協(xié)議與單片機進行數(shù)據(jù)傳輸,IIC協(xié)議是ADC0832與外部單片機進行數(shù)據(jù)交換的協(xié)議準則。8管腳接電源,4管腳接地,5管腳表示數(shù)據(jù)信號輸入,6管腳表示數(shù)據(jù)信號輸出,為節(jié)約IO口資源,所以DO與DI并聯(lián)在一起使用,即5腳與6腳相連。將芯片電路如圖3.7所示。圖3.7模數(shù)電路圖3.7語音電路設計LD3320是由ICRoute公司設計的一款48腳QFN塑料封裝的語音識別芯片,LD3320芯片的應用電路由單片機和LD3320組成[16]。LD3320的語音識別:對輸入的語音與芯片儲存的列表內容進行相似度識別,最后相似度最高的內容作為識別的結果[17]。該芯片有語音識辨處理器和A/D,D/A等轉換電路[18]。LED加上保護電阻一端接電源,一端接單片機16管腳,即外部數(shù)據(jù)儲存器寫選通,LD3320模塊4管腳接電源,1管腳接地,3管腳接入單片機的串行輸入口P3.0,LD3320注重節(jié)能環(huán)保,且非常高效率,直接集成現(xiàn)有產品,不需要任何外部輔助芯片如Flash,RAM來進行外接。電路圖如3.8所示。圖3.8語音識別電路圖3.8步進電機電路設計本次設計的步進電機為28BYJ-48型步進電機,它所表示的是永磁式減速型的4相8拍的步進電機,再不進電機的內部有六個齒子,定義的編號是0-5,每個齒子上面都是永磁型的磁鐵,這就是永磁式。在齒子的外部是定子,定子與外殼相連,固定不動,同時在定子上纏繞著繞組,一共8個,其中兩兩一組,共計四組,這樣就形成了四項。步進電機在工作的時候,總是其中另個端子通電,產生的磁場帶動電機旋轉,當電機轉動到下一個位置是又切換到另一組工作,這樣周而復始的帶動電機工作。電機工作需要很大的電流,單片機本身的驅動能力比較弱,無法驅動電機,這就需要電機的驅動板,本次使用的電機驅動板是2003,增強單片機引腳的驅動能力,單片機驅動電機一共需要4個引腳,4個引腳兩兩一組,不停地切換,驅動步進電機。如圖3.9所示。從單片機輸出4路脈寬調制信號,每兩路相位相差180°,兩兩組合形成4相輸出,經過驅動電路ULN2003A后放大驅動能力,電機通過一個5PIN接插件接入,此時通過控制單片機的四路脈寬調制信號就能夠控制步進電機的轉動角度了。圖3.9步進電機電路圖
4系統(tǒng)軟件設計本次程序設計采用的編程語言是C語言,C語言具有簡單易懂,邏輯判斷能力突出等特點,編寫程序的開發(fā)軟件是Keil軟甲,在設計中,首先完成的是主函數(shù)的框架結構,在框架結構中布置各個子程序的分區(qū)功能,根據(jù)邏輯的執(zhí)行確定子程序的先后執(zhí)行順序,主函數(shù)框架編寫完成之后,開始進行子函數(shù)功能編寫,根據(jù)每一個的功能實現(xiàn)代碼設計,每完成一個子程序就可以進行Keil軟件編譯,編譯成功將HEX文件下載到單片機運行,運行成功后進行下一個子函數(shù)編寫,直到全部功能調試完畢。4.1系統(tǒng)程序設計軟件介紹程序軟件設計所指的就是程序代碼的設計,程序代碼通過語言來進行編寫,語言再通過編譯軟件編譯成單片機能識別的只有1和0的邏輯語言。程序員所編寫的是C語言或者匯編語言,通過工具完成編寫語言到機器語言的裝換,這個工具就是單片機的開發(fā)軟件,我們所使用的開發(fā)軟件是KEIL軟件,使用的是C語言,KEIL軟件將這種語言翻譯成機器語言,也就是前文提到的只有0和1的邏輯語言,將其下載到單片機中,使單片機按照語言的邏輯運行。KEIL軟件的功能極為強大,執(zhí)行的工作不僅僅是翻譯高級語言,同時還會查找高級言中的錯誤,并且進行提示,指出錯誤的地方,方便程序員進行修改。KEIL軟件的開發(fā)界面給人一種干凈整潔的觀感,沒有絲毫的雜亂,簡單明了的指令系統(tǒng)得到眾多程序員的認可,是最受歡迎的軟件之一,KEIL軟件涵蓋了眾多型號的單片機庫,很多的單片機都可以使用KEIL軟件直接進行開發(fā),無需對新的開發(fā)環(huán)境進行了解,節(jié)省開發(fā)的時間。新建工程界面如下圖4.1所示。圖4.1新建工程界面程序編寫KEIL的界面如下圖4.2所示。圖4.2程序編寫KEIL下載程序界面如圖4.3所示。圖4.3HEX文件下載界面4.2系統(tǒng)主程序系統(tǒng)的程序分為主程序和子程序,這也是模塊化編程的基本思路,所有的子程序都需要圍繞主函數(shù)展開,可以說主函數(shù)是整個系統(tǒng)的核心,主函數(shù)對系統(tǒng)的功能進行分層處理,架構起系統(tǒng)編程的框架,在框架下運行每一個子程序,通過順序執(zhí)行子函數(shù)完成系統(tǒng)的功能設計。首先進行系統(tǒng)的初始化和顯示初始化,之后進行雨滴檢測功能,當檢測雨量大于限值,步進電機開始帶動雨刷器工作,雨滴小于限值時停止步進電機工作,檢測的雨滴數(shù)據(jù)通過顯示模塊進行顯示,之后程序循環(huán)執(zhí)行。4.3液晶顯示子程序本設計的顯示程序采用的是LCD1602顯示,顯示程序首先開始進行初始化、然后設置坐標位置,這個時候顯示等于0則顯示結束,顯示不等于0則需要用發(fā)送函數(shù)進行顯示,顯示一位之后,顯示指針自動加1,繼續(xù)判斷字符是否為零,直到字符不等于零則結束顯示。LCD顯示流程圖如圖4.4所示。圖4.5LCD顯示流程圖液晶顯示模塊部分程序如下:voidLCD1602_cls(){LCD1602_write(0,0x01);LCD1602_delay(1500);LCD1602_write(0,0x38);LCD1602_delay(1500);LCD1602_write(0,0x0c);LCD1602_write(0,0x06);LCD1602_write(0,0xd0);LCD1602_delay(1500);}首先使用voidLCD1602_cls()對LCD1602進行初始化,然后用LCD1602_write(0,0x01)對LCD1602進行清屏操作,這時候LCD1602顯示可能會出現(xiàn)抖動,因此需要用LCD1602_delay(1500)來進行延時。接下來用LCD1602_write(0,0x0c)來進行光標的設置,同樣需要LCD1602_delay(1500)來進行延時。當初始化完畢之后,LCD1602就可以顯示內容了。4.4按鍵電路程序本次設計的按鍵程序采用的是獨立式的按鍵設計,按鍵子程序是一個實時的掃描過程,對按鍵檢測首先是判斷按鍵是否有動作,如果沒有動作,一直處于主程序循環(huán)的掃描中,當檢測到有動作之后,要進行去抖的延時檢測,防止按鍵的機械性誤動作,延時檢測之后,對按鍵進行再次掃描,按鍵仍為有效值,則對按鍵值進行判斷,判斷完畢后等待按鍵釋放,之后執(zhí)行按鍵的功能。本次設計的按鍵功能主要是設置參數(shù)。流程圖程序圖如4.5所示。圖4.5按鍵讀取流程圖按鍵控制模塊部分程序如下:sbitkey_1=P3^1;sbitkey_2=P3^2;sbitkey_3=P3^3;sbitkey_4=P3^4;按鍵電路程序通過判斷電壓來判斷是否有按鍵動作,我們需要用到四個按鍵,分別是設置覆水量上下限值、模式切換、手動開關鍵四個功能。本系統(tǒng)中的按鍵是連接的是P3.1-P3.4,當有個按鍵的電平變成0了,則表示該按鍵被按下。4.5語音識別程序語音識別程序由語音控制模塊LD3320識別來控制完成,語音識別程序的流程是,初始化之后判斷識別指令與芯片儲存的列表內容進行相似度識別,最后相似度最高的內容作為識別的結果,如果識別失敗則重新識別指令,語音識別模塊的程序如圖4.6所示。圖4.6語音識別模塊程序按鍵控制模塊部分程序如下:uint8RunASR(void){uint8i=0;uint8asrflag=0;for(i=0;i<5;i++){LD_AsrStart();delay(50);if(LD_AsrAddFixed()==0){LD_Reset();delay(50);continue;}delay(10);if(LD_AsrRun()==0){LD_Reset();delay(50);continue;}asrflag=1;break;}returnasrflag;}利用RunASR()函數(shù)實現(xiàn)了一次完整的ASR語音識別流程,之后利用for(i=0;i<5;i++)語句去防止由于硬件原因導致LD3320芯片工作不正常,所以一共嘗試5次啟動ASR識別流程,這時候利用LD_AsrStart()函數(shù)實現(xiàn)ASR初始化,在用if(LD_AsrAddFixed()==0)語句去判斷芯片內部是否出現(xiàn)不正常,當正常啟動后就會退出當前for循環(huán)。這時候就開始等待LD3320發(fā)送出的中斷信號。
5系統(tǒng)仿真與制作測試5.1系統(tǒng)仿真系統(tǒng)仿真的優(yōu)勢是可以實時觀測系統(tǒng)內部的運行狀態(tài),我們在進調試時會不可避免的出現(xiàn)一些錯誤,這時候無論從硬件和軟件有時都很難發(fā)現(xiàn)錯誤,但我們如果進行仿真去檢測錯誤就會方便很多。系統(tǒng)仿真圖如5.1所示。圖5.1系統(tǒng)仿真圖在仿真過程中,出現(xiàn)了在自己創(chuàng)建的元器件上無法連線的情況,原因是管腳之間的距離太小了,后來重新編輯無法連線的元器件,把它的管腳間距調大一些就解決了這個問題。在仿真過程中庫里會經常找不到元器件,比如LD3320芯片,如果庫中沒有的話,我們可以通過找資料查詢芯片手冊來了解元器件功能來制作功能相近的原件。5.2系統(tǒng)制作實物設計主要包括以下幾個步驟:(1)焊接實物是實物產品設計最為基礎的分部,實物焊接是否正確決定實物功能是否能夠實現(xiàn),在這一過程中需要對傳感器元器件進行確認,對元器件的引腳功能進行辨別,通過對比元器件的技術手冊的引腳定義與原理圖設計進行比對,確定無誤后進行焊接,焊接時需要對焊接的溫度進行控制,尤其對一些不耐熱的器件需要快速準確完成焊接。(2)焊接完畢后的檢查工作,肉眼檢查器件有沒有反向焊接,檢查引腳所焊接的位置和線路的連接,電路板上的焊點是否存在忘記焊接的現(xiàn)象,密集的焊點之間是否存在著連在一起的錯誤,這些可能出現(xiàn)的表面問題需要依靠肉眼完成檢查,再檢查的過程中做到細致、認真、耐心,需要條理清晰的逐一檢查,以免漏檢在后期上電的時候出現(xiàn)器件不可逆的損害。(3)通路實驗檢測,依靠萬用表工具對線路進行檢查,使用萬用表的通斷測試檔位,對電路板的電源和地進行測量,這一步是為了避免最為嚴重的短路現(xiàn)象發(fā)生,一旦發(fā)生就會對電路板上的所有器件造成一定的損害,使部分功能失效,影響后續(xù)的功能調試。電源故障排除之后,對其他的線路按照原理圖一一測試,逐一排查,直到全部測試完畢。(4)實物通電試驗,實物上電后,對于弱電部分可以用手背感測器件的溫度,溫熱表明器件正常工作,過熱說明器件工作不正常,需要重新檢測。使用萬用表的電壓檔位測試各個部分的電壓是否正常。(5)實物調試,在實物調試中需要程序代碼寫入到實物中運行,運行時可以將功能進行模塊化調試,對每一個功能單一調試,保證單一功能的程序正確性,所有功能逐一調試之后,進行總體調試,完成系統(tǒng)的功能設計。(6)實物性能測試,性能測試建立在功能全部實現(xiàn)基礎之上,通過程序代碼的運行邏輯,對實物的運行速度、控制器的反應時間、極限數(shù)據(jù)測量等等進行測試,不斷的通過優(yōu)化代碼設計,完成性能的測試工作。焊接的圖片如圖5.2所示:圖5.2系統(tǒng)焊接圖系統(tǒng)實物圖片如圖5.3所示:圖5.3系統(tǒng)實物圖5.3硬件調試實物的通電測試在系統(tǒng)設計中是一個關鍵的節(jié)點,通電后通過觀察顯示屏或者指示燈是否被點亮來確定通電后的實物是否正常工作,若果沒有被點亮說明實物存在問題,需要立即斷電查找原因,使用萬用表進行線路的測量,查明原因將其解決,重新通電觀察,實物正常工作后,用手背感受各個傳感器的溫度,沒有存在發(fā)熱的現(xiàn)象,說明所有的器件均可以正常工作。上電測試圖如圖5.4所示。圖5.4系統(tǒng)上電測試圖5.4軟件調試實物通電成功以后,開始進行實物軟件與硬件的聯(lián)合調試工作,在聯(lián)合調試中首先需要完成人機交互的顯示屏調試工作,顯示內容的正確與否,直觀的顯示出程序的代碼是否正確,本次設計的第一次調試中,顯示屏的顯示工作并不正確,出現(xiàn)了白屏的現(xiàn)象。界面如圖5.5所示。圖5.5顯示方框程序出現(xiàn)問題后,立即進行錯誤原因的查找工作,首先查找硬件接線的問題,引腳線路是否出現(xiàn)錯接問題,通過硬件的排查,引腳在接線上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度風電項目合作勘查合同3篇
- 2025年度金融機構外匯借款合同范本(含貸款用途說明)3篇
- 2025年度衡陽某旅游公司導游勞動合同2篇
- 教育科技前沿下的動畫型安全教育宣導資料編纂探討
- 提升客戶服務質量的培訓與教育
- 教育機構安全工作生產計劃的制定與實施
- 教育技術與少兒教育的未來發(fā)展
- 家用智能健身器材的選購與使用指南
- 小學生數(shù)學邏輯思維與語言表達能力培養(yǎng)的關聯(lián)性研究
- 提升學科競賽能力的課外活動實踐指南
- DB33T 2570-2023 營商環(huán)境無感監(jiān)測規(guī)范 指標體系
- 上海市2024年中考英語試題及答案
- 房屋市政工程生產安全重大事故隱患判定標準(2024版)宣傳海報
- 房屋市政工程生產安全重大事故隱患判定標準(2024版)宣傳畫冊
- 垃圾車駕駛員聘用合同
- 2025年道路運輸企業(yè)客運駕駛員安全教育培訓計劃
- 南京工業(yè)大學浦江學院《線性代數(shù)(理工)》2022-2023學年第一學期期末試卷
- 2024版機床維護保養(yǎng)服務合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認定》
- 工程融資分紅合同范例
- 2024年貴州省公務員錄用考試《行測》真題及答案解析
評論
0/150
提交評論