電子信息工程自動(dòng)化 基于單片機(jī)的汽車雨刷器裝置_第1頁(yè)
電子信息工程自動(dòng)化 基于單片機(jī)的汽車雨刷器裝置_第2頁(yè)
電子信息工程自動(dòng)化 基于單片機(jī)的汽車雨刷器裝置_第3頁(yè)
電子信息工程自動(dòng)化 基于單片機(jī)的汽車雨刷器裝置_第4頁(yè)
電子信息工程自動(dòng)化 基于單片機(jī)的汽車雨刷器裝置_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

引言1.1課題背景最近的十幾年里,科學(xué)技術(shù)呈現(xiàn)跨越式發(fā)展,尤其是單片機(jī)技術(shù)和傳感器技術(shù)發(fā)展地尤為迅猛,單片機(jī)與傳感器在各類電子產(chǎn)品中得到廣泛應(yīng)用,依靠單片機(jī)優(yōu)秀的邏輯控制能力和傳感器各種信息量的采集能力,眾多的智能設(shè)備不斷的出現(xiàn)在人們的視野當(dāng)中。這些智能設(shè)備在生活中給人們盡可能最大的便捷,農(nóng)業(yè)中為科學(xué)種植提供各種環(huán)境參數(shù),工業(yè)中可以替代人工去完成工作,極大的節(jié)約了人力成本,提高了生產(chǎn)效率。單片機(jī)的應(yīng)用在各行各業(yè)中占據(jù)著舉足輕重的地位,尤其在近幾年的大數(shù)據(jù)領(lǐng)域中,單片機(jī)為終端數(shù)據(jù)采集做出了巨大的貢獻(xiàn)。汽車在人們?nèi)粘I钪衅鸬搅酥匾淖饔茫S著中國(guó)經(jīng)濟(jì)的高速發(fā)展與國(guó)民經(jīng)濟(jì)的普遍提高,汽車已經(jīng)進(jìn)入了各家各戶。當(dāng)汽車不再是一種奢侈品之后,大家對(duì)汽車的功能要求也越來(lái)越高?,F(xiàn)代汽車功能為了滿足日常生活中人們的出行需求、出行安全、節(jié)能環(huán)保而日漸提高。據(jù)統(tǒng)計(jì),全世界雨天行車的車禍?zhǔn)鹿视?%是因?yàn)樗緳C(jī)手動(dòng)打開雨刷分心導(dǎo)致的[1],現(xiàn)在隨著汽車生產(chǎn)公司將各種各樣的電子器件投入到汽車制造上,汽車的功能也逐漸趨于智能化[2],這部分問(wèn)題也逐漸得以改善。該設(shè)計(jì)內(nèi)容為汽車的雨刷智能控制,雨刷的歷史源于德國(guó)博世公司發(fā)明的電動(dòng)刮水器,起初只是個(gè)刮片,隨著感應(yīng)噴水器等機(jī)械的出現(xiàn),逐漸發(fā)展成了現(xiàn)在的刮水器[3]。伴隨著雨滴傳感器、語(yǔ)音識(shí)別等技術(shù)革新,現(xiàn)在提出了一種新的智能雨刷控制器——通過(guò)雨滴采集電路感應(yīng)前車玻璃的覆水量值和通過(guò)語(yǔ)音識(shí)別指令來(lái)控制雨刷器的轉(zhuǎn)速[4]。目前,只有BOSCH公司能夠生產(chǎn)出達(dá)到標(biāo)準(zhǔn)的智能雨刷。因?yàn)橹悄苡晁⒖刂破鲀r(jià)格昂貴,基本應(yīng)用于高檔車型上,普通車型多數(shù)依舊應(yīng)用舊式雨刷[5]。1.2研究意義該課題研究的是通過(guò)51單片機(jī)實(shí)現(xiàn)汽車雨刷器的自動(dòng)控制,該雨刷控制系統(tǒng)可通過(guò)車窗覆水量和語(yǔ)音指令來(lái)控制雨刷器的轉(zhuǎn)速??梢允柜{駛者在能見(jiàn)度極低的下雨天道路不用分散注意力去打開雨刷器的開關(guān),極大的降低了此類事故的發(fā)生,并且能更好的適應(yīng)人們的出行需要。智能化是當(dāng)今社會(huì)的發(fā)展方向,近幾年移動(dòng)支付,人臉識(shí)別,語(yǔ)音語(yǔ)義識(shí)別等智能技術(shù)廣泛應(yīng)用,而姿態(tài)識(shí)別,協(xié)同目標(biāo)檢測(cè)等智能方向也日益成熟,而汽車的智能化除了無(wú)人駕駛以外,其他汽車功能智能化發(fā)展極為緩慢,該雨刷智能系統(tǒng)的提出與實(shí)現(xiàn)意味著這場(chǎng)汽車功能的智能改革已經(jīng)開始。1.3研究綜述1.3.1國(guó)外研究和發(fā)展現(xiàn)狀雨刷器本身屬于汽車的一個(gè)小功能器件,在汽車剛開始被投入使用的時(shí)候,研發(fā)公司并沒(méi)有發(fā)明與之對(duì)應(yīng)的雨刷器和擋風(fēng)玻璃,駕駛員和乘客需要佩戴護(hù)眼目鏡來(lái)防止風(fēng)沙進(jìn)入眼睛,但效果并不顯著,因此發(fā)明了擋風(fēng)玻璃。可當(dāng)防止風(fēng)沙,風(fēng)雪等問(wèn)題解決的時(shí)候,清除擋風(fēng)玻璃上殘留的污垢又成了一個(gè)巨大的難題,經(jīng)常會(huì)影響行車視野,人們?cè)噲D用抹布和蔬菜等拭擦,但不見(jiàn)成效,而且在行車途中也不可能拿抹布拭擦。最后在20世紀(jì)初美國(guó)的一位富家千金經(jīng)過(guò)多次試驗(yàn)終于發(fā)明出了汽車雨刷器,起初雨刷器的誕生并沒(méi)有人看好,許多工廠都不愿意生產(chǎn),但隨著第二次世界大戰(zhàn)結(jié)束,大型機(jī)械和電子器件廣泛用于日常生活中,這個(gè)時(shí)候雨刷器終于被世人接受,功能也逐漸完善。從單純的刮片到兩段式雨刷器,再由兩段式雨刷器到真空泵驅(qū)動(dòng)的自動(dòng)雨刷器,一直發(fā)展到了現(xiàn)在,這個(gè)小小的汽車配件在一個(gè)多世紀(jì)以來(lái)拯救了無(wú)數(shù)人的生命。目前國(guó)外生產(chǎn)的雨刷種類比我們想象的復(fù)雜很多,有傳統(tǒng)的間歇式雨刷器,雨珠感應(yīng)式雨刷,隨速感應(yīng)式雨刷器,無(wú)骨雨刷等,并且國(guó)外在雨刷器發(fā)展這方面一直保持創(chuàng)新,相信在未來(lái)會(huì)有更多方便的雨刷功能問(wèn)世。1.3.2國(guó)內(nèi)研究和發(fā)展現(xiàn)狀汽車工業(yè)作是我國(guó)高速發(fā)展的支柱產(chǎn)業(yè),但是雨刷在我國(guó)始終沒(méi)有得到創(chuàng)新的發(fā)展,汽車研發(fā)公司也沒(méi)有重視雨刷器。在大多數(shù)駕駛者眼里,普通雨刷器已經(jīng)足夠能滿足他們的行駛需求了,并且由于新的智能雨刷在推廣時(shí)并沒(méi)有老式雨刷那樣全面,導(dǎo)致駕駛者接受智能雨刷器需要一段過(guò)渡的時(shí)間。國(guó)內(nèi)的雨刷現(xiàn)狀與國(guó)外相差不大,只是在創(chuàng)新研發(fā)方面略微落后于國(guó)外,新的智能雨刮系統(tǒng)不是正在測(cè)試,就是沒(méi)有相應(yīng)市場(chǎng)的宣傳。1.4系統(tǒng)設(shè)計(jì)總體思路設(shè)計(jì)項(xiàng)目是需要一個(gè)完整的總體思路作為指導(dǎo),總體思路的正確會(huì)使項(xiàng)目在設(shè)計(jì)的過(guò)程中順利執(zhí)行,避免走入誤區(qū),一般項(xiàng)目在設(shè)計(jì)時(shí)通常會(huì)考慮以下的內(nèi)容:(1)硬件設(shè)計(jì):硬件設(shè)計(jì)是基礎(chǔ)型的原理性設(shè)計(jì),首先就是對(duì)核心的單片機(jī)進(jìn)行選擇,根據(jù)單片機(jī)的型號(hào)、內(nèi)存、引腳數(shù)量、運(yùn)行速度等等參數(shù),再結(jié)合項(xiàng)目的需求選取合適的單片機(jī)。其次需要對(duì)傳感器的性能、功能進(jìn)行全面的掌握,尤其是在傳感器引腳的使用方面更要全面了解,通過(guò)查找傳感器的器件手冊(cè)了解傳感器的引腳分布和封裝尺寸,這樣才能選取符合的傳感器。在所有需要的模塊確定完畢之后,進(jìn)行原理圖的繪制,繪制過(guò)程中不斷的參考資料,完成原理圖設(shè)計(jì)。最后對(duì)照原理圖完成實(shí)物的焊接工作。(2)軟件設(shè)計(jì):軟件設(shè)計(jì)是依托于硬件原理之上進(jìn)行設(shè)計(jì)的,硬件需要軟件來(lái)運(yùn)行功能,軟件需要硬件實(shí)現(xiàn)功能,在本質(zhì)上是一個(gè)相互依存的關(guān)系,軟件設(shè)計(jì)必須嚴(yán)格對(duì)照硬件引腳進(jìn)行代碼的編寫,否則將無(wú)法實(shí)現(xiàn)所需要的功能,對(duì)于大多數(shù)的時(shí)候,為了代碼編寫方便需要隨時(shí)調(diào)整硬件引腳的位置。在軟件代碼設(shè)計(jì)的時(shí)候,第一步完成的就是主程序的框架設(shè)計(jì),框架中可以沒(méi)有具體的功能,但必須要層次清晰,為不同功能的子程序分配位置,避免相互干擾,出現(xiàn)混亂。主程序的框架結(jié)構(gòu)搭建完成之后,就需要編寫各個(gè)子程序的代碼,實(shí)現(xiàn)模塊化設(shè)計(jì)。(3)系統(tǒng)的測(cè)試:系統(tǒng)測(cè)試在設(shè)計(jì)中是非常重要的,測(cè)試中會(huì)發(fā)現(xiàn)設(shè)計(jì)的缺陷,硬件和軟件在設(shè)計(jì)的過(guò)程中難免會(huì)出現(xiàn)偏差[6],細(xì)微的偏差將會(huì)導(dǎo)致功能的不可實(shí)現(xiàn),尤其在功能相互重疊的地方,子功能調(diào)試都沒(méi)有問(wèn)題,整體調(diào)試卻出現(xiàn)功能不可控,這就需要優(yōu)化代碼或者變更硬件來(lái)解決。在反復(fù)的測(cè)試中查找問(wèn)題,優(yōu)化代碼,使整個(gè)項(xiàng)目功能達(dá)到滿意。

