【《基于 MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)》18000字】_第1頁(yè)
【《基于 MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)》18000字】_第2頁(yè)
【《基于 MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)》18000字】_第3頁(yè)
【《基于 MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)》18000字】_第4頁(yè)
【《基于 MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)》18000字】_第5頁(yè)
已閱讀5頁(yè),還剩47頁(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)介

基于MSP430處理器的的智能清潔機(jī)器人控制系統(tǒng)設(shè)計(jì)摘要當(dāng)今世界,科學(xué)技術(shù)不斷改變著人類的生活和思維方式,科技產(chǎn)品已經(jīng)滲透到人類生活的每一個(gè)角落。隨著材料、通信、感知和驅(qū)動(dòng)等領(lǐng)域科學(xué)技術(shù)的不斷進(jìn)步,在制造業(yè)以外的服務(wù)領(lǐng)域也開(kāi)始出現(xiàn)了機(jī)器人,使機(jī)器人的應(yīng)用有了更為廣闊的發(fā)展前景。清潔機(jī)器人是一種能夠自動(dòng)進(jìn)行房間清潔的家用服務(wù)機(jī)器人,涉及力學(xué)、材料學(xué)、嵌入式技術(shù)、通信技術(shù)、物聯(lián)網(wǎng)技術(shù)和計(jì)算機(jī)軟件技術(shù)等多個(gè)學(xué)科[1]。清潔機(jī)器人的發(fā)展不僅在科學(xué)研究上具有挑戰(zhàn)性和前瞻性,而且具有廣闊的市場(chǎng)前景[2]。本課題是嵌入式技術(shù)、傳感檢測(cè)技術(shù)和通信技術(shù)的結(jié)合。具體實(shí)現(xiàn)方案如下:運(yùn)用PWM脈沖寬度調(diào)制技術(shù)對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行控制;使用超聲波傳感器測(cè)量距離,反射回來(lái)的聲波變成電信號(hào)通過(guò)放大器傳給MSP430運(yùn)算處理;使用紅外線避障傳感器檢測(cè)障礙物,由MSP430控制清潔機(jī)器人及時(shí)躲避障礙;在液晶上顯示所處模式、速度、剩余時(shí)間等數(shù)據(jù),同時(shí)具備紅外遙控功能。智能機(jī)器人系統(tǒng)由以下幾部分組成:(1)MSP430處理器模塊:以MSP430處理器作為核心模塊,各種功能模塊的擴(kuò)展通過(guò)其通信接口實(shí)現(xiàn),是該智能清潔機(jī)器人系統(tǒng)的核心模塊。該模塊在整個(gè)機(jī)器人系統(tǒng)中起到模塊控制和數(shù)據(jù)處理的核心作用,具有處理能力強(qiáng),運(yùn)算速度快,超低功耗的特點(diǎn);(2)運(yùn)動(dòng)控制模塊:該模塊可以對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行控制;(3)避障模塊:該模塊可以使機(jī)器人及時(shí)躲避障礙;(4)超聲波傳感器模塊:該模塊可以實(shí)時(shí)檢測(cè)距離;(5)通信模塊:采用串口通信,將信息傳輸?shù)絇C機(jī);(6)OLED模塊:該模塊為本系統(tǒng)的顯示模塊,主要顯示模式、速度、剩余時(shí)間、課題名稱、學(xué)校、班級(jí)、姓名等信息;本課題研制的清潔機(jī)器人系統(tǒng)具有功能齊全、實(shí)時(shí)監(jiān)控等特點(diǎn),在需要時(shí)及時(shí)進(jìn)行充分清潔,能夠合理地規(guī)劃路徑、有效的提高清潔效率。關(guān)鍵字:清潔機(jī)器人;無(wú)線通信;嵌入式系統(tǒng);MSP430目錄TOC\o"1-3"\u第1章緒論 21.1課題研究的背景及意義 21.2課題研究的現(xiàn)狀及發(fā)展趨勢(shì) 21.3

本設(shè)計(jì)主要內(nèi)容 31.4論文結(jié)構(gòu) 3第2章系統(tǒng)設(shè)計(jì)方案 42.1系統(tǒng)設(shè)計(jì)任務(wù) 42.2系統(tǒng)設(shè)計(jì)方案選擇 42.2.1單片機(jī)芯片的選擇 42.2.2運(yùn)動(dòng)模塊選擇方案 52.2.3超聲波模塊選擇方案 52.2.4避障模塊選擇方案 52.2.5無(wú)線通信模塊選擇方案 62.2.6顯示模塊選擇方案 62.3系統(tǒng)整體設(shè)計(jì)框圖 6第3章硬件電路設(shè)計(jì) 83.1主控制器MSP430F149 83.2運(yùn)動(dòng)模塊 103.3超聲波模塊 113.4避障模塊 133.5無(wú)線通信模塊 143.6顯示模塊 15第4章系統(tǒng)軟件設(shè)計(jì) 184.1智能清潔機(jī)器人系統(tǒng)主程序流程 184.2運(yùn)動(dòng)模塊程序 204.3超聲波模塊程序 214.4避障模塊程序 224.5無(wú)線通信模塊程序 244.6顯示模塊程序 26第5章系統(tǒng)仿真與調(diào)試 325.1設(shè)計(jì)前期工作 325.2系統(tǒng)仿真 325.3硬件電路調(diào)試 405.3.1避障模塊調(diào)試 405.3.2超聲波模塊調(diào)試 415.3.3無(wú)線通信模塊調(diào)試 445.3.4顯示模塊調(diào)試 445.4設(shè)計(jì)成果 46第6章總結(jié)……………………48致謝 49參考文獻(xiàn) 50第1章緒論1.1課題研究的背景及意義在人類不斷發(fā)展的文明中,科技產(chǎn)品已經(jīng)滲透到人類生活的每一個(gè)角落。在控制、感知、驅(qū)動(dòng)、材料等領(lǐng)域不斷進(jìn)步的技術(shù)背景下,機(jī)器人出現(xiàn)在制造領(lǐng)域之外的服務(wù)領(lǐng)域,開(kāi)辟了機(jī)器人應(yīng)用的新領(lǐng)域。服務(wù)機(jī)器人的出現(xiàn)有著深刻的社會(huì)因素。主要原因有三:1.勞動(dòng)力成本上升;2.人類想要擺脫枯燥的體力勞動(dòng),如清潔、家務(wù)和病人護(hù)理;3.人口老齡化與社會(huì)福利體系日益完善[3]。清潔機(jī)器人是一種能夠自動(dòng)進(jìn)行房間清潔的家政服務(wù)機(jī)器人,涉及力學(xué)、材料學(xué)、嵌入式技術(shù)、通信技術(shù)、物聯(lián)網(wǎng)技術(shù)和計(jì)算機(jī)軟件技術(shù)等多個(gè)學(xué)科。清潔機(jī)器人的發(fā)展不僅具有挑戰(zhàn)性和前瞻性,而且具有廣闊的市場(chǎng)前景。本課題研究的基于MSP430的清潔機(jī)器人控制系統(tǒng),能夠采集到機(jī)器人的位置以及當(dāng)前的狀態(tài),實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)監(jiān)控,并調(diào)整機(jī)器人運(yùn)動(dòng)軌跡完成清潔。1.2課題研究的現(xiàn)狀及發(fā)展趨勢(shì)機(jī)器人是當(dāng)代高端智能裝備和高新技術(shù)的突出代表,對(duì)制造業(yè)的發(fā)展至關(guān)重要,是衡量一個(gè)國(guó)家制造業(yè)水平和核心競(jìng)爭(zhēng)力的重要指標(biāo)。目前,世界主要發(fā)達(dá)國(guó)家都把機(jī)器人作為提升自身在國(guó)際制造業(yè)競(jìng)爭(zhēng)力的重點(diǎn)發(fā)展領(lǐng)域。機(jī)器人標(biāo)準(zhǔn)作為機(jī)器人產(chǎn)業(yè)國(guó)際競(jìng)爭(zhēng)的技術(shù)基礎(chǔ)和有效手段,被發(fā)達(dá)國(guó)家置于產(chǎn)業(yè)戰(zhàn)略的重要地位??梢哉f(shuō),各國(guó)在機(jī)器人產(chǎn)業(yè)領(lǐng)域的競(jìng)爭(zhēng)不僅是技術(shù)和市場(chǎng)的競(jìng)爭(zhēng),更是機(jī)器人標(biāo)準(zhǔn)的競(jìng)爭(zhēng)[4]。清潔機(jī)器人始于上世紀(jì)80年代,現(xiàn)在已經(jīng)有了多樣的產(chǎn)品,推動(dòng)了家用服務(wù)清潔機(jī)器人產(chǎn)業(yè)的發(fā)展,還推動(dòng)了運(yùn)動(dòng)機(jī)器人圖像處理、語(yǔ)音識(shí)別、材料以及傳感器等技術(shù)的發(fā)展[5]。許多國(guó)家特別是發(fā)達(dá)國(guó)家都把家用服務(wù)清潔機(jī)器人看做機(jī)器人研發(fā)的一個(gè)新的領(lǐng)域,并予以重視,投入了大量的技術(shù)和資金。相關(guān)信息還預(yù)測(cè),在機(jī)器人應(yīng)用領(lǐng)域,清潔機(jī)器人將是未來(lái)數(shù)年中最受歡迎的機(jī)器人,尤其是家用清潔機(jī)器人,它們?cè)诋a(chǎn)品創(chuàng)新和市場(chǎng)占有方面是所有小家電中最活躍的。清潔機(jī)器人未來(lái)仍然會(huì)有很大的成長(zhǎng)空間和市場(chǎng)機(jī)會(huì)。2019年,中國(guó)商用清潔機(jī)器人的需求將在3.8億元左右。2020年,受新型冠狀病毒疫情影響,商業(yè)市場(chǎng)和公共市場(chǎng)對(duì)商用清潔機(jī)器人需求旺盛,商用清潔機(jī)器人在機(jī)場(chǎng)、醫(yī)院、辦公室等多種應(yīng)用場(chǎng)景加速發(fā)展。與此同時(shí),國(guó)內(nèi)商用清潔機(jī)器人企業(yè)也加快了量產(chǎn)計(jì)劃。隨著我國(guó)制造業(yè)和服務(wù)業(yè)數(shù)字化進(jìn)程的加快,各行業(yè)人工成本的增加,勞資矛盾的加劇,未來(lái)我國(guó)對(duì)商用清潔機(jī)器人的需求將繼續(xù)快速增長(zhǎng)。預(yù)計(jì)到2025年,市場(chǎng)總需求將達(dá)到27.8億元[6]??傊鍧崣C(jī)器人市場(chǎng)正處于一個(gè)不斷發(fā)展壯大的時(shí)期。為了不斷提升用戶體驗(yàn),滿足實(shí)際功能的需求,清潔機(jī)器人將不斷進(jìn)化和完善,實(shí)現(xiàn)智能清潔機(jī)器人的真諦。1.3