2系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)內(nèi)容系統(tǒng)硬件設(shè)計(jì)框圖如圖2.1所示,其中單片機(jī)最小系統(tǒng)起到中樞的作用;LCD1602顯示模塊主要功能是顯示覆水量大小,雨刷轉(zhuǎn)速擋位,控制狀態(tài)以及覆水量上限值和下限值;鍵盤模塊主要是對(duì)覆水量量下限值的設(shè)置和對(duì)控制狀態(tài)(自動(dòng)或者手動(dòng))的設(shè)置;語(yǔ)音電路識(shí)別語(yǔ)音指令進(jìn)而控制雨刷轉(zhuǎn)動(dòng);雨滴傳感電路采用專用的濕度傳感器,需要經(jīng)過(guò)數(shù)模轉(zhuǎn)換電路傳送給單片機(jī)。主要研究?jī)?nèi)容如下:(1)完成雨滴傳感器的硬件電路設(shè)計(jì),軟件程序設(shè)計(jì),將數(shù)據(jù)采集到單片機(jī);(2)完成步進(jìn)電機(jī)的電路設(shè)計(jì),軟件程序設(shè)計(jì);(3)完成電機(jī)驅(qū)動(dòng)的電路設(shè)計(jì),確定驅(qū)動(dòng)電平;(4)完成模數(shù)轉(zhuǎn)換的電路設(shè)計(jì),軟件程序設(shè)計(jì),將模擬量轉(zhuǎn)換數(shù)字量;(5)完成顯示器的電路設(shè)計(jì),軟件程序設(shè)計(jì),將單片機(jī)數(shù)據(jù)進(jìn)行顯示;(6)通過(guò)按鍵具有設(shè)置參數(shù)功能;(7)完成語(yǔ)音識(shí)別LD3320的電路設(shè)計(jì),軟件程序設(shè)計(jì)。圖2.1硬件框圖2.2系統(tǒng)方案論證2.2.1主控方案選擇主控器件是系統(tǒng)最為核心的器件,是協(xié)調(diào)整個(gè)系統(tǒng)運(yùn)行、協(xié)調(diào)外部傳感器一起工作的核心模塊,所以對(duì)于主控器件的選擇尤為重要,選取原則是既要滿足預(yù)算要求,又要滿足所必須的功能。方案選擇1:選擇32位單片機(jī)STM32,STM32單片機(jī)是一款功能和性能都非常優(yōu)越的單片機(jī),內(nèi)部存儲(chǔ)單元采用32個(gè)比特位作為存儲(chǔ)單元,采用ARM內(nèi)核架構(gòu),在內(nèi)核中可以直接運(yùn)行系統(tǒng),內(nèi)核系統(tǒng)分為M0、M1、M2、M3、M4。STM32單片機(jī)的應(yīng)用比較晚,但是發(fā)展特別迅速,目前國(guó)內(nèi)部分大學(xué)應(yīng)用STM32單片機(jī)教學(xué),并且市場(chǎng)上的商用電子產(chǎn)品幾乎都是STM32單片機(jī)為核心開發(fā)的,但需要專門的燒寫器,在使用方面幾乎不存在缺點(diǎn),唯一的問(wèn)題是對(duì)于初學(xué)者而言,針對(duì)庫(kù)函數(shù)開發(fā)還存在一定的困難。方案選擇2:選擇STC單片機(jī),STC單片機(jī)應(yīng)用比較早,采用最原始的8位寄存器存儲(chǔ)數(shù)據(jù)[7],使用的是51的內(nèi)核,在處理數(shù)據(jù)的速度方面相比較而言,速度比較慢,程序存儲(chǔ)空間有限,所以對(duì)于大型系統(tǒng)功能并不適用。但是STC單片機(jī)的優(yōu)勢(shì)也非常明顯,在網(wǎng)絡(luò)上和書籍中有著豐富的學(xué)習(xí)資料和使用例程,對(duì)于初學(xué)而言,一般都是首選的一款單片機(jī),在單片機(jī)的資源中,相對(duì)于一般的小型系統(tǒng)是足夠用的,并且在使用中很方便,搭載最小系統(tǒng)就可以獨(dú)立運(yùn)行,程序的下載功能使用串口進(jìn)行下載,不需要專用的燒寫器進(jìn)行程序下載,對(duì)于單片機(jī)的費(fèi)用而言,STC單片機(jī)是最為經(jīng)濟(jì)劃算的。方案選擇3:選擇MSP430單片機(jī),MSP430型號(hào)的單片機(jī)是一款具有眾多齊全功能的單片機(jī)[8],其內(nèi)部資源非常豐富。在使用方面,一部分在工業(yè)控制場(chǎng)合使用的非常多,原因是內(nèi)核設(shè)計(jì)部分采用8總線架構(gòu),對(duì)電磁的抗干擾性能極為強(qiáng)大,一般使用在手持設(shè)備中,具有非常好低功耗性能。消費(fèi)類電子產(chǎn)品中一般并不多見(jiàn),主要市場(chǎng)是工業(yè)產(chǎn)品,在單片機(jī)的開發(fā)設(shè)計(jì)中,需要專門的開發(fā)工具,網(wǎng)絡(luò)和數(shù)籍中所介紹的知識(shí)比不多,相對(duì)而言,開發(fā)存在很大的困難,在價(jià)格方面比價(jià)昂貴,對(duì)于預(yù)算有限的項(xiàng)目來(lái)說(shuō),一般并不考慮此款單片機(jī)。綜上所述,通過(guò)比對(duì)三款單片機(jī)的功能,綜合考慮可操作性和經(jīng)濟(jì)方面,本次的開發(fā)選擇STC系列的單片機(jī)。2.2.2電源電路選擇方案一:采用市電220V交流電壓作為系統(tǒng)的供電方式,220V交流電源需要通過(guò)變壓器電路轉(zhuǎn)為直流的電壓才能給系統(tǒng)供電,并且在交流電壓轉(zhuǎn)為直流電壓的過(guò)程中需要進(jìn)行濾波、整流等等的電路設(shè)計(jì),電路設(shè)計(jì)比較繁雜,并且在實(shí)驗(yàn)中會(huì)出現(xiàn)危險(xiǎn)的情況,一旦線路錯(cuò)誤,就會(huì)出現(xiàn)強(qiáng)電短路,危險(xiǎn)程度極高,另一方面在轉(zhuǎn)化中會(huì)出現(xiàn)多級(jí)轉(zhuǎn)換的,由220V交流變?yōu)?2V直流再變5V直流[9],這種多級(jí)裝換并且進(jìn)行濾波整流的電源電路設(shè)計(jì)極為復(fù)雜,對(duì)所使用的器件需要很高匹配程度,設(shè)計(jì)的復(fù)雜性是他最大的缺點(diǎn)。雖然電路復(fù)雜,但是他的優(yōu)點(diǎn)也同樣突出,輸出功率較大,對(duì)于需要大功耗的器件具有無(wú)法比擬的優(yōu)勢(shì),在輸出時(shí)的特點(diǎn)是持續(xù)穩(wěn)定,能夠提供優(yōu)質(zhì)的功能能力。方案二:電源采用USB接口電源供電,USB電源是現(xiàn)代生活中一種比較常見(jiàn)的供電電源,比如電腦USB接口、手機(jī)充電頭、電源插座等地方都有USB接口,USB接口供電發(fā)展起步比較晚,但是發(fā)展迅猛,幾年時(shí)間迅速占領(lǐng)5V電源領(lǐng)域?,F(xiàn)在的使用中USB電源幾乎隨處可見(jiàn),供電的技術(shù)也越來(lái)越走向成熟,輸出電壓的能力比較穩(wěn)定,相對(duì)來(lái)說(shuō)很安全。系統(tǒng)本身并不需要太大的功率要求,但是需要穩(wěn)定的供電能力,USB電源極為符合弱電系統(tǒng)的要求,所以USB電源非常適合弱電系統(tǒng)供電。方案三:電源采用鋰電池進(jìn)行供電,鋰電池的應(yīng)用比較廣泛,安全性能很高,電池具有相當(dāng)程度的穩(wěn)定性,可以進(jìn)行充電循環(huán)使用,一般應(yīng)用在手持設(shè)備或者便攜式設(shè)備中,可以不局限任何地點(diǎn)、任何場(chǎng)合使用。鋰電池的電壓一般為3.7V左右,一般在使用的時(shí)候需要升壓之后在穩(wěn)壓使用在弱電系統(tǒng)中,由于鋰電池材料的特點(diǎn),需要對(duì)鋰電池進(jìn)行低電壓檢測(cè),若果電池電壓過(guò)低還在使用,就會(huì)對(duì)鋰電池的內(nèi)部材料造成永久性的損害,影響鋰電池的使用次數(shù),最大的缺陷就是供電不具有持續(xù)性,需要間隔的時(shí)間充電,輸出電源的能力有限,除非是便攜式的設(shè)備,一般不宜采用鋰電池功能。通過(guò)比對(duì)三種方案,從安全性和接電方便綜合考慮,本次設(shè)計(jì)采用方案二的設(shè)計(jì)方式,采用USB的供電方式來(lái)作為電源。2.2.3按鍵電路選擇按鍵在系統(tǒng)中的占比很小,但是作用卻很大,是實(shí)現(xiàn)人機(jī)對(duì)話的重要組成部分,通過(guò)按鍵的輸入實(shí)現(xiàn)一定功能,對(duì)功能顯像的觀察,判斷是否達(dá)到設(shè)計(jì)預(yù)期,從而實(shí)現(xiàn)人機(jī)的信息交互。按鍵在大多數(shù)的時(shí)候是完成參數(shù)的設(shè)置、功能控制、顯示屏的翻頁(yè)功能等等。按鍵在系統(tǒng)中一般會(huì)以兩種方式出現(xiàn),一種是鍵盤模式,一種是獨(dú)立模式。按鍵設(shè)計(jì)的方案1:鍵盤模式也叫矩陣按鍵,通常情況是4*4按鍵組成的,在程序的IO掃描中,通過(guò)橫向和縱向的掃描交叉點(diǎn)確定按鍵動(dòng)作,這樣的按鍵設(shè)計(jì)為了節(jié)省單片機(jī)的IO資源,8個(gè)IO引腳就可以完成16個(gè)按鍵的工作測(cè)試,極大的減輕了開銷,對(duì)于需要多按鍵的功能項(xiàng)目,會(huì)優(yōu)先考慮鍵盤模式。使用IO資源的減少,就意味著編程的復(fù)雜度提高,不斷的掃描會(huì)影響單片機(jī)的運(yùn)行效率,一般會(huì)在定時(shí)中斷中完成按鍵掃描,最大程度保證單片機(jī)的運(yùn)行效率。按鍵設(shè)計(jì)的方案2:獨(dú)立模式也稱獨(dú)立按鍵,相對(duì)于鍵盤模式來(lái)說(shuō),獨(dú)立模式的電路設(shè)計(jì)極為簡(jiǎn)單,只需要按鍵的兩個(gè)引腳一個(gè)接在單片機(jī)的IO上,一個(gè)接電源地即可,程序在設(shè)計(jì)的時(shí)候提前將IO引腳置為高電平,通過(guò)檢測(cè)引腳狀態(tài)是否發(fā)生變化判斷按鍵動(dòng)作,這種方式?jīng)]有編程算法,方便程序設(shè)計(jì),一般對(duì)于按鍵需求較少的系統(tǒng)中應(yīng)用。綜上所述,通過(guò)對(duì)比矩陣鍵盤和獨(dú)立鍵盤的功能與運(yùn)行效率,所以本設(shè)計(jì)選擇了方案2作為我們的設(shè)計(jì)方案。2.2.4顯示器的選擇設(shè)計(jì)方案1:數(shù)碼管作為終端顯示,數(shù)碼管是一種比較古老的顯示器件,通過(guò)發(fā)光的LED組合而成,根據(jù)阿拉伯?dāng)?shù)字的顯示形態(tài),使用8個(gè)LED就可以完成所有數(shù)字的表達(dá),顯示的內(nèi)容比較單一,只能顯示數(shù)字和部分字母,對(duì)于圖形或者復(fù)雜的內(nèi)容信息無(wú)法顯示。硬件設(shè)計(jì)電路設(shè)計(jì)方面,比較容易理解,公共端與任何一個(gè)LED導(dǎo)通即可點(diǎn)亮,通過(guò)頻閃效果,快速點(diǎn)亮多個(gè)LED,就完成了信息的顯示工作。在經(jīng)濟(jì)效果上,價(jià)格不貴,對(duì)于預(yù)算有限并且顯示內(nèi)容不復(fù)雜應(yīng)該優(yōu)先考慮。設(shè)計(jì)方案2:LCD1602作為終端顯示,優(yōu)勢(shì)在于LCD1602顯示的非常清楚,字體相較于其他顯示器更加立體化,適用于一些功能多且顯示內(nèi)容大的系統(tǒng)。綜上所述,本次設(shè)計(jì)選擇了LCD1602來(lái)作為本次的顯示端器件。2.2.5AD采樣選擇ADC0832:ADC0832作為AD數(shù)據(jù)的采集,將模擬量轉(zhuǎn)換為單片機(jī)可以識(shí)別的數(shù)字量,ADC0832通過(guò)SPI與單片機(jī)的IO管腳連接,一共需要3個(gè)IO引腳。采用DIP8的封裝形式,通過(guò)采集模擬量0-5V可以轉(zhuǎn)換為0-255的單片機(jī)可識(shí)別的數(shù)字量,通過(guò)采集數(shù)字量的大小來(lái)間接獲取傳感器的數(shù)據(jù)采集狀態(tài)。ADC0832可以采集兩路模擬量數(shù)據(jù),具有體積小,采集快速,在模擬量2路以內(nèi)情況下非常的適合。ADC0809:ADC0809數(shù)據(jù)轉(zhuǎn)換是一個(gè)多路的AD轉(zhuǎn)換,可以采集9路的模擬量數(shù)據(jù)。采集的模擬量傳感器的電壓輸入也是在0-5V之間,然后通過(guò)單片機(jī)讀取到每一路的數(shù)字量。ADC0809也是一個(gè)8位的模擬量轉(zhuǎn)換器,單片機(jī)的數(shù)字量范圍在0-255之間[10]。ADC0809具有與單片機(jī)引腳連接少,并且具有多路采集接口,比較適合在3路到9路模擬量采集的場(chǎng)合。由于采集的路數(shù)比較多,所以ADC0809的體積相對(duì)來(lái)說(shuō)比較大。綜上所述,綜合考慮本次設(shè)計(jì)需求,本次設(shè)計(jì)采用ADC0832作為AD的數(shù)據(jù)轉(zhuǎn)換采集。2.2.6語(yǔ)音識(shí)別模塊選擇最熱門和最有發(fā)展前景的新型技術(shù)之一[11]。語(yǔ)音識(shí)別的方法有非常多種,語(yǔ)音識(shí)別芯片的選擇也非常多種。我們要根據(jù)實(shí)現(xiàn)的功能去比對(duì)哪種語(yǔ)音模塊最合適。方案一:基于一般語(yǔ)音識(shí)別芯片控制設(shè)計(jì),這一方案主要通過(guò)各模塊之間的互相作用來(lái)實(shí)現(xiàn)控制,由語(yǔ)音信息采集和處理模塊、語(yǔ)音信息存儲(chǔ)模塊、語(yǔ)音識(shí)別模塊等幾個(gè)模塊組成。語(yǔ)音信號(hào)通過(guò)語(yǔ)音采集模塊采集后,特定處理后交給語(yǔ)音信息存儲(chǔ)模塊進(jìn)行存儲(chǔ);語(yǔ)音存儲(chǔ)模塊將數(shù)據(jù)發(fā)給微處理后,微處理再交給語(yǔ)音識(shí)別模塊進(jìn)行語(yǔ)音識(shí)別;語(yǔ)音識(shí)別模塊識(shí)別特定語(yǔ)音信息,這時(shí)候會(huì)產(chǎn)生相應(yīng)信號(hào)給微處理器;微處理器通過(guò)接收語(yǔ)音識(shí)別模塊的信號(hào)控制,從而實(shí)現(xiàn)對(duì)系統(tǒng)的控制。方案二:基于非特定人語(yǔ)音識(shí)別芯片LD3320的控制設(shè)計(jì),語(yǔ)音信號(hào)直接由語(yǔ)音識(shí)別模塊采集、識(shí)別并處理,識(shí)別到特定語(yǔ)音后LD3320將產(chǎn)生相應(yīng)的信號(hào)給微處理器;微處理器根據(jù)LD3320接收到的信號(hào)控制去實(shí)現(xiàn)對(duì)系統(tǒng)的控制。相比于方案二,方案一的成本更低,但是存在許多不足之處:方案一的系統(tǒng)結(jié)構(gòu)較復(fù)雜,需要外加麥克風(fēng)和語(yǔ)音信號(hào)處理裝置;系統(tǒng)穩(wěn)定性不高;語(yǔ)音采集與識(shí)別分開進(jìn)行時(shí),比方案二更容易出現(xiàn)識(shí)別不準(zhǔn)確的情況;而LD3320語(yǔ)音芯片有自帶的語(yǔ)音信號(hào)采集與處理功能,這樣可以使得系統(tǒng)結(jié)構(gòu)更加簡(jiǎn)單;所以方案二比方案一更優(yōu)。