本設(shè)計(jì)主要內(nèi)容

本次設(shè)計(jì)是為了減輕大量重復(fù)家務(wù)活動(dòng)帶來(lái)的負(fù)擔(dān),設(shè)計(jì)一種可以自動(dòng)執(zhí)行房間清掃的家用服務(wù)機(jī)器人。該系統(tǒng)采用MSP430F149芯片作為控制單元,內(nèi)部裝有電機(jī)模塊,利用PWM波原理進(jìn)行速度控制,其次通過(guò)紅外傳感器接受遙控信號(hào)。同時(shí)超聲波和光電傳感器模塊將位置信息傳送給MSP430F149,對(duì)路徑進(jìn)行規(guī)劃,將模式、速度、剩余時(shí)間在液晶屏中顯示出來(lái),最后完成清潔任務(wù)。1.4論文結(jié)構(gòu)論文第1部分是說(shuō)明本次課題的來(lái)源和近幾年國(guó)內(nèi)外快遞行業(yè)發(fā)展的趨勢(shì),最后對(duì)本次設(shè)計(jì)的系統(tǒng)進(jìn)行一次簡(jiǎn)單概括。論文第2部分是系統(tǒng)設(shè)計(jì)方案選擇,先講一下各模塊的大體設(shè)計(jì)和設(shè)計(jì)任務(wù),并對(duì)各個(gè)硬件的優(yōu)點(diǎn)、功能和特性進(jìn)行說(shuō)明。論文第3部分是硬件設(shè)計(jì)部分,近一步對(duì)第二章的硬件加深說(shuō)明,包括運(yùn)動(dòng)、超聲波、避障、無(wú)線通信和TFT液晶顯示屏模塊。并解釋各自引腳關(guān)系以及與主芯片MSP430F149的連接關(guān)系。論文第4部分是軟件設(shè)計(jì)部分,主要先對(duì)本部分的程序畫(huà)了流程圖,進(jìn)行解釋,對(duì)主要的程序進(jìn)行詳細(xì)說(shuō)明。論文第5部分是系統(tǒng)調(diào)試部分,一開(kāi)始說(shuō)了以下畢業(yè)設(shè)計(jì)的準(zhǔn)備工作,接下來(lái)對(duì)軟件部分進(jìn)行一些調(diào)試,接著對(duì)硬件部分的功能做了一下測(cè)試,判斷功能是否能夠?qū)崿F(xiàn)。論文第6部分是結(jié)束語(yǔ),主要再對(duì)智能清潔機(jī)器人系統(tǒng)進(jìn)行總結(jié),并進(jìn)行優(yōu)點(diǎn)和不足之處的說(shuō)明。最后是致謝和參考文獻(xiàn)。

第2章系統(tǒng)設(shè)計(jì)方案2.1系統(tǒng)設(shè)計(jì)任務(wù)本設(shè)計(jì)是對(duì)清潔機(jī)器人進(jìn)行一次研究,并且以MSP430F149作為控制單元,并通過(guò)該芯片讀取數(shù)據(jù)顯示在OLED屏上。本次設(shè)計(jì)是為了減輕大量重復(fù)家務(wù)活動(dòng)帶來(lái)的負(fù)擔(dān),設(shè)計(jì)一種可以自動(dòng)執(zhí)行房間清掃的家用服務(wù)機(jī)器人。該系統(tǒng)采用MSP430F149芯片作為控制單元,內(nèi)部裝有電機(jī)模塊,利用PWM波原理進(jìn)行速度控制,其次通過(guò)紅外傳感器接受遙控信號(hào)。同時(shí)超聲波和光電傳感器模塊將位置信息傳送給MSP430F149,對(duì)路徑進(jìn)行規(guī)劃,將模式、速度、剩余時(shí)間在液晶屏中顯示出來(lái),最后完成清潔任務(wù)。下面將會(huì)對(duì)系統(tǒng)功能及各模塊設(shè)計(jì)的方案選擇進(jìn)行描述。2.2系統(tǒng)設(shè)計(jì)方案選擇2.2.1單片機(jī)芯片的選擇本次設(shè)計(jì)選擇MSP430F149作為核心芯片。MSP430F149單片機(jī)電源電壓采用低電壓,電壓范圍為1.8~3.6V。在數(shù)據(jù)保持方式下,隨機(jī)存取存儲(chǔ)器的耗電很低,電流約為0.1uA;在活動(dòng)模式下,耗電約為250uA/每秒百萬(wàn)條指令數(shù)。MSP430F149單片機(jī)的時(shí)鐘系統(tǒng)設(shè)計(jì)較為獨(dú)特?;緯r(shí)鐘系統(tǒng)和鎖相環(huán)時(shí)鐘系統(tǒng)或DCO數(shù)字振蕩器時(shí)鐘系統(tǒng)是MSP430系列單片機(jī)包括的兩個(gè)不同的時(shí)鐘系統(tǒng)。時(shí)鐘系統(tǒng)的作用是產(chǎn)生中央處理器和功能模塊所需要的時(shí)鐘。在指令的控制下,這些時(shí)鐘可以開(kāi)啟或關(guān)閉并實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)功耗的控制,充分發(fā)揮該系列單片機(jī)低功耗的優(yōu)點(diǎn)。因?yàn)橄到y(tǒng)在運(yùn)行時(shí)采用的工作模式和使用的功能模塊不同,芯片的功耗也隨之出現(xiàn)較大的差異。MSP430單片機(jī)系統(tǒng)有一種活動(dòng)模式(AM)和五種低功耗模式(LPM0、LPM1、LPM2、LPM3和LPM4)。此外,MSP430F149單片機(jī)的中斷為支持10多個(gè)中斷源、可任意嵌套的矢量中斷。僅僅6us就可以用中斷請(qǐng)求喚醒中央處理器。通過(guò)編程可以實(shí)現(xiàn)較快地響應(yīng)外部事件請(qǐng)求,同時(shí)降低系統(tǒng)的功耗的目的。在世界上所有的單片機(jī)中,MSP430系列的單片機(jī)是功耗最低的,一塊電池可在該系列單片機(jī)的系統(tǒng)中使用長(zhǎng)達(dá)10年,目前還沒(méi)有單片機(jī)可以在這一點(diǎn)上與之媲美。本次設(shè)計(jì)選用的MSP430F149單片機(jī)是一種16位單片機(jī)。它采用的結(jié)構(gòu)為RISC(即精簡(jiǎn)指令集)結(jié)構(gòu),一條指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢(傳統(tǒng)的MCS51單片機(jī)執(zhí)行一條指令至少需要12個(gè)時(shí)鐘周期),故RISC精簡(jiǎn)指令集結(jié)構(gòu)在單片機(jī)中很受歡迎且備受推崇。由于這種設(shè)計(jì),當(dāng)選擇8MHz的晶振時(shí),MSP430F149的指令速度可以達(dá)到8MIPS[7]。2.2.2運(yùn)動(dòng)模塊選擇方案采用ULN2003芯片設(shè)計(jì)步進(jìn)電機(jī)驅(qū)動(dòng)模塊,該芯片可以對(duì)步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng),由七個(gè)硅NPN達(dá)林頓管組成的ULN2003是大電流、高耐壓的達(dá)林頓陳列。ULN2003芯片電路的特點(diǎn)主要有以下幾個(gè)方面:(1)每對(duì)達(dá)林頓電路都有一個(gè)阻止為2.7K基極電阻與之串聯(lián)。當(dāng)工作電壓為5V時(shí),ULN2003可以直接連接TTL晶體管-晶體管邏輯電路和CMOS金屬-氧化物-半導(dǎo)體集成電路,需要使用標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)在這種情況下可以直接被處理。(2)ULN2003工作電壓高,工作電流大。漏電流高達(dá)500mA,關(guān)斷時(shí)可承受50V電壓,輸出也可在大負(fù)載電流下并行運(yùn)行[8]??稍?V電壓下工作,直接驅(qū)動(dòng)5V步進(jìn)電機(jī)。如典型的5V步進(jìn)電機(jī),例如24BYJ/48,為四相八拍電機(jī),減速比為1/64,步進(jìn)角為5.625°/64。2.2.3超聲波模塊選擇方案 本設(shè)計(jì)選用US-015作為超聲波測(cè)距模塊。US-015是市場(chǎng)上分辨率最高的超聲波測(cè)距模塊,具有最佳的重復(fù)測(cè)量一致性。US-015分辨率大于1mm,可達(dá)0.5mm,測(cè)距精度高;重復(fù)測(cè)量一致性好,測(cè)距穩(wěn)定可靠。US-015超聲波測(cè)距模塊可實(shí)現(xiàn)2cm~4m的非接觸測(cè)距功能,供電電壓為5V,工作電流2.2mA,支持GPIO通訊方式,運(yùn)行穩(wěn)定可靠[9]。當(dāng)被測(cè)距離超出US-015的測(cè)量范圍時(shí),US-015仍會(huì)通過(guò)echo引腳輸出高電平信號(hào),高電平寬度約為80ms。測(cè)量周期:通過(guò)echo引腳接收到US-015輸出的高電平脈沖后,即可進(jìn)行下一次測(cè)量。因此,測(cè)量周期取決于測(cè)量距離。當(dāng)US-015非??拷粶y(cè)物體時(shí),Echo返回的脈沖寬度比較窄,并且測(cè)量周期較短。隨著US-015遠(yuǎn)離被測(cè)物體,返回的脈沖寬度變寬,測(cè)量周期也隨之變長(zhǎng)。最壞情況下,被測(cè)物體在US-015的測(cè)量范圍之外,此時(shí)返回的脈寬最長(zhǎng),約為80ms,因此最壞情況下的測(cè)量周期略長(zhǎng)于80ms(取85ms足夠)。2.2.4避障模塊選擇方案 本設(shè)計(jì)采用TCRT5000紅外反射傳感器作為避障模塊。該模塊的傳感器基于紅外光反射原理。TCRT5000內(nèi)部有一個(gè)覆蓋了能夠阻擋可見(jiàn)光的材料的光敏晶體管,和一個(gè)紅外發(fā)光二極管。TCRT5000用于檢測(cè)反射距離,適用于1mm~25mm;比較器輸出,信號(hào)清晰,波形好,驅(qū)動(dòng)能力強(qiáng),大于15mA;配備多圈可調(diào)精密電位器,調(diào)節(jié)靈敏度;工作電壓3.3V-5V;輸出形式:數(shù)字開(kāi)關(guān)量輸出(0、1);帶固定螺栓孔,安裝方便;PCB尺寸:3.2cmx1.4cm;使用寬電壓LM393比較器[10]。 TCRT5000傳感器的紅外線發(fā)射二極管持續(xù)發(fā)射紅外線。當(dāng)發(fā)出的紅外線出現(xiàn)以下兩種情況時(shí),紅外線接收管始終處于關(guān)閉狀態(tài):(1)紅外線沒(méi)有被反射回來(lái);(2)紅外線被反射回來(lái),但是反射回來(lái)的紅外線強(qiáng)度低于所設(shè)定的閾值。此時(shí)二極管一直處于斷開(kāi)狀態(tài),模塊的輸出端為高電平。當(dāng)被測(cè)物體出現(xiàn)在檢測(cè)范圍內(nèi)時(shí),紅外線以足夠的強(qiáng)度反射回來(lái),紅外接收管飽和。此時(shí)模塊輸出為低電平,表示二極管導(dǎo)通。2.2.5無(wú)線通信模塊選擇方案 在本次畢業(yè)設(shè)計(jì)中,選擇1838紅外接收器作為無(wú)線通信模塊。紅外遙控作為目前被大量使用的通信方法,具有很多優(yōu)點(diǎn),如功能強(qiáng)大、成本低廉等。紅外遙控器具有體積較小、便于攜帶和功耗較低的優(yōu)點(diǎn)。生活中的各種產(chǎn)品都有紅外遙控的應(yīng)用,如電視、機(jī)頂盒、智能音箱、錄音機(jī)、空調(diào)和玩具等。同時(shí),由于紅外遙控具有可靠性高、可以將電氣干擾隔離的優(yōu)點(diǎn),在需要在有輻射、高壓、有毒氣體等環(huán)境中運(yùn)行的工業(yè)設(shè)備中,紅外遙控也得到了廣泛的應(yīng)用[11]。2.2.6顯示模塊選擇方案 本設(shè)計(jì)選用DMTFT-28TFT彩色觸摸屏作為顯示模塊。目前TFT是使用最廣泛的手機(jī)屏幕。隨著產(chǎn)業(yè)的發(fā)展和技術(shù)的進(jìn)步,TFT不僅應(yīng)用于手機(jī)等數(shù)碼產(chǎn)品,還應(yīng)用于各種行業(yè)和家用電器,如儀器儀表、手持工業(yè)設(shè)備、掃描設(shè)備、冰箱等。DMTFT-28模塊是一塊2.8英寸的TFT彩屏,帶觸摸功能??芍苯討?yīng)用于各種單片機(jī)(51、AVR、MSP430、PIC以及飛思卡爾等)、ARM(如STM32等)、DSP等控制器,可以顯示漢字、字符以及圖片等,可通過(guò)模塊的LCD轉(zhuǎn)接板進(jìn)行設(shè)置[12]。2.3系統(tǒng)整體設(shè)計(jì)框圖本系統(tǒng)以MSP430F149為主控制器,接下來(lái)使用光電傳感器、超聲波傳感器、紅外傳感器模塊對(duì)數(shù)據(jù)進(jìn)行采集,將數(shù)據(jù)由MSP430F149芯片讀取出來(lái)再在顯示屏上展現(xiàn)出來(lái),最后可以實(shí)現(xiàn)清潔功能。下圖2-1為整個(gè)系統(tǒng)設(shè)計(jì)的框圖。圖2-1系統(tǒng)整體設(shè)計(jì)框圖