3系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)單片機(jī)是整個(gè)雨刷智能控制系統(tǒng)的中樞大腦,可以說(shuō)該設(shè)計(jì)最需要注意的步驟就是單片機(jī)部分,該設(shè)計(jì)所實(shí)現(xiàn)的所有功能都是通過(guò)單片機(jī)來(lái)實(shí)現(xiàn)的。單片機(jī)如圖3.1所示。圖3.1單片機(jī)單片機(jī)是一種將CPU、儲(chǔ)存器、輸入、輸出接口電路合并在一塊的集成電路芯片,又被稱為單片微控制器。單片機(jī)就相當(dāng)于一個(gè)迷你型的電腦,只不過(guò)少了輸入輸出接口設(shè)備。如今單片機(jī)廣泛應(yīng)用于日常生活中了,是智能化時(shí)代不可缺少的一環(huán)??梢悦鞔_的看到單片機(jī)是由眾多引腳組成的結(jié)構(gòu)芯片,其內(nèi)部是由成千上的硅晶體排列組合而成,這些硅晶體按照一定的順序排列,通過(guò)與非門實(shí)現(xiàn)功能邏輯,在邏輯的運(yùn)算中實(shí)現(xiàn)功能控制,這就是所謂的外設(shè)功能,在硅晶體管的外部進(jìn)行陶瓷封裝,只保留外設(shè)驅(qū)動(dòng)引腳,這就是單片機(jī)的引腳,也就是我們所看到的單片機(jī)外部形態(tài)。單片機(jī)的引腳功能是根據(jù)內(nèi)部硅晶體排列順序的不同而不相同,大體上分為通用IO引腳和特殊功能引腳,通用IO引腳在單片機(jī)內(nèi)部占有資源比較少,實(shí)現(xiàn)的功能比較單一。特殊功能引腳在單片機(jī)內(nèi)部占有資源比較多,實(shí)現(xiàn)的功能也相對(duì)較多,同時(shí)對(duì)于程序設(shè)計(jì)而言就相對(duì)復(fù)雜,程序設(shè)計(jì)就是控制單片機(jī)的IO引腳,通過(guò)IO引腳的輸入與輸出,配合外圍電路,實(shí)現(xiàn)設(shè)計(jì)功能。單片機(jī)在封裝形式上千差萬(wàn)別,上圖所展示的僅僅是通用的兩種形式,貼片式與直插式,貼片式的IO引腳密集,占用空間比較小,非常適合小型化產(chǎn)品。直插式的IO引腳比較疏散,占用的空間也比較大,相對(duì)而言,內(nèi)部的硅晶體隔離空間也大,抗干擾能力較強(qiáng),適合于工控場(chǎng)合產(chǎn)品,在安裝方面就有明顯的優(yōu)勢(shì),并不是一次焊接而成,而是插接形式,更換方便。這兩種封裝形式的單片機(jī)只是外部形態(tài)不同,使用功能基本一致,主要是根據(jù)功能需求進(jìn)行選擇,并沒(méi)有明顯區(qū)分。本次設(shè)計(jì)是通過(guò)單片機(jī)和外圍電路連接的多個(gè)傳感器協(xié)調(diào)工作,對(duì)于單片機(jī)的開發(fā)需要依靠?jī)?nèi)核設(shè)計(jì)廠家所提供的技術(shù)手冊(cè)進(jìn)行開發(fā)設(shè)計(jì),嚴(yán)格按照手冊(cè)介紹的功能進(jìn)行設(shè)計(jì),尤其在內(nèi)部寄存器的設(shè)置方面,必須按照手冊(cè)進(jìn)行,否則單片機(jī)無(wú)法正常使用,比如在外部中斷配置、內(nèi)部計(jì)數(shù)器配置、串口配置等等。其次,單片機(jī)IO引腳的使用最為重要,與外部連接都是依靠IO引腳口完成,單片機(jī)的IO引腳作為外部器件的控制端,控制著外部器件的功能和讀取外部器件的狀態(tài)。單片機(jī)的IO引腳擁有兩種功能,即輸出和輸入。當(dāng)作為輸入的時(shí)候,主要進(jìn)行的工作是外部信號(hào)的檢測(cè),時(shí)刻對(duì)于外部的電平變化進(jìn)行檢查,當(dāng)出現(xiàn)變化時(shí),判斷為信號(hào)標(biāo)志。作為輸出時(shí),是通過(guò)程序控制引腳自身的電平變化控制外部器件,比如控制外部LED燈的亮滅,就是依靠自身電平的高低變化實(shí)現(xiàn)燈的亮滅。單片機(jī)是數(shù)據(jù)芯片,所發(fā)出的信號(hào)也是數(shù)字信號(hào),就是“0”和“1”,高低電平指的就是“1”與“0”的邏輯變化,根據(jù)邏輯變化而進(jìn)行控制。3.2單片機(jī)最小系統(tǒng)單片機(jī)是具有核心智能化的小型中央處理器,在其內(nèi)部擁有數(shù)以萬(wàn)計(jì)的微晶管,根據(jù)程序代碼的控制使它在邏輯上進(jìn)行不同的輸出或者輸入形式,完成設(shè)計(jì)的功能控制,雖然它具有智能化的形式,但是單片機(jī)并不能獨(dú)立工作,需要配合外圍電路構(gòu)成一個(gè)最小工作系統(tǒng),才具有智能工作的能力,不管任何型號(hào)的單片機(jī),最小系統(tǒng)都是單片機(jī)不可或缺的一個(gè)前提必要條件,對(duì)于不同系列單片機(jī)而言,組成單片機(jī)最小系統(tǒng)的外圍電路并不相同,需要根據(jù)單片機(jī)設(shè)計(jì)廠家給定的工作手冊(cè)進(jìn)行設(shè)計(jì)最小系統(tǒng)的搭建。最小系統(tǒng)由復(fù)位、晶振以及電源三個(gè)電路組成。本次設(shè)計(jì)使用的單片機(jī)型號(hào)是STC89C52,市場(chǎng)上使用極為廣泛,性能相對(duì)穩(wěn)定,單片機(jī)片上資源比較適中,雖然處于入門級(jí)單片機(jī),但對(duì)于本次的功能來(lái)說(shuō)完全足夠,單片機(jī)的最小系統(tǒng)搭建如圖3.2所示。圖3.2最小系統(tǒng)電路圖從圖中就可以知道單片機(jī)的最小系統(tǒng),分別由9腳連接0.1uF的電容和4.7K電阻構(gòu)成的復(fù)位電路,由18腳、19腳連接的晶振和30pF的瓷片電容構(gòu)成的晶振電路,再加上40引腳的正電源和20引腳的GND,這三部分就組成了單片機(jī)的最小系統(tǒng)電路。單片機(jī)上電之后,首先通過(guò)晶振電路給單片機(jī)提供穩(wěn)定的震蕩頻率[12],可以說(shuō)晶振電路是為單片機(jī)提供動(dòng)力源的部件,單片機(jī)在固定的頻率下進(jìn)行工作,開始進(jìn)行內(nèi)部程序存儲(chǔ)器的順序執(zhí)行工作,第一步就是要把單片機(jī)的執(zhí)行指針歸為零,否則單片機(jī)執(zhí)行順序紊亂,復(fù)位電路的作用就是負(fù)責(zé)把程序執(zhí)行指針歸零,以確保單片機(jī)每次開始重新執(zhí)行的時(shí)候都是從內(nèi)部程序存儲(chǔ)器的0X00位開始執(zhí)行。單片機(jī)的最小系統(tǒng)電路是保障單片機(jī)可以正常工作的必要條件,但是單片機(jī)想要完成邏輯功能就要依靠單片機(jī)的IO引腳,在圖中可以清晰的看到,除了最小系統(tǒng)所有使用的引腳之外,單片機(jī)還有32個(gè)輸入輸出引腳,這些IO引腳一共分為四組,每組8個(gè)引腳,這就是單片機(jī)的P0、P1、P2、P3端口,每個(gè)端口引腳的排序是0-7,比如P00-P07,共計(jì)8個(gè)引腳。在這四組端口引腳中,對(duì)于初始上電之后每個(gè)端口輸出的電平而言,只有P0口與眾不同,其他三個(gè)端口上電之后默認(rèn)輸出的均為高電平,因?yàn)樵趩纹瑱C(jī)設(shè)計(jì)的時(shí)候在其內(nèi)部都有上拉電阻,以保證上電之后均為高電平,這樣在電平信號(hào)表達(dá)的時(shí)候就比較明確,方便設(shè)計(jì)人員使用,只有P0端口的引腳為開漏輸出,在其內(nèi)部沒(méi)有上拉電阻,上電之后P0口的電平屬于不穩(wěn)定的狀態(tài),他只取決與外部器件的電平信號(hào),這樣對(duì)于需要依靠外部上拉電阻以保證P0口的正常工作狀態(tài),否則P0口在作為輸出控制的時(shí)候是不可能使用的。單片機(jī)的工作想要按照我們?cè)O(shè)定的程序進(jìn)行執(zhí)行,就必須通過(guò)單片機(jī)的IO引腳輸出的高低電平來(lái)控制外圍的電路,通過(guò)外圍電路驅(qū)動(dòng)外部傳感器或者執(zhí)行器件實(shí)現(xiàn)預(yù)期功能。對(duì)于P1端口和P2端口沒(méi)有特殊功能,只是正常的電平輸入輸出功能,對(duì)于P3端口而言,單片機(jī)在設(shè)計(jì)的時(shí)候?yàn)榱烁玫膶?shí)現(xiàn)更多功能,對(duì)P3端口引腳進(jìn)行了引腳復(fù)用功能,所謂引腳復(fù)用就是使端口不僅僅只有高低電平的輸入輸出功能,還具有額外的特殊功能。這些額外的特殊功能需要依靠特殊功能寄存器的設(shè)置才能使用,比如單片機(jī)的串口功能,外部中斷功能、外部定時(shí)器功能等等,串口功能的復(fù)用引腳是P3.0和P3.1引腳,在使用串口功能的時(shí)候,需要開啟串口使能位,對(duì)串口功能所要求的寄存器進(jìn)行程序配置,之后就可以使用串口功能,串口功能是負(fù)責(zé)單片機(jī)與外部其他設(shè)備的通訊,負(fù)責(zé)信息的交互工作。外部中斷復(fù)用引腳是P3.2和P3.3引腳,這個(gè)功能是為了實(shí)現(xiàn)外部重要事件的臨時(shí)處理功能,此項(xiàng)功能對(duì)于緊急事件的處理非常重要。外部計(jì)數(shù)引腳是P3.4和P3.5引腳,主要是進(jìn)行發(fā)生次數(shù)統(tǒng)計(jì)作用,一般而言,多為并不重要的事件。單片機(jī)除了硬件引腳的功能之外,還有一些內(nèi)部寄存器的特殊使用,比如內(nèi)部定時(shí)器,對(duì)于精確的時(shí)間計(jì)量非常重要。3.3液晶顯示電路設(shè)計(jì)液晶顯示的材質(zhì)是屬于一種游離狀態(tài)的物質(zhì),介于固態(tài)和液態(tài)之間,其本身的這種性質(zhì)可以通過(guò)電流改變它的狀態(tài),在電流的作用下可以改變它的形態(tài),讓其固化,形成特定的圖文,沒(méi)有電流的時(shí)候,處于游離狀態(tài)。液晶顯示屏就是應(yīng)用液晶的這種特性,利用電流的不斷改變,從而不斷的改變顯示的內(nèi)容。液晶顯示屏主要包含了兩個(gè)部分,背光和液晶屏幕,液晶屏幕是用來(lái)形成特定的圖文,但是這種圖文在肉眼的觀察下并不清晰,所以依靠背光增加對(duì)比度,使液晶屏幕形成的圖文更加清晰。液晶顯示功能最主要的就是人機(jī)交互,在人機(jī)交互中,程序設(shè)計(jì)人員可以根據(jù)液晶顯示的內(nèi)容了解程序是否正確,是否按照設(shè)計(jì)的邏輯運(yùn)行,所以一般在設(shè)計(jì)的時(shí)候,第一個(gè)考慮的設(shè)計(jì)功能就是顯示。本次設(shè)計(jì)的顯示屏是LCD1602,它分為上下行分別顯示16個(gè)字符,其內(nèi)部可以顯示64個(gè)字符,通過(guò)輪詢的方式將其顯示,本身?yè)碛凶謳?kù)芯片,可以直接顯示ASCII碼中的任何字符。在程序設(shè)計(jì)的時(shí)候需要對(duì)顯示屏的內(nèi)部存儲(chǔ)器輸入命令,同時(shí)應(yīng)用并口引腳輸入不同的高低電平,讓其顯示不同的內(nèi)容。電路原理圖如圖3.3所示。圖3.31602LCD尺寸圖引腳功能說(shuō)明如下表3.1。表3.1液晶顯示引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地2VDD電源電極3VL對(duì)比度調(diào)節(jié)4RS數(shù)據(jù)命令5E/W讀寫選擇6E使能信號(hào)7-14D0-D7數(shù)據(jù)引腳D0-D715BLA背光源正極LCD602顯示電路原理圖如圖3.4所示圖3.4LCD602顯示模塊電路圖液晶顯示屏通過(guò)16個(gè)引腳完成顯示工作,從圖中可知這16個(gè)引腳中數(shù)據(jù)引腳占了8個(gè),引腳序號(hào)是7-14引腳,這8個(gè)引腳與單片機(jī)引腳并口連接,通過(guò)單片機(jī)引腳發(fā)送不同的高低電平完成不同的顯示內(nèi)容,采用的方式是并口連接,優(yōu)點(diǎn)是顯示速度快,缺點(diǎn)是占用單片機(jī)引腳資源較多。顯示屏的15腳和16腳是背光板的電源引腳,通電之后背光板就會(huì)點(diǎn)亮,清晰的把顯示的內(nèi)容凸顯出來(lái),1腳和2腳是顯示屏的電源引腳,3腳是對(duì)比度調(diào)節(jié),在其外部一般連接一個(gè)10k的滑動(dòng)電阻,通過(guò)改變阻值從而改變3腳電壓,也可以使用定值電阻,根據(jù)經(jīng)驗(yàn)使用4.7K電阻可以正常顯示。4/5/6引腳是液晶顯示屏的命令控制引腳,對(duì)液晶顯示屏進(jìn)行讀取數(shù)據(jù)和寫入命令數(shù)據(jù)是依靠這三個(gè)引腳完成,所采用的協(xié)議是SPI協(xié)議,這里的命令包括開啟液晶、字符大小、閃爍變換、清屏等命令。3.4按鍵模塊電路設(shè)計(jì)按鍵電路作為輸入信號(hào)接入系統(tǒng),在系統(tǒng)中完成響應(yīng)的功能操作,一般的情況下主要負(fù)責(zé)控制輸出模塊的命令按鈕和系統(tǒng)設(shè)置參數(shù)的功能按鈕,盡管在設(shè)計(jì)程序時(shí)會(huì)有使用功能的區(qū)別,但是在硬件電路的設(shè)計(jì)原理卻是一致的。在硬件設(shè)計(jì)的方式上分為矩陣式和獨(dú)立式,本次采用獨(dú)立式按鍵。按鍵的使用原理比較簡(jiǎn)單,無(wú)論何種的硬件接入方式,其本質(zhì)是實(shí)現(xiàn)對(duì)高低電平的信號(hào)檢測(cè),當(dāng)檢測(cè)到有電平信號(hào)發(fā)生改變,即可判斷按鍵發(fā)生動(dòng)作[13]。對(duì)于按鍵動(dòng)作的檢測(cè),程序設(shè)計(jì)中需要應(yīng)用具體的處理方式解決按鍵機(jī)械抖動(dòng)的問(wèn)題,一般情況是延時(shí)10ms作為機(jī)械去抖,確保按鍵信號(hào)檢測(cè)的準(zhǔn)確性,防止誤動(dòng)作發(fā)生,引起按鍵程序的錯(cuò)誤判斷。該按鍵一端與單片機(jī)連接,一端全部接地,檢測(cè)與按鍵相連接的單片機(jī)引腳,當(dāng)電平為0時(shí),判斷執(zhí)行按鍵動(dòng)作。按鍵電路的硬件電路如圖3.5所示。圖3.5按鍵模塊電路3.5雨滴采集電路設(shè)計(jì)傳感器選取YL-69雙面材料,雨滴接收超大面積5.0*4.0CM,輸出形式為數(shù)字開關(guān)量輸出(0和1)和模擬量AO電壓輸出[14];接上5V電源,電源指示燈亮,感應(yīng)板上沒(méi)有水滴時(shí),DO輸出為高電平,開關(guān)指示燈滅,滴上一滴水,可以連接單片機(jī)的AD口檢測(cè)滴在上面的雨量大小[15]。1腳接5V電源,加上10k電阻保護(hù)電路,因?yàn)殡妷哼^(guò)大會(huì)擊穿電路,2腳接地,加個(gè)旁路電容與1管腳一起連接ADC0832的2管腳(模擬輸入通道),表示以ch0輸入信號(hào)。電路連接如圖3.6所示。圖3.6雨滴電路圖3.6ADC模數(shù)電路設(shè)計(jì)ADC0832模數(shù)芯片作用是實(shí)現(xiàn)模擬數(shù)據(jù)量到數(shù)字?jǐn)?shù)據(jù)量的轉(zhuǎn)換,最大轉(zhuǎn)換的數(shù)字?jǐn)?shù)據(jù)量為256,芯片內(nèi)部具有兩個(gè)模擬通道,可同時(shí)實(shí)現(xiàn)兩路數(shù)字?jǐn)?shù)字量的轉(zhuǎn)換,工作電壓在5V以內(nèi),轉(zhuǎn)換的基準(zhǔn)以電源地為轉(zhuǎn)換的基準(zhǔn),所有的模擬電壓以對(duì)地為準(zhǔn)的模擬電壓,模擬電壓最大不能超過(guò)5V,否則將會(huì)超出轉(zhuǎn)化的量程,轉(zhuǎn)換的電壓值將以數(shù)值量的形式通過(guò)IIC協(xié)議與單片機(jī)進(jìn)行數(shù)據(jù)傳輸,IIC協(xié)議是ADC0832與外部單片機(jī)進(jìn)行數(shù)據(jù)交換的協(xié)議準(zhǔn)則。8管腳接電源,4管腳接地,5管腳表示數(shù)據(jù)信號(hào)輸入,6管腳表示數(shù)據(jù)信號(hào)輸出,為節(jié)約IO口資源,所以DO與DI并聯(lián)在一起使用,即5腳與6腳相連。將芯片電路如圖3.7所示。圖3.7模數(shù)電路圖3.7語(yǔ)音電路設(shè)計(jì)LD3320是由ICRoute公司設(shè)計(jì)的一款48腳QFN塑料封裝的語(yǔ)音識(shí)別芯片,LD3320芯片的應(yīng)用電路由單片機(jī)和LD3320組成[16]。LD3320的語(yǔ)音識(shí)別:對(duì)輸入的語(yǔ)音與芯片儲(chǔ)存的列表內(nèi)容進(jìn)行相似度識(shí)別,最后相似度最高的內(nèi)容作為識(shí)別的結(jié)果[17]。該芯片有語(yǔ)音識(shí)辨處理器和A/D,D/A等轉(zhuǎn)換電路[18]。LED加上保護(hù)電阻一端接電源,一端接單片機(jī)16管腳,即外部數(shù)據(jù)儲(chǔ)存器寫選通,LD3320模塊4管腳接電源,1管腳接地,3管腳接入單片機(jī)的串行輸入口P3.0,LD3320注重節(jié)能環(huán)保,且非常高效率,直接集成現(xiàn)有產(chǎn)品,不需要任何外部輔助芯片如Flash,RAM來(lái)進(jìn)行外接。電路圖如3.8所示。圖3.8語(yǔ)音識(shí)別電路圖3.8步進(jìn)電機(jī)電路設(shè)計(jì)本次設(shè)計(jì)的步進(jìn)電機(jī)為28BYJ-48型步進(jìn)電機(jī),它所表示的是永磁式減速型的4相8拍的步進(jìn)電機(jī),再不進(jìn)電機(jī)的內(nèi)部有六個(gè)齒子,定義的編號(hào)是0-5,每個(gè)齒子上面都是永磁型的磁鐵,這就是永磁式。在齒子的外部是定子,定子與外殼相連,固定不動(dòng),同時(shí)在定子上纏繞著繞組,一共8個(gè),其中兩兩一組,共計(jì)四組,這樣就形成了四項(xiàng)。步進(jìn)電機(jī)在工作的時(shí)候,總是其中另個(gè)端子通電,產(chǎn)生的磁場(chǎng)帶動(dòng)電機(jī)旋轉(zhuǎn),當(dāng)電機(jī)轉(zhuǎn)動(dòng)到下一個(gè)位置是又切換到另一組工作,這樣周而復(fù)始的帶動(dòng)電機(jī)工作。電機(jī)工作需要很大的電流,單片機(jī)本身的驅(qū)動(dòng)能力比較弱,無(wú)法驅(qū)動(dòng)電機(jī),這就需要電機(jī)的驅(qū)動(dòng)板,本次使用的電機(jī)驅(qū)動(dòng)板是2003,增強(qiáng)單片機(jī)引腳的驅(qū)動(dòng)能力,單片機(jī)驅(qū)動(dòng)電機(jī)一共需要4個(gè)引腳,4個(gè)引腳兩兩一組,不停地切換,驅(qū)動(dòng)步進(jìn)電機(jī)。如圖3.9所示。從單片機(jī)輸出4路脈寬調(diào)制信號(hào),每?jī)陕废辔幌嗖?80°,兩兩組合形成4相輸出,經(jīng)過(guò)驅(qū)動(dòng)電路ULN2003A后放大驅(qū)動(dòng)能力,電機(jī)通過(guò)一個(gè)5PIN接插件接入,此時(shí)通過(guò)控制單片機(jī)的四路脈寬調(diào)制信號(hào)就能夠控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)角度了。圖3.9步進(jìn)電機(jī)電路圖

4系統(tǒng)軟件設(shè)計(jì)本次程序設(shè)計(jì)采用的編程語(yǔ)言是C語(yǔ)言,C語(yǔ)言具有簡(jiǎn)單易懂,邏輯判斷能力突出等特點(diǎn),編寫程序的開發(fā)軟件是Keil軟甲,在設(shè)計(jì)中,首先完成的是主函數(shù)的框架結(jié)構(gòu),在框架結(jié)構(gòu)中布置各個(gè)子程序的分區(qū)功能,根據(jù)邏輯的執(zhí)行確定子程序的先后執(zhí)行順序,主函數(shù)框架編寫完成之后,開始進(jìn)行子函數(shù)功能編寫,根據(jù)每一個(gè)的功能實(shí)現(xiàn)代碼設(shè)計(jì),每完成一個(gè)子程序就可以進(jìn)行Keil軟件編譯,編譯成功將HEX文件下載到單片機(jī)運(yùn)行,運(yùn)行成功后進(jìn)行下一個(gè)子函數(shù)編寫,直到全部功能調(diào)試完畢。4.1系統(tǒng)程序設(shè)計(jì)軟件介紹程序軟件設(shè)計(jì)所指的就是程序代碼的設(shè)計(jì),程序代碼通過(guò)語(yǔ)言來(lái)進(jìn)行編寫,語(yǔ)言再通過(guò)編譯軟件編譯成單片機(jī)能識(shí)別的只有1和0的邏輯語(yǔ)言。程序員所編寫的是C語(yǔ)言或者匯編語(yǔ)言,通過(guò)工具完成編寫語(yǔ)言到機(jī)器語(yǔ)言的裝換,這個(gè)工具就是單片機(jī)的開發(fā)軟件,我們所使用的開發(fā)軟件是KEIL軟件,使用的是C語(yǔ)言,KEIL軟件將這種語(yǔ)言翻譯成機(jī)器語(yǔ)言,也就是前文提到的只有0和1的邏輯語(yǔ)言,將其下載到單片機(jī)中,使單片機(jī)按照語(yǔ)言的邏輯運(yùn)行。KEIL軟件的功能極為強(qiáng)大,執(zhí)行的工作不僅僅是翻譯高級(jí)語(yǔ)言,同時(shí)還會(huì)查找高級(jí)言中的錯(cuò)誤,并且進(jìn)行提示,指出錯(cuò)誤的地方,方便程序員進(jìn)行修改。KEIL軟件的開發(fā)界面給人一種干凈整潔的觀感,沒(méi)有絲毫的雜亂,簡(jiǎn)單明了的指令系統(tǒng)得到眾多程序員的認(rèn)可,是最受歡迎的軟件之一,KEIL軟件涵蓋了眾多型號(hào)的單片機(jī)庫(kù),很多的單片機(jī)都可以使用KEIL軟件直接進(jìn)行開發(fā),無(wú)需對(duì)新的開發(fā)環(huán)境進(jìn)行了解,節(jié)省開發(fā)的時(shí)間。新建工程界面如下圖4.1所示。圖4.1新建工程界面程序編寫KEIL的界面如下圖4.2所示。圖4.2程序編寫KEIL下載程序界面如圖4.3所示。圖4.3HEX文件下載界面4.2系統(tǒng)主程序系統(tǒng)的程序分為主程序和子程序,這也是模塊化編程的基本思路,所有的子程序都需要圍繞主函數(shù)展開,可以說(shuō)主函數(shù)是整個(gè)系統(tǒng)的核心,主函數(shù)對(duì)系統(tǒng)的功能進(jìn)行分層處理,架構(gòu)起系統(tǒng)編程的框架,在框架下運(yùn)行每一個(gè)子程序,通過(guò)順序執(zhí)行子函數(shù)完成系統(tǒng)的功能設(shè)計(jì)。首先進(jìn)行系統(tǒng)的初始化和顯示初始化,之后進(jìn)行雨滴檢測(cè)功能,當(dāng)檢測(cè)雨量大于限值,步進(jìn)電機(jī)開始帶動(dòng)雨刷器工作,雨滴小于限值時(shí)停止步進(jìn)電機(jī)工作,檢測(cè)的雨滴數(shù)據(jù)通過(guò)顯示模塊進(jìn)行顯示,之后程序循環(huán)執(zhí)行。4.3液晶顯示子程序本設(shè)計(jì)的顯示程序采用的是LCD1602顯示,顯示程序首先開始進(jìn)行初始化、然后設(shè)置坐標(biāo)位置,這個(gè)時(shí)候顯示等于0則顯示結(jié)束,顯示不等于0則需要用發(fā)送函數(shù)進(jìn)行顯示,顯示一位之后,顯示指針自動(dòng)加1,繼續(xù)判斷字符是否為零,直到字符不等于零則結(jié)束顯示。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()對(duì)LCD1602進(jìn)行初始化,然后用LCD1602_write(0,0x01)對(duì)LCD1602進(jìn)行清屏操作,這時(shí)候LCD1602顯示可能會(huì)出現(xiàn)抖動(dòng),因此需要用LCD1602_delay(1500)來(lái)進(jìn)行延時(shí)。接下來(lái)用LCD1602_write(0,0x0c)來(lái)進(jìn)行光標(biāo)的設(shè)置,同樣需要LCD1602_delay(1500)來(lái)進(jìn)行延時(shí)。當(dāng)初始化完畢之后,LCD1602就可以顯示內(nèi)容了。4.4按鍵電路程序本次設(shè)計(jì)的按鍵程序采用的是獨(dú)立式的按鍵設(shè)計(jì),按鍵子程序是一個(gè)實(shí)時(shí)的掃描過(guò)程,對(duì)按鍵檢測(cè)首先是判斷按鍵是否有動(dòng)作,如果沒(méi)有動(dòng)作,一直處于主程序循環(huán)的掃描中,當(dāng)檢測(cè)到有動(dòng)作之后,要進(jìn)行去抖的延時(shí)檢測(cè),防止按鍵的機(jī)械性誤動(dòng)作,延時(shí)檢測(cè)之后,對(duì)按鍵進(jìn)行再次掃描,按鍵仍為有效值,則對(duì)按鍵值進(jìn)行判斷,判斷完畢后等待按鍵釋放,之后執(zhí)行按鍵的功能。本次設(shè)計(jì)的按鍵功能主要是設(shè)置參數(shù)。流程圖程序圖如4.5所示。圖4.5按鍵讀取流程圖按鍵控制模塊部分程序如下:sbitkey_1=P3^1;sbitkey_2=P3^2;sbitkey_3=P3^3;sbitkey_4=P3^4;按鍵電路程序通過(guò)判斷電壓來(lái)判斷是否有按鍵動(dòng)作,我們需要用到四個(gè)按鍵,分別是設(shè)置覆水量上下限值、模式切換、手動(dòng)開關(guān)鍵四個(gè)功能。本系統(tǒng)中的按鍵是連接的是P3.1-P3.4,當(dāng)有個(gè)按鍵的電平變成0了,則表示該按鍵被按下。4.5語(yǔ)音識(shí)別程序語(yǔ)音識(shí)別程序由語(yǔ)音控制模塊LD3320識(shí)別來(lái)控制完成,語(yǔ)音識(shí)別程序的流程是,初始化之后判斷識(shí)別指令與芯片儲(chǔ)存的列表內(nèi)容進(jìn)行相似度識(shí)別,最后相似度最高的內(nèi)容作為識(shí)別的結(jié)果,如果識(shí)別失敗則重新識(shí)別指令,語(yǔ)音識(shí)別模塊的程序如圖4.6所示。圖4.6語(yǔ)音識(shí)別模塊程序按鍵控制模塊部分程序如下: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ù)實(shí)現(xiàn)了一次完整的ASR語(yǔ)音識(shí)別流程,之后利用for(i=0;i<5;i++)語(yǔ)句去防止由于硬件原因?qū)е翷D3320芯片工作不正常,所以一共嘗試5次啟動(dòng)ASR識(shí)別流程,這時(shí)候利用LD_AsrStart()函數(shù)實(shí)現(xiàn)ASR初始化,在用if(LD_AsrAddFixed()==0)語(yǔ)句去判斷芯片內(nèi)部是否出現(xiàn)不正常,當(dāng)正常啟動(dòng)后就會(huì)退出當(dāng)前for循環(huán)。這時(shí)候就開始等待LD3320發(fā)送出的中斷信號(hào)。