第3章硬件電路設(shè)計(jì)本設(shè)計(jì)是對(duì)清潔機(jī)器人進(jìn)行一次研究,并且以MSP430F149作為控制單元,并通過(guò)該芯片讀取數(shù)據(jù)顯示在TFTLCD屏上。該系統(tǒng)采內(nèi)部裝有電機(jī)模塊,利用PWM波原理進(jìn)行速度控制,其次通過(guò)紅外傳感器接受遙控信號(hào)。同時(shí)超聲波和光電傳感器模塊將位置信息傳送給MSP430F149,對(duì)路徑進(jìn)行規(guī)劃,將模式、速度、剩余時(shí)間在液晶屏中顯示出來(lái),最后完成清潔任務(wù)。本系統(tǒng)硬件部分包含運(yùn)動(dòng)、無(wú)線通信、顯示屏、超聲波、和避障模塊。本設(shè)計(jì)用MSP430F149作為核心芯片,并對(duì)數(shù)據(jù)進(jìn)行采集在TFTLCD上顯示出來(lái),并完成清潔任務(wù)。3.1主控制器MSP430F149圖3-1為MSP430F149芯片的硬件原理圖。圖3-1MSP430F149芯片端口引腳圖MSP430F149單片機(jī)電源電壓采用低電壓,電壓范圍為1.8~3.6V。MSP430單片機(jī)系統(tǒng)有一種活動(dòng)模式(AM)和五種低功耗模式(LPM0、LPM1、LPM2、LPM3和LPM4)。MSP430F149單片機(jī)的中斷為支持10多個(gè)中斷源、可任意嵌套的矢量中斷。僅僅6us就可以用中斷請(qǐng)求喚醒中央處理器。通過(guò)編程可以實(shí)現(xiàn)較快地響應(yīng)外部事件請(qǐng)求,同時(shí)降低系統(tǒng)的功耗的目的。在世界上所有的單片機(jī)中,MSP430系列的單片機(jī)是功耗最低的。MSP430F149單片機(jī)它采用的結(jié)構(gòu)為RISC(即精簡(jiǎn)指令集)結(jié)構(gòu),一條指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢(傳統(tǒng)的MCS51單片機(jī)執(zhí)行一條指令至少需要12個(gè)時(shí)鐘周期)[13]。MSP430F149芯片端口引腳功能分別如下:在圖3-1中,Avcc和Avss為MSP430F149芯片的數(shù)模轉(zhuǎn)換的模擬部分供電,分別是模擬電源的正端和負(fù)端。起到為數(shù)字部分供電功能的引腳是DVcc和DVss,分別是數(shù)字電源的正端和負(fù)端。P1.0/TACLK除了作為通用的輸入輸出端之外,還可以作為定時(shí)器A時(shí)鐘信號(hào)的輸入。P1.1/TA0可用作通用的輸入輸出端,使CCIOA的輸入可以被定時(shí)器A捕獲,還可以用于BSL的發(fā)送以及OUT的輸出的比較。P1.2/Tal用于通用的輸入輸出端,以及被定時(shí)器A捕獲的CCI1A輸入,還可以用于OUTl輸出的比較。P1.3/TA2用于通用輸入輸出端,還可以用于OUT2輸出的比較。P1.4/SMCLK用于通用的輸入輸出端,以及輸出SMCLK信號(hào)。P1.5/TA0用于通用的輸入輸出端,也可以用于比較OUT0的輸出。P1.6/Tal也是通用的輸入輸出端,還可以用于定時(shí)器A的OUT1輸出的比較。P1.7/TA2除了作為通用的輸入輸出端之外,也使比較器A的OUT2的比較輸出。P2.0/ACLK、P2.1/TAINCLK、P2.2/CAOUT/TA0、P2.3/CA0/Tal、P2.4/CA1/TA2、P2.5/Rosc、P2.6/ADCl2CLK/DMAE0、P2.7/TA0均為通用的輸入輸出端,分別還具有以下功能:P2.0還可以用于ACLK輸出;P2.1還可以用于INCLK的時(shí)鐘信號(hào)(定時(shí)器A);P2.2還可以用于比較器輸出以及CCIOB輸入;P2.3還可以用于比較器A輸入和OUT2輸出;P2.4還可以用于比較OUT2輸出(定時(shí)器A)和比較器A輸入;P2.5還有定義外部電阻輸入(DCO標(biāo)稱頻率)的功能;P2.6可用于DMA外部觸發(fā)器(通道0),還可用于時(shí)鐘ADC12的轉(zhuǎn)換;P2.7還具有比較OUT0輸出(定時(shí)器A)的功能。P3.0/STE0、P3.1/SIMO0/DSDA、P3.2/SOMIO、P3.3/UCLK0/SCL、P3.4/UTX、P3.5/URXD0、P3.6、P3.7管腳也都可以作為通用的輸入輸出端。這些引腳同時(shí)還具有其他功能,如USART0/SPI模式的使能、從入和主出、從出和主入、I2C時(shí)鐘輸出和外部時(shí)鐘輸入、傳輸數(shù)據(jù)和接收數(shù)據(jù)的輸入和輸出等。P4所有引腳也可作為通用數(shù)字輸入輸出引腳,同時(shí)還有很多其他用途。P4口的所有引腳均可用于捕獲I/P以及作為PWM脈沖寬度調(diào)制的輸出端口。P5口也均可作為通用數(shù)字輸入輸出引腳。同時(shí)可用于USARTI/SPI模式的控制、主系統(tǒng)以及子系統(tǒng)時(shí)鐘的輸入輸出。P6口除了用于通用數(shù)字輸入輸出引腳外,還用于ADC模擬的輸入和輸出。除了以上介紹的P1~P6引腳,MSP430F149芯片還有一些其他引腳。如復(fù)位引腳、測(cè)試時(shí)鐘和測(cè)試數(shù)據(jù)的輸入輸出引腳、內(nèi)外部參考電壓的輸入輸出引腳、XT1和XT2晶振的輸入輸出端口等[14]。3.2運(yùn)動(dòng)模塊步進(jìn)電機(jī)驅(qū)動(dòng)模塊ULN2003可以驅(qū)動(dòng)步進(jìn)電機(jī),方便在控制設(shè)備中使用。ULN2003是由七個(gè)硅NPN復(fù)合晶體管組成的耐高壓、大電流復(fù)合晶體管陣列。每對(duì)達(dá)林頓電路都有一個(gè)阻值為2.7K基極電阻與之串聯(lián)。當(dāng)工作電壓為5V時(shí),ULN2003芯片可以直接連接TTL晶體管-晶體管邏輯電路和CMOS金屬-氧化物-半導(dǎo)體集成電路,需要使用標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)在這種情況下可以直接被處理。ULN2003芯片是達(dá)林頓晶體管陣列系列高壓大電流產(chǎn)品。ULN2003芯片具有工作電壓高以及工作電流大的特點(diǎn)。該芯片的漏電流高達(dá)500mA,在關(guān)斷時(shí)可以承受高達(dá)50V的電壓,輸出也可在大負(fù)載電流下并行運(yùn)行。ULN2003芯片可在5V電壓下工作,直接驅(qū)動(dòng)典型的5V步進(jìn)電機(jī),例如24BYJ/48等,該步進(jìn)電機(jī)為四相八拍電機(jī),減速比為1/64,步進(jìn)角為5.625°/64[15]。圖3-2為ULN2003芯片端口引腳圖:圖3-2ULN2003芯片端口引腳圖其中JP6即與步進(jìn)電機(jī)的接口,步進(jìn)電機(jī)可以直接插到2~5口,D1~D4為步進(jìn)電機(jī)控制口,連接到P21~P24口,步進(jìn)電機(jī)正轉(zhuǎn)或者反轉(zhuǎn)數(shù)據(jù)可以直接給對(duì)應(yīng)的P2口。3.3超聲波模塊本次設(shè)計(jì)選擇US-0159模塊作為超聲波測(cè)距模塊。本超聲波測(cè)距模塊模塊包括P89LPC932A1芯片,該芯片適用于多種對(duì)集成度要求較高和對(duì)成本要求較低的場(chǎng)合。P89LPC932A1芯片的處理器架構(gòu)具有高性能、執(zhí)行速度快的特點(diǎn),僅需2~4個(gè)時(shí)鐘周期就可以執(zhí)型一條指令,比標(biāo)準(zhǔn)的80C51器件速度快6倍。多種系統(tǒng)級(jí)功能集成在P89LPC932A1芯片上,具有降低成本、減少元件數(shù)量和減小所用電路板的面積的作用,提高了系統(tǒng)的性價(jià)比。P89LPC932A1芯片的引腳圖如圖3-3所示。圖3-3P89LPC932A1芯片的引腳圖本設(shè)計(jì)采用74HC595芯片來(lái)控制數(shù)碼管的顯示。74HC595芯片是一個(gè)位移緩沖器,有8位串行輸入和三態(tài)并行輸出。串行數(shù)據(jù)在SCK出現(xiàn)上升沿時(shí),被SDL輸入到內(nèi)部并通過(guò)Q7'輸出。當(dāng)74HC595芯片處于并行輸出狀態(tài)時(shí),位于8位位移緩存器的數(shù)據(jù)在LCK的上升沿被存貯到并行輸出緩存器中。OE是串行數(shù)據(jù)輸入端的控制信號(hào),當(dāng)輸入信號(hào)為低使能時(shí),存儲(chǔ)在并行輸出緩沖器中存儲(chǔ)的數(shù)值和輸出的數(shù)值相等。74HC595芯片的主要優(yōu)點(diǎn)是它有一個(gè)數(shù)據(jù)存儲(chǔ)寄存器。在移位期間,輸出數(shù)據(jù)可以保持不變。這在串行速度較慢且需要數(shù)碼管沒(méi)有肉眼可識(shí)別的閃爍時(shí)很有用。74HC595芯片的引腳如圖3-4所示,各引腳介紹如下。數(shù)碼管的八個(gè)段位可以由八位并行輸出端Q0、Q1、Q2、Q3、Q4、Q5、Q6和Q7直接進(jìn)行控制。通過(guò)級(jí)聯(lián)輸出端可以與其他的74HC595芯片相連,級(jí)聯(lián)輸出端是Q7',將前一個(gè)芯片的Q7'端與下一個(gè)74HC595芯片的串行數(shù)據(jù)輸入端DS端連起來(lái)就可以實(shí)現(xiàn)級(jí)聯(lián)。74HC595芯片的第十個(gè)管腳的/MR通常與電源正極相連,使輸入信號(hào)為高電平,防止數(shù)據(jù)被清零,當(dāng)信號(hào)為低電平時(shí)則將清零移位寄存器的數(shù)據(jù)清零。74HC595芯片的11角是SH_CP,在輸入信號(hào)處于上升沿時(shí),對(duì)數(shù)據(jù)寄存器中的數(shù)據(jù)按照Q0到Q7的順序移位,當(dāng)信號(hào)處于下降沿時(shí),移位寄存器的數(shù)據(jù)被鎖存,不會(huì)發(fā)生改變。74HC595芯片的12角是ST_CP,移位寄存器中的數(shù)據(jù)在當(dāng)檢測(cè)到輸入的信號(hào)處于上升沿時(shí),可以進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,當(dāng)信號(hào)處于下降沿時(shí),數(shù)據(jù)被鎖存。在一般情況下,74HC595芯片的11角置為低電平,在移位結(jié)束之后,在74HC595芯片的12角產(chǎn)生一個(gè)正向脈沖,顯示的數(shù)據(jù)被更新。74HC595芯片的13角是/OE,該引腳在信號(hào)處于高電的時(shí)候禁止輸出數(shù)據(jù),即處于高阻狀態(tài)。如果單片機(jī)管腳使用不是很緊張,用單個(gè)管腳來(lái)控制,就可以很容易地產(chǎn)生閃爍以及新滅的效果。它比通過(guò)數(shù)據(jù)端移位更省時(shí)省力。當(dāng)74HC595芯片處于正常工作狀態(tài)時(shí),12角為低電平,13角為低電平。在串行數(shù)據(jù)輸入的過(guò)程中,每當(dāng)有一位數(shù)據(jù)從DS口輸入,11角的串行輸入時(shí)鐘產(chǎn)生一次有效的上升沿信號(hào)。輸入完所有的的數(shù)據(jù)之后,74HC595的12角ST_CP會(huì)產(chǎn)生一個(gè)有效的上升沿信號(hào)17]。圖3-4HC595的引腳圖圖3-5為US-0159模塊端口引腳圖:圖3-5US-0159端口引腳圖1號(hào)端口接VCC電源(直流5V);2號(hào)端口接外部電路的Trig端,向此管腳輸入一個(gè)10uS以上的高電平,可觸發(fā)模塊測(cè)距;3號(hào)端口接外部電路的Echo端,當(dāng)測(cè)距結(jié)束時(shí),此管腳會(huì)輸出一個(gè)高電平,電平寬度為超聲波往返時(shí)間之和;4號(hào)端口接外部電路的地。trig和echo端口在程序初始化時(shí)都被置為低電平。當(dāng)US-0159處于工作模式時(shí),若要測(cè)出超聲波在空氣中運(yùn)行的時(shí)間,則要先將高電平脈沖發(fā)送給trig口,該脈沖為自動(dòng)發(fā)送的40k方波,持續(xù)至少10us的時(shí)間。等到echo端口輸出的上升沿信號(hào)被trig端口接收到之后,定時(shí)器被打開(kāi),進(jìn)行計(jì)時(shí)。再將捕捉到echo的下降沿后定時(shí)器的數(shù)值讀出來(lái)。根據(jù)上升沿和下降沿間隔的時(shí)間和聲信號(hào)傳播的速度,可以將障礙物和發(fā)送超聲波設(shè)備之間的距離計(jì)算出來(lái)。3.4避障模塊本次設(shè)計(jì)選擇TCRT5000作為避障模塊,圖3-6為T(mén)CRT5000硬件電路圖:圖3-6避障模塊電路圖TCRT5000傳感器的紅外線發(fā)射二極管持續(xù)發(fā)射紅外線。當(dāng)發(fā)出的紅外線出現(xiàn)以下兩種情況時(shí),紅外線接收管始終處于關(guān)閉狀態(tài):(1)紅外線沒(méi)有被反射回來(lái);(2)紅外線被反射回來(lái),但是反射回來(lái)的紅外線強(qiáng)度低于所設(shè)定的閾值。此時(shí)二極管一直處于斷開(kāi)狀態(tài),模塊的輸出端為高電平。當(dāng)被測(cè)物體出現(xiàn)在檢測(cè)范圍內(nèi)時(shí),紅外線以足夠的強(qiáng)度反射回來(lái),紅外接收管飽和。此時(shí)模塊輸出為低電平,表示二極管導(dǎo)通。TCRT5000紅外傳感器的工作距離范圍約為0.2~15mm[18]。TCRT5000傳感器有以下四個(gè)端口,VCC:接電源正極(3-5V),GND:接電源負(fù)極,DO:TTL開(kāi)關(guān)信號(hào)輸出,AO:模擬信號(hào)輸出。3.5無(wú)線通信模塊本次設(shè)計(jì)選擇紅外接收頭1838作為無(wú)線通信模塊。遙控器由紅外收發(fā)、信號(hào)調(diào)制和指示狀態(tài)電路、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器以及鍵盤(pán)等組成。紅外遙控器的原理比較簡(jiǎn)單,就是通過(guò)遙控器中的紅外發(fā)射管將信號(hào)轉(zhuǎn)化為不可見(jiàn)的紅外光,將紅外光發(fā)送出去,再由被遙控器物體的紅外接收頭接收到紅外光并轉(zhuǎn)換成信號(hào)。于是目標(biāo)物體就可以受到紅外遙控的控制了。在控制狀態(tài)下,每次控制鍵被用戶按下后,位于指定的存儲(chǔ)單元中的一系列二進(jìn)制數(shù)據(jù)就會(huì)被中央處理器讀取出來(lái),同時(shí)串行輸出到信號(hào)保持電路,由信號(hào)保持電路電路進(jìn)行信號(hào)的調(diào)制。在串行輸出時(shí),兩位數(shù)據(jù)之間間隔的時(shí)間與采樣期間間隔的時(shí)間相等。調(diào)制信號(hào)經(jīng)過(guò)放大后,由紅外發(fā)光二極管發(fā)射,從而實(shí)現(xiàn)用按鍵控制設(shè)備的功能??刂菩盘?hào)一般用幾種不同的特性來(lái)區(qū)分,常用來(lái)區(qū)分指令信號(hào)的特性是頻率和編碼組的特性,即用不同的頻率或編碼的電信號(hào)來(lái)表示信號(hào),從而實(shí)現(xiàn)遙控。根據(jù)指令和識(shí)別信號(hào)產(chǎn)生方法的不同,常把紅外系統(tǒng)分為頻分制和碼分制。為了避免信號(hào)間的相互干擾,正確地實(shí)現(xiàn)遙控功能,控制信號(hào)通常使用不同頻率和編碼組進(jìn)行區(qū)分。即用不同的頻率或編碼的電信號(hào)來(lái)表示信號(hào),以實(shí)現(xiàn)遙控。因此,紅外遙控系統(tǒng)通常根據(jù)控制命令產(chǎn)生和識(shí)別信號(hào)的方式和特點(diǎn)進(jìn)行分類,常分為紅外遙控頻率共享和紅外遙控編碼共享。紅外遙控系統(tǒng)一般由發(fā)射器和接收器兩部分組成,信號(hào)發(fā)生電路、調(diào)制和驅(qū)動(dòng)電路、發(fā)射指令按鍵組成了紅外遙控系統(tǒng)的發(fā)射器。指令信號(hào)經(jīng)過(guò)紅外信號(hào)調(diào)制電路調(diào)制后,發(fā)出信號(hào)驅(qū)動(dòng)紅外發(fā)射器。接收器由前置解調(diào)和放大電路、指令信號(hào)檢出電路、記憶、執(zhí)行及驅(qū)動(dòng)電路組成。當(dāng)紅外指令的紅外光信號(hào)被接收器件收到時(shí),接收器件把收到的信號(hào)由光信號(hào)轉(zhuǎn)化為可以被前置放大電路放大和解調(diào)器解調(diào)的電信號(hào),放大和解調(diào)后再通過(guò)檢出電路,把檢測(cè)出來(lái)發(fā)的指令信號(hào)送到記憶和驅(qū)動(dòng)電路,驅(qū)動(dòng)執(zhí)行電路來(lái)實(shí)現(xiàn)所設(shè)置的功能。紅外遙控發(fā)射器由以下三部分組成:鍵盤(pán)、發(fā)光二極管和驅(qū)動(dòng)電路。按下按鍵后,為了防止把干擾信號(hào)識(shí)別為有效信號(hào),系統(tǒng)會(huì)在啟動(dòng)振蕩器之前進(jìn)行一段微小的延遲。代碼經(jīng)過(guò)一定范圍內(nèi)的載波調(diào)制后再輸出,提高了傳輸過(guò)程中的抗干擾能力,延長(zhǎng)了遙控器電池的使用壽命。一體化紅外接收頭是遙控系統(tǒng)的接收部分,由解調(diào)器、放大器、限幅器、積分器和濾波器等部分組成。一體化紅外接收頭根據(jù)載波頻率的不同有不同的型號(hào)。一體化紅外接收頭接收的電路輸出為高電平時(shí),沒(méi)有收到紅外信號(hào);輸出為低電平時(shí),表示收到了紅外信號(hào)。一體化紅外接收頭有信號(hào)輸出、電源、GND三個(gè)引腳。接口原理圖如圖3-7所示:圖3-7一體化紅外接收頭1838端口引腳圖一體化紅外接收頭1838的1腳KEY3連接到P32口,為紅外數(shù)據(jù)通道,2腳和3腳分別接GND和VCC。3.6顯示模塊本設(shè)計(jì)選用DMTFT-28TFT彩色觸摸屏作為顯示模塊。DMTFT-28模塊是一塊2.8英寸的TFT彩屏,帶觸摸功能。觸摸屏、液晶面板和轉(zhuǎn)接板組成了彩屏模塊。轉(zhuǎn)接板電路主要由以下幾部分組成:輸入輸出擴(kuò)展、SD存儲(chǔ)卡接口、屏幕控制、彩屏控制接口、背光電路和柔性印刷電路板等。為了獲得較為穩(wěn)定的工作狀態(tài),選擇柔性印刷電路板接口電路將LCD面板和轉(zhuǎn)接面板的連接起來(lái)。觸摸屏?xí)r出廠默認(rèn)使用XPT2046控制芯片。如圖3-8所示。圖3-8XPT2046端口引腳圖電極、兩層阻性導(dǎo)體層和兩層隔離層構(gòu)成了觸摸屏,導(dǎo)體的上下兩層在觸摸屏工作時(shí)起到電阻網(wǎng)絡(luò)的作用。當(dāng)有外力作用在觸摸屏上時(shí),上下兩層會(huì)產(chǎn)生接觸點(diǎn),接觸點(diǎn)處的坐標(biāo)可以通過(guò)測(cè)量電壓得到,測(cè)量的位置為電極未加電壓的另一層[20]。通過(guò)通用輸入輸出端口的擴(kuò)展,驅(qū)動(dòng)16位數(shù)據(jù)只需占用8位控制器的端口,節(jié)省了通用輸入輸出端口的資源。液晶顯示模塊出廠時(shí)被設(shè)置為16位,IO擴(kuò)展電路圖如下圖3-9所示。圖3-9DMTFT-28的輸入輸出口擴(kuò)展電路圖鎖存器的D0、D1、D2、D3、D4、D5、D6、D7分別與8位通用數(shù)字輸入輸出口相連,鎖存器的輸出口Q1、Q1、Q3、Q4、Q5、Q6、Q7分別與TFT的高8位數(shù)據(jù)口連接在一起。送到D10~D17,此時(shí)通過(guò)LE控制管腳將數(shù)據(jù)鎖存到TFT的高8位數(shù)據(jù)口,然后將16位數(shù)據(jù)的低8位送到D10~D17即完成數(shù)據(jù)送至TFT數(shù)據(jù)口工作。寫(xiě)入16位數(shù)據(jù)時(shí),首先把16位數(shù)據(jù)中的高8位分別發(fā)送到D10、D11、D12、D13、D14、D15、D16和D17,通過(guò)LE引腳的控制,數(shù)據(jù)被鎖存到顯示屏數(shù)據(jù)口的高8位,接著再將剩下的低8位數(shù)據(jù)發(fā)送D10~D17端口。彩色觸摸屏采用2x20直插式接口,40個(gè)引腳使用兩組單列20個(gè)的插針,接口原理圖如圖3-10所示:圖3-10DMTFT-28端口引腳圖DMTFT-28的1腳為地;2腳為高電平輸入,默認(rèn)輸入5V電壓,也可以輸入3.3V電壓;3腳懸空;4~16腳與一個(gè)阻值為1k~2k的電阻相連,起到限流作用,再與控制器相連,避免在TFT在5V電壓驅(qū)動(dòng)下因電流過(guò)大而損壞;17腳LE為輸入輸出擴(kuò)展控制位;18腳NB為背光控制預(yù)留腳;21~24腳為存儲(chǔ)卡的控制接口;26~33腳為彩屏數(shù)據(jù)口的高8位;35~40腳為彩屏的觸摸控制接口。

第4章系統(tǒng)軟件設(shè)計(jì)本章詳細(xì)介紹了各個(gè)模塊的軟件設(shè)計(jì)流程以及部分源代碼,包括運(yùn)動(dòng)模塊、無(wú)線通信模塊、超聲波模塊、避障模塊與MSP430芯片之間的軟件程序,顯示屏模塊的程序,最終得以在顯示屏上顯示模式、速度、剩余時(shí)間、課題名稱、學(xué)校、班級(jí)、姓名等信息。4.1智能清潔機(jī)器人系統(tǒng)主程序流程圖4-1主程序流程圖主程序流程圖如圖4-1,主程序如L4.1。在該系統(tǒng)中,首先對(duì)變量進(jìn)行定義,其次利用調(diào)用函數(shù)對(duì)看門(mén)狗、系統(tǒng)時(shí)鐘、IO口、光電傳感器、超聲波傳感器和液晶模塊初始化,接下來(lái)對(duì)這些模塊的參數(shù)進(jìn)行設(shè)置,利用While語(yǔ)句進(jìn)行循環(huán),將模式、速度、剩余時(shí)間以及我個(gè)人的信息在液晶屏上顯示出來(lái)。L4.1程序清單:voidmain(){WDT_Init();(1)Clock_Init();(2)Port_Init();(3)TCRT_Init();(4)US_Init();(5)Infrared_Init();(6)Device_code=0x7789;(7)TFT_Init();(8)LED_Light();(9)LCD_Infor();(10)while(1)(11){Motor();(12)TCRT();(13)US();(14)_Code();(15)LCD_Display();(16)}}程序L4.1說(shuō)明:L4.1(1):看門(mén)狗設(shè)置L4.1(2):系統(tǒng)時(shí)鐘設(shè)置L4.1(3):系統(tǒng)初始化,設(shè)置IO口屬性L4.1(4):初始化光電傳感器L4.1(5):初始化超聲波傳感器L4.1(6):初始化紅外模塊L4.1(7):TFT控制IC型號(hào)7789L4.1(8):初始化LCD L4.1(9):LED點(diǎn)亮一次,如有現(xiàn)象,說(shuō)明單片機(jī)初始化成功L4.1(10):液晶顯示個(gè)人信息L4.1(11):循環(huán)執(zhí)行程序L4.1(12):調(diào)用電機(jī)程序L4.1(13):光電傳感器L4.1(14):超聲波傳感器L4.1(15):調(diào)用遙控器解碼子程序L4.1(16):調(diào)用LCD顯示程序4.2運(yùn)動(dòng)模塊程序運(yùn)動(dòng)模塊是運(yùn)用PWM脈沖寬度調(diào)制對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行控制。該部分程序L4.2如下:L4.2程序清單:ucharF_Rotation[8]={0xE2,0xE6,0xE4,0xEC,0xE8,0xF8,0xF0,0xF2};(1)ucharB_Rotation[8]={0xF2,0xF0,0xF8,0xE8,0xEC,0xE4,0xE6,0xE2};(2)voidMotor(){for(j=0;j<64*8;j++) (3){for(i=0;i<8;i++){MADAPORT=B_Rotation[i];(4) delay_ms(10);(5)}}for(j=0;j<64*8;j++) (6){for(i=0;i<8;i++){MADAPORT=F_Rotation[i];(7)delay_ms(10);(8)}}}程序L4.2說(shuō)明:L4.2(1):正轉(zhuǎn)表格L4.2(2):反轉(zhuǎn)表格L4.2(3):步距角5.625/64減速比1/64,8拍,這個(gè)循環(huán)為反轉(zhuǎn)一圈L4.2(4):B_Rotation為反轉(zhuǎn)表格L4.2(5):延時(shí)10msL4.2(6):步距角5.625/64減速比1/64,8拍,這個(gè)循環(huán)為正轉(zhuǎn)一圈L4.2(7):F_Rotation為正轉(zhuǎn)表格L4.2(8):延時(shí)10ms4.3超聲波模塊程序本次設(shè)計(jì)選擇US-0159模塊作為超聲波測(cè)距模塊,該部分程序L4.3如下。L4.3程序清單:voidinit_timerA(void)(1){TACTL|=TASSEL_2+MC_2+TAIE+TACLR+ID_3;(2)TACCTL1|=CAP+CM_1+CCIS_0+SCS+CCIE;(3)}voidinit_IO(void)(4){P1DIR|=BIT1;(5)P1DIR&=~BIT2;(6)P1SEL|=BIT2;(7)P1OUT&=~BIT1;(8)}voidinit_clk(void)(9){uchari;BCSCTL1&=~XT2OFF;(10)BCSCTL2|=SELM_2+SELS;(11)do(12){IFG1=IFG1&(~OFIFG);(13)for(i=0;i<=0xff;i=i+1){ _NOP();(14)}}while((OFIFG&IFG1)!=0);(15)IFG1=IFG1&(~OFIFG);}程序L4.3說(shuō)明:L4.3(1):定時(shí)器A初始化函數(shù)L4.3(2):SMCLK,8MHz,8分頻,連續(xù)計(jì)數(shù),中斷允許,計(jì)數(shù)器清零L4.3(3):捕獲模式,上升沿捕獲(CM_2),CCI1A輸入,同步捕獲,中斷允許L4.3(4):I/O口初始化函數(shù)L4.3(5):P1.1輸出,普通I/OL4.3(6):P1.2輸入L4.3(7):P1.2第二功能,捕獲輸入L4.3(8):開(kāi)始低電平,控制驅(qū)動(dòng)波形發(fā)生L4.3(9):時(shí)鐘初始化函數(shù)L4.3(10):打開(kāi)XT振蕩器L4.3(11):MCLK8MandSMCLK8ML4.3(12):進(jìn)入循環(huán)L4.3(13):清除振蕩錯(cuò)誤標(biāo)志L4.3(14):延時(shí)等待L4.3(15):如果標(biāo)志為1繼續(xù)循環(huán)等待晶振起振4.4避障模塊程序采用TCRT5000紅外反射傳感器作為避障模塊,該部分程序L4.4如下。L4.4程序清單:voidInitial_com(void){ EA=1;(1) ES=1;(2)ET1=1;(3)TMOD=0x20;(4)PCON=0x00;(5)SCON=0x50;(6)TH1=0xfd;(7)TL1=0xfd; TR1=1;(8)}voidTCRT(){ Initial_com(); while(1) { if(key1==0) { delay(200); (9) if(key1==0) (10) { SBUF=0X01; delay(200); } } if(RI) { date=SBUF;(11) SBUF=date;(12) RI=0; } }}程序L4.4說(shuō)明:L4.4(1):開(kāi)總中斷L4.4(2):允許串口中斷L4.4(3):允許定時(shí)器T1中斷L4.4(4):定時(shí)器T1,在方式2中斷產(chǎn)生波特率L4.4(5):SMOD=0L4.4(6):方式1,由定時(shí)器控制L4.4(7):波特率設(shè)置為9600L4.4(8):開(kāi)定時(shí)器T1運(yùn)行控制位L4.4(9):消抖動(dòng)L4.4(10):確認(rèn)觸發(fā)L4.4(11):?jiǎn)纹瑱C(jī)接受L4.4(12):?jiǎn)纹瑱C(jī)發(fā)送4.5無(wú)線通信模塊程序無(wú)線通信模塊是用紅外傳感器對(duì)清潔機(jī)器人的模式進(jìn)行控制,在數(shù)碼管上顯示出來(lái)。該部分程序L4.5如下。L4.5程序清單:#defineRED_IN P1DIR&=~BIT3 (1)#defineRED_OUT P1DIR|=BIT3 (2)#defineRED_L P1OUT=P1OUT&~BIT3 (3)#defineRED_H P1OUT=P1OUT|BIT3(4)#defineRED_R (P1IN&BIT3) (5)voidRed_Code(){uchari,j,k=0;for(i=0;i<19;i++){delay_us(400); (6)if(RED_R)(7){ return;}}while(!RED_R);(8)for(i=0;i<5;i++)(9){delay_us(500);if(!RED_R) { return; }}while(RED_R);(10)for(i=0;i<4;i++)(11){for(j=0;j<8;j++)(12){ while(!RED_R);(13) while(RED_R);(14) { delay_us(100); k++; if(k>22)(15) { return; } } code_value>>=1;(16) if(k>=7) { code_value|=0x80;(17) } k=0;(18)}key_code[i]=code_value;(19)}Key_Icode();(20)Display_Key(KEY_VAL);(21)SOUNDON;(22)delay_ms(50);SOUNDOFF;(23)}程序L4.5說(shuō)明:L4.5(1):設(shè)置輸入,紅外接收頭接單片機(jī)PE3口L4.5(2):設(shè)置輸出L4.5(3):置低電平L4.5(4):置高電平L4.5(5):讀電平L4.5(6):延時(shí)400usL4.5(7):9ms內(nèi)有高電平,則判斷為干擾,退出處理程序L4.5(8):等待9ms低電平過(guò)去L4.5(9):是否連發(fā)碼L4.5(10):等待4.5ms高電平過(guò)去L4.5(11):接收4個(gè)字節(jié)的數(shù)據(jù)L4.5(12):每個(gè)字節(jié)的數(shù)據(jù)8位L4.5(13):等待變高電平L4.5(14):計(jì)算高電平時(shí)間L4.5(15):高電平時(shí)間過(guò)長(zhǎng),則退出處理程序L4.5(16):接受一位數(shù)據(jù)L4.5(17):高電平時(shí)間大于0.56,則為數(shù)據(jù)1L4.5(18):計(jì)時(shí)清零L4.5(19):四個(gè)字節(jié)的數(shù)據(jù)L4.5(20):調(diào)用賦值函數(shù)L4.5(21):顯示按鍵值L4.5(22):P62置低,蜂鳴器發(fā)聲L4.5(23):P62置低,蜂鳴器發(fā)聲4.6顯示模塊程序本次設(shè)計(jì)選擇DMTFT-28型TFT彩色觸摸屏作為顯示模塊,該部分程序L4.6如下。L4.6程序清單:voidData_Write_hl(unsignedcharData_High,unsignedcharData_Low)(1){CS_CLR;RS_SET;DataPort=Data_High;(2)LE_SET;(3)LE_CLR;(4)DataPort=Data_Low;(5)}voidClear_Screen(uintbackground_color)(6){unsignedinti,j;LCD_Set_Position(1,239,1,219); (7)for(i=0;i<=239;i=i+1){ for(j=0;j<=319;j=j+1) Data_Write_hl_U16(background_color);}}voidData_Write_hl_U16(uinty)(8){unchara,b;a=y>>8;b=y;Data_Write_hl(a,b);}voidPutGB2424(unshortm,unshortn,unchard[2],uintfront_color,uintbackground_color)(9){uinta,b,c;LCD_SetPosition(m,m+23,n,n+23);for(c=1;c<=65;c=c+1)(10){ if((code_GB_24[c].Index[0]==c[0])&&(codeGB_24[c].Index[]==c[])){ for(a=0;a<=71;i=i+1){ unsshortm=code_GB_24[k].Msk[i]; for(b=0;b<=7;b=b+1) { if((m&0x80)==0x80){ Data_Write_hl_U16(front_color); } else{ Data_Write_hl_U16(background_color); } m<<=1; } } }} } voidLCD_Ascii_PutChar(unshortm,unshortn,charc,uintfront_Color,uintbackground_Color)(11){uinta,b;LCD_SetPosition(m,m+7,n,n+15);(12) for(a=0;a<16;a=a+1){(13) uncharm=Font8x16[(c-0x20)*16+i];(14) for(b=0;b<=7;b=b+1)(15){ if((m&0x80)==0x80)(16){ Data_Write_hl_U16(front_Color);(17) } else{ Data_Write_hl_U16(background_Color);(18) } m<<=1;(19) } }}voidLCD_PutString_24(unshortm,unshortn,unchar*s,uintfront_Color,uintbackground_Color)(20){uncharl=0; while(*s!=0){ if(*s<=0x80) { LCD_Put_Char(m+l*8,n,*s,front_Color,background_Color); s=s+1;l=l+1; } else{ PutGB2424(m+l*12,n,(unsignedchar*)s,fColor,bColor); s+=2;l+=2; }}}voidLCD_Display(){CLR_Screen(Black_color);(21)LCD_PutString_24(10,30,"基于",Yellow,Black);(22)LCD_PutString_24((62,30,"msp430",Yellow,Black);(23)LCD_PutString_24((118,30,"的清潔機(jī)器人控制",Yellow,Black);LCD_PutString_24((10,60,"系統(tǒng)的研究與設(shè)計(jì)",Yellow,Black);LCD_PutString_24((150,100,"17通信二",Blue2,Black);delay_ms(300);LCD_PutString_24((150,130,"周海婷",Blue2,Black);LCD_PutString_24((150,160,"17030838",Blue2,Black);LCD_PutString_24((150,180,"指導(dǎo)老師:徐強(qiáng)",Blue2,Black);delay_ms(1000);CLR_Screen(Black);(24)LCD_PutString24(70,50,"步距角:",Blue2,Black);(25)LCD_PutString24(158,53,"5.625/64",Blue2,Black);LCD_PutString24(70,80,"模式:自動(dòng)模式",Blue2,Black);LCD_PutString24(145,83,"1",Blue2,Black);LCD_PutString24(70,110,"剩余時(shí)間:",Blue2,Black);LCD_PutString24(180,113,"2min",Blue2,Black);LCD_PutString24(70,140,"避障:否",Blue2,Black);delay_ms(8000);}程序L4.6說(shuō)明: L4.6(1):實(shí)現(xiàn)功能:寫(xiě)入數(shù)據(jù)輸入?yún)?shù):Data_High需要輸入高8位的數(shù)據(jù)Data_Low需要輸入低8位的數(shù)據(jù)L4.6(2):送低8位數(shù)據(jù)給573待鎖存L4.6(3):鎖存位L4.6(4):斷開(kāi)鎖存,位選573的Q7~Q0仍保持L4.6(5):送高8位數(shù)據(jù)給TFTL4.6(6):實(shí)現(xiàn)功能:TFT清屏輸入?yún)?shù):bColor清屏所使用的背景色L4.6(7):320x240L4.6(8):實(shí)現(xiàn)功能:寫(xiě)數(shù)據(jù)(16位) 輸入?yún)?shù):n需要輸入16bits數(shù)據(jù)L4.6(9):函數(shù)功能:顯示漢字24x24輸入?yún)?shù):m為橫坐標(biāo) n為縱坐標(biāo) c在屏幕上顯示的字碼 front_Color字符的顏色background_Color字符背景的顏色L4.6(10):64表示自建漢字庫(kù)中的個(gè)數(shù),循環(huán)查詢內(nèi)碼L4.6(11):實(shí)現(xiàn)功能:將Ascii字符在屏幕上顯示輸入?yún)?shù):m橫坐標(biāo)n縱坐標(biāo) c在屏幕上顯示的字符 front_Color表示字符的顏色 background_Color表示字符背景的顏色L4.6(12):設(shè)置字符顯示位置L4.6(13):循環(huán)寫(xiě)入16字節(jié),一個(gè)字符為16字節(jié)L4.6(14):因?yàn)樾枰獙scii庫(kù)中的0~1f去掉,所以c的數(shù)值減去0x20,從而提取字符的第i個(gè)字節(jié)L4.6(15):循環(huán)寫(xiě)入一個(gè)8位的字節(jié)L4.6(16):判斷最高位是否為1L4.6(17):當(dāng)最高位是1時(shí),把字符顏色寫(xiě)入L4.6(18):當(dāng)最高位是0時(shí),把背景顏色寫(xiě)入L4.6(19):將m左移1位L4.6(20):函數(shù)功能:顯示字符串,同時(shí)顯示中英文輸入?yún)?shù):m為字符的橫坐標(biāo)n為字符的縱坐標(biāo)*s需要在屏幕上顯示的字符串 front_Color字符的顏色background_Color字符背景的顏色L4.6(21):用背景色清屏L4.6(22):24x24大小漢字,字模軟件隸書(shū)

溫馨提示

  • 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)論