5系統(tǒng)仿真與制作測(cè)試5.1系統(tǒng)仿真系統(tǒng)仿真的優(yōu)勢(shì)是可以實(shí)時(shí)觀測(cè)系統(tǒng)內(nèi)部的運(yùn)行狀態(tài),我們?cè)谶M(jìn)調(diào)試時(shí)會(huì)不可避免的出現(xiàn)一些錯(cuò)誤,這時(shí)候無(wú)論從硬件和軟件有時(shí)都很難發(fā)現(xiàn)錯(cuò)誤,但我們?nèi)绻M(jìn)行仿真去檢測(cè)錯(cuò)誤就會(huì)方便很多。系統(tǒng)仿真圖如5.1所示。圖5.1系統(tǒng)仿真圖在仿真過(guò)程中,出現(xiàn)了在自己創(chuàng)建的元器件上無(wú)法連線的情況,原因是管腳之間的距離太小了,后來(lái)重新編輯無(wú)法連線的元器件,把它的管腳間距調(diào)大一些就解決了這個(gè)問(wèn)題。在仿真過(guò)程中庫(kù)里會(huì)經(jīng)常找不到元器件,比如LD3320芯片,如果庫(kù)中沒(méi)有的話,我們可以通過(guò)找資料查詢芯片手冊(cè)來(lái)了解元器件功能來(lái)制作功能相近的原件。5.2系統(tǒng)制作實(shí)物設(shè)計(jì)主要包括以下幾個(gè)步驟:(1)焊接實(shí)物是實(shí)物產(chǎn)品設(shè)計(jì)最為基礎(chǔ)的分部,實(shí)物焊接是否正確決定實(shí)物功能是否能夠?qū)崿F(xiàn),在這一過(guò)程中需要對(duì)傳感器元器件進(jìn)行確認(rèn),對(duì)元器件的引腳功能進(jìn)行辨別,通過(guò)對(duì)比元器件的技術(shù)手冊(cè)的引腳定義與原理圖設(shè)計(jì)進(jìn)行比對(duì),確定無(wú)誤后進(jìn)行焊接,焊接時(shí)需要對(duì)焊接的溫度進(jìn)行控制,尤其對(duì)一些不耐熱的器件需要快速準(zhǔn)確完成焊接。(2)焊接完畢后的檢查工作,肉眼檢查器件有沒(méi)有反向焊接,檢查引腳所焊接的位置和線路的連接,電路板上的焊點(diǎn)是否存在忘記焊接的現(xiàn)象,密集的焊點(diǎn)之間是否存在著連在一起的錯(cuò)誤,這些可能出現(xiàn)的表面問(wèn)題需要依靠肉眼完成檢查,再檢查的過(guò)程中做到細(xì)致、認(rèn)真、耐心,需要條理清晰的逐一檢查,以免漏檢在后期上電的時(shí)候出現(xiàn)器件不可逆的損害。(3)通路實(shí)驗(yàn)檢測(cè),依靠萬(wàn)用表工具對(duì)線路進(jìn)行檢查,使用萬(wàn)用表的通斷測(cè)試檔位,對(duì)電路板的電源和地進(jìn)行測(cè)量,這一步是為了避免最為嚴(yán)重的短路現(xiàn)象發(fā)生,一旦發(fā)生就會(huì)對(duì)電路板上的所有器件造成一定的損害,使部分功能失效,影響后續(xù)的功能調(diào)試。電源故障排除之后,對(duì)其他的線路按照原理圖一一測(cè)試,逐一排查,直到全部測(cè)試完畢。(4)實(shí)物通電試驗(yàn),實(shí)物上電后,對(duì)于弱電部分可以用手背感測(cè)器件的溫度,溫?zé)岜砻髌骷9ぷ?,過(guò)熱說(shuō)明器件工作不正常,需要重新檢測(cè)。使用萬(wàn)用表的電壓檔位測(cè)試各個(gè)部分的電壓是否正常。(5)實(shí)物調(diào)試,在實(shí)物調(diào)試中需要程序代碼寫入到實(shí)物中運(yùn)行,運(yùn)行時(shí)可以將功能進(jìn)行模塊化調(diào)試,對(duì)每一個(gè)功能單一調(diào)試,保證單一功能的程序正確性,所有功能逐一調(diào)試之后,進(jìn)行總體調(diào)試,完成系統(tǒng)的功能設(shè)計(jì)。(6)實(shí)物性能測(cè)試,性能測(cè)試建立在功能全部實(shí)現(xiàn)基礎(chǔ)之上,通過(guò)程序代碼的運(yùn)行邏輯,對(duì)實(shí)物的運(yùn)行速度、控制器的反應(yīng)時(shí)間、極限數(shù)據(jù)測(cè)量等等進(jìn)行測(cè)試,不斷的通過(guò)優(yōu)化代碼設(shè)計(jì),完成性能的測(cè)試工作。焊接的圖片如圖5.2所示:圖5.2系統(tǒng)焊接圖系統(tǒng)實(shí)物圖片如圖5.3所示:圖5.3系統(tǒng)實(shí)物圖5.3硬件調(diào)試實(shí)物的通電測(cè)試在系統(tǒng)設(shè)計(jì)中是一個(gè)關(guān)鍵的節(jié)點(diǎn),通電后通過(guò)觀察顯示屏或者指示燈是否被點(diǎn)亮來(lái)確定通電后的實(shí)物是否正常工作,若果沒(méi)有被點(diǎn)亮說(shuō)明實(shí)物存在問(wèn)題,需要立即斷電查找原因,使用萬(wàn)用表進(jìn)行線路的測(cè)量,查明原因?qū)⑵浣鉀Q,重新通電觀察,實(shí)物正常工作后,用手背感受各個(gè)傳感器的溫度,沒(méi)有存在發(fā)熱的現(xiàn)象,說(shuō)明所有的器件均可以正常工作。上電測(cè)試圖如圖5.4所示。圖5.4系統(tǒng)上電測(cè)試圖5.4軟件調(diào)試實(shí)物通電成功以后,開始進(jìn)行實(shí)物軟件與硬件的聯(lián)合調(diào)試工作,在聯(lián)合調(diào)試中首先需要完成人機(jī)交互的顯示屏調(diào)試工作,顯示內(nèi)容的正確與否,直觀的顯示出程序的代碼是否正確,本次設(shè)計(jì)的第一次調(diào)試中,顯示屏的顯示工作并不正確,出現(xiàn)了白屏的現(xiàn)象。界面如圖5.5所示。圖5.5顯示方框程序出現(xiàn)問(wèn)題后,立即進(jìn)行錯(cuò)誤原因的查找工作,首先查找硬件接線的問(wèn)題,引腳線路是否出現(xiàn)錯(cuò)接問(wèn)題,通過(guò)硬件的排查,引腳在接線上

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論