基于MSP430F5529的循跡壁障無(wú)線(xiàn)控制智能小車(chē)設(shè)計(jì)報(bào)告
《基于MSP430F5529的循跡壁障無(wú)線(xiàn)控制智能小車(chē)設(shè)計(jì)報(bào)告》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《基于MSP430F5529的循跡壁障無(wú)線(xiàn)控制智能小車(chē)設(shè)計(jì)報(bào)告(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、華中科技大學(xué)2013年TI杯電子設(shè)計(jì)競(jìng)賽總結(jié)報(bào)告 華中科技大學(xué)電子與信息工程系 2013年TI杯電子設(shè)計(jì)大賽項(xiàng)目總結(jié)報(bào)告 項(xiàng)目名稱(chēng): 基于MSP430的智能小車(chē)設(shè)計(jì) 團(tuán)隊(duì)成員: 竺浩 通信工程1006班 邱雙 通信工程1006班
2、 鄭學(xué)謙 通信工程1006班 指導(dǎo)教師: 汪小燕 2013 年 7 月 3 日 課題名稱(chēng):智能小車(chē)自動(dòng)控制系統(tǒng) 【摘要】 本次課程設(shè)計(jì)以MSP430超低功耗單片機(jī)系列MSP430F5529為主控制器,附加電機(jī)、電池、傳感控制模塊等,完成二驅(qū)小車(chē)自由運(yùn)動(dòng)、檢測(cè)黑白線(xiàn)實(shí)現(xiàn)沿軌道自動(dòng)運(yùn)行、能夠避開(kāi)障礙物、無(wú)線(xiàn)控制等功能,F(xiàn)5529
3、的I/O口豐富,使得各個(gè)功能模塊之間信息交流快捷方便。在機(jī)械結(jié)構(gòu)上,我們選購(gòu)用一個(gè)萬(wàn)用輪代替兩個(gè)前輪的小車(chē),大幅度提高了小車(chē)的靈敏度。利用單片機(jī)產(chǎn)生PWM波,控制小車(chē)速度,選用L298N驅(qū)動(dòng)芯片驅(qū)動(dòng)電路,使用三路紅外對(duì)接管檢測(cè)黑白線(xiàn),使用一個(gè)超聲波實(shí)現(xiàn)測(cè)距壁障功能,使小車(chē)能夠自動(dòng)左轉(zhuǎn)避開(kāi)障礙物,使用無(wú)線(xiàn)控制模塊,可實(shí)時(shí)控制小車(chē)運(yùn)動(dòng)。基于可靠的硬件設(shè)計(jì)和更加優(yōu)化的軟件算法,在實(shí)現(xiàn)本課設(shè)基本要求的基礎(chǔ)上,可實(shí)現(xiàn)部分?jǐn)U展功能。 【關(guān)鍵詞】:MSP430F5529 循跡 無(wú)線(xiàn)控制 超聲波測(cè)距壁障Abstract This curriculum project uses MSP430
4、F5529, in the series of MSP430 ultra low power single chip microcomputer, as its main controller. In addition, the realization of the controller’s function can not leave motor, battery, sensing control template and so on, for example, free movement of the two drive vehicle, and automatic operation a
5、long runway by testing black and white lines, avoiding obstacles, wireless operation and other functions. The quick and easy information exchanging among each functional template has to thank to the abundance of I/O of F5529. On mechanical structure, two front wheels of the mini car are replaced by
6、a universal wheel, so as to improve its sensitivity by large margin. PWM is used to control motor and single chip microcomputer to make PWM wave, in order to control its speed. The car can stop and turn left to avoid obstacles because L298N driving chip drives circuit, three infrared ray on pipes is
7、 used to test black and white lines, and an ultrasonic template is chosen to realize ranging barrier function. With wireless operating template, movement of the mini car can reach real-time control. Besides finishing basic requirement of this curriculum project, some broadening functions can also be
8、 achieved based on reliable hardware design and better software algorithm. Key words: MSP430F5529 tracking wireless control ultrasonic wave ranging counterguard 目錄 1 概述 ………………………………………………………………3 2 設(shè)計(jì)目標(biāo)……………………………………………………………3 3 團(tuán)隊(duì)組成與任務(wù)分工………………………………………………4 4 方案論證……………………………………
9、…………………………4 4.1 電機(jī)驅(qū)動(dòng)模塊…………………………………………………………..……...4 4.2 循跡模塊………………………………………………………………..……...5 4.3 無(wú)線(xiàn)模塊……………………………………………………………..………...5 4.4 測(cè)距壁障模塊………………………………………………………..………...5 5 系統(tǒng)總體設(shè)計(jì)…………………………………………………………7 5.1 總體設(shè)計(jì)思路………………………………………………………………...7 5.2 主要器件選擇………………………………………………………………...7 5.3
10、 主要元器件清單……………………………………………………………...8 7 系統(tǒng)各模塊設(shè)計(jì)與實(shí)現(xiàn)……………………………………………..15 7.1 電機(jī)驅(qū)動(dòng)模塊……………………………………………………………..15 7.2 循跡模塊……………………………………………………………………...16 7.3 無(wú)線(xiàn)模塊……………………………………………………………………...16 7.4 超聲波測(cè)距壁障模塊………………………………………………………...17 9 心得與總結(jié)…………………………………………………………..26 10 致謝…………………………………………………………………2
11、7 11 參考文獻(xiàn)……………………………………………………………27 12 附錄……………………………………………….………………...27 1. 概述 隨著控制技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展,智能車(chē)系統(tǒng)將在未來(lái)工業(yè)生產(chǎn)和日常生活中扮演重要的角色。智能小車(chē)系統(tǒng)綜合運(yùn)用了控制技術(shù)、傳感器技術(shù)、電力電子、計(jì)算機(jī)、機(jī)械等專(zhuān)業(yè)領(lǐng)域的知識(shí),使小車(chē)能夠模仿人類(lèi)的思想完成預(yù)定的控制任務(wù),實(shí)現(xiàn)智能化。 本系統(tǒng)以MSP430F5529為主控芯片,這是一款基于閃存的產(chǎn)品系列,在操作電壓范圍1.8-3.6V內(nèi),性能達(dá)到25MIPS,啟動(dòng)時(shí)為12MIPS,擁有一個(gè)優(yōu)化功耗的創(chuàng)新電源管理模塊,內(nèi)部有電壓穩(wěn)壓模
12、塊,以及更高的存儲(chǔ)能力。我們利用它自身的優(yōu)點(diǎn),并加入了紅外對(duì)接管、無(wú)線(xiàn)控制以及超聲波測(cè)距模塊,成功實(shí)現(xiàn)了循跡黑白線(xiàn),沿軌道運(yùn)行,不偏離軌道;實(shí)時(shí)遙控小車(chē)前行,左右轉(zhuǎn)彎及后退;以及測(cè)距壁障等功能,能夠檢測(cè)到前方障礙,并在半米的距離內(nèi)左轉(zhuǎn),避開(kāi)障礙物。供電方面,主控器使用兩節(jié)干電池單獨(dú)供電,電機(jī)等部分使用7.2V充電電池供電。小車(chē)可以通過(guò)無(wú)線(xiàn)控制的D鍵實(shí)現(xiàn)循跡和避障功能的切換。 本報(bào)告以下的內(nèi)容將會(huì)按照以下結(jié)構(gòu)來(lái)組織: 在第二小節(jié)中我們將會(huì)介紹設(shè)計(jì)的目標(biāo),以及小車(chē)將實(shí)現(xiàn)的基本功能和擴(kuò)展功能;第三小節(jié)中,我們將會(huì)介紹組員分工情況;第四小節(jié)中,我們將按模塊分析方案選取的原因,主要包括電機(jī)驅(qū)
13、動(dòng)模塊,循跡模塊、無(wú)線(xiàn)模塊、測(cè)距壁障模塊等四個(gè)主要模塊;第五小節(jié)的內(nèi)容是總體設(shè)計(jì)方案與應(yīng)用場(chǎng)景的介紹,其中將詳細(xì)介紹總體設(shè)計(jì)思路,核心器件的選擇,并且列出了主要器件清單;第六小節(jié)里,將按照模塊進(jìn)行詳細(xì)的介紹,其中包括每個(gè)小模塊的基礎(chǔ)知識(shí)、設(shè)計(jì)原理、軟硬件設(shè)計(jì)、性能分析、模塊的最終效果等。我們系統(tǒng)整機(jī)測(cè)試的過(guò)程與結(jié)果將會(huì)展現(xiàn)在第七小節(jié)。 2. 設(shè)計(jì)目標(biāo) 2.2 基本功能 1) 各個(gè)電路模塊自行設(shè)計(jì)完成,機(jī)械模塊自行購(gòu)買(mǎi) 2) 具有兩種以上傳感控制模塊 3) 能夠控制二驅(qū)小車(chē)自由運(yùn)動(dòng) 4) 能夠在規(guī)定的時(shí)間內(nèi)控制小車(chē)沿著具有直線(xiàn)和弧線(xiàn)的軌跡運(yùn)動(dòng)到停止處, 5) 不能偏離軌道 6)
14、 能夠利用紅外線(xiàn)發(fā)射及接收對(duì)管檢測(cè)黑白線(xiàn) 7) 由電池供電; 8) 使用MSP430開(kāi)發(fā)板作為控制處理器 2.2 拓展功能 1) 若在運(yùn)動(dòng)線(xiàn)路中設(shè)置障礙物,小車(chē)能夠避開(kāi)障礙物 2) 提高小車(chē)的運(yùn)行速度 3) 其他控制方式:如無(wú)線(xiàn)控制 3. 團(tuán)隊(duì)組成與任務(wù)分工 本小組分工的指導(dǎo)思想如下:為了最大程度實(shí)現(xiàn)并行性,我們按照模塊來(lái)劃分任務(wù)。不同模塊之間首先需要將相互之間的接口定義好,定義完成以后不同模塊就能夠相對(duì)地獨(dú)立工作了。我們所劃分的三大模塊為:電機(jī)控制及循跡模塊,超聲波測(cè)距壁障模塊,無(wú)線(xiàn)控制以及主函數(shù)編寫(xiě)模塊。 竺浩負(fù)責(zé)電機(jī)控制及循跡模塊程序的設(shè)計(jì)與調(diào)試;小組分工;小車(chē)組裝
15、;整機(jī)調(diào)試。 邱雙負(fù)責(zé)超聲波測(cè)距壁障模塊的電路與程序的設(shè)計(jì)和調(diào)試;編寫(xiě)文檔。 鄭學(xué)謙負(fù)責(zé)無(wú)線(xiàn)控制模塊的設(shè)計(jì)、實(shí)現(xiàn)與調(diào)試;主函數(shù)的編寫(xiě);小車(chē)組裝;元器件購(gòu)買(mǎi)。 4. 方案論證 4.1 電機(jī)驅(qū)動(dòng)模塊方案的選擇與論證 方案一: 采用電阻網(wǎng)絡(luò)調(diào)整電機(jī)的分壓,從而達(dá)到調(diào)速的目的。但是電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻元器件比較昂貴。更主要的問(wèn)題在于一般電動(dòng)機(jī)的電阻較小,但電流較大;分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。 方案二: 采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)小車(chē)的速度進(jìn)行控制。這個(gè)方案的優(yōu)點(diǎn)是電路較簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,機(jī)械結(jié)
16、構(gòu)易損壞,壽命較短,可靠性不高。 方案三: 采用由CMOS管組成的H型PWM電路。使用PWM波形來(lái)實(shí)現(xiàn)電機(jī)的調(diào)速。用單片機(jī)控制CMOS管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡(jiǎn)單實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子開(kāi)關(guān)的速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的PWM調(diào)速技術(shù)。 通過(guò)比較,本系統(tǒng)需要對(duì)電機(jī)的速度進(jìn)行控制,而且方案三對(duì)于資源的要求不是很高,可以由單片機(jī)自己產(chǎn)生,不需要增加硬件,對(duì)軟硬件的要求不是很高,可以很好的滿(mǎn)足本系統(tǒng)的要求。所以需要采用方案三。 4.2 循跡模塊 方
17、案一: 采用熱探測(cè)器。由于溫度變化是因?yàn)槲諢崮茌椛淠芰恳鸬?,與吸收紅外輻射的波長(zhǎng)沒(méi)有關(guān)系,即對(duì)紅外輻射吸收沒(méi)有波長(zhǎng)的選擇,因此受外界環(huán)境影響比較大。 方案二: 使用發(fā)光二極管和光敏三極管組合。這種方案的缺點(diǎn)在于其他環(huán)境的光源會(huì)對(duì)光敏二極管產(chǎn)生很大的干擾。 方案三: 采用光敏傳感器,根據(jù)白色背景和黑線(xiàn)的反光程度的不同,光強(qiáng)度的變化引起電阻的變化,但在光線(xiàn)比較的強(qiáng)的情況下誤差會(huì)很大。 方案四: 使用紅外反射式一體化傳感器進(jìn)行檢測(cè)。只要選擇數(shù)量和探測(cè)距離適合的紅外傳感器,可以精準(zhǔn)的判斷出黑線(xiàn)位置。 通過(guò)對(duì)比,這次設(shè)計(jì)中由于是近距離探
18、測(cè),故采用方案四來(lái)完成數(shù)據(jù)采集。由于紅外光波長(zhǎng)比可見(jiàn)光長(zhǎng),因此受可見(jiàn)光的影響較小。同時(shí)紅外線(xiàn)系統(tǒng)還具有以下優(yōu)點(diǎn):尺寸小、質(zhì)量輕,便于安裝。反射式光電檢測(cè)器就是其中的一種器件,它具有體積小、靈敏度高、線(xiàn)性好等特點(diǎn),外圍電路簡(jiǎn)單,安裝起來(lái)方便,電源要求不高。用它作為近距離傳感器是最理想的,電路設(shè)計(jì)簡(jiǎn)單、性能穩(wěn)定可靠。 4.4 測(cè)距壁障模塊 方案一: 采用超聲波技術(shù)。利用超聲波傳感器,監(jiān)視測(cè)量發(fā)射脈沖和接受脈沖的時(shí)間差,計(jì)算超聲波和物體之間的距離。并在適當(dāng)?shù)木嚯x內(nèi)采取壁障措施。 方案二: 采用反射式紅外發(fā)射—接收管。紅外線(xiàn)測(cè)距傳感器利用的就是紅外線(xiàn)信號(hào)在遇到障礙物其
19、距離的不同則其反射的強(qiáng)度也不同,根據(jù)這個(gè)特點(diǎn)從而對(duì)障礙物的距離的遠(yuǎn)近進(jìn)行測(cè)量的。其優(yōu)點(diǎn)是成本低廉,使用安全,制作簡(jiǎn)單,缺點(diǎn)就是測(cè)量精度低,方向性也差,測(cè)量距離近 以上兩種方案中,第一種精度較高,抗干擾能力強(qiáng),有較短的反應(yīng)時(shí)間,應(yīng)用廣泛,所以采用第一種超聲波方案。 4.5 供電方案 方案一: 采用兩個(gè)電源供電,將電動(dòng)機(jī)驅(qū)動(dòng)電源以及其周邊電路與單片機(jī)電源分別供電,由于單片機(jī)的電壓較低,而電機(jī)需要的電壓較高,容易使單片機(jī)電壓過(guò)高而損壞,使用兩個(gè)電池供電,可以提高系統(tǒng)穩(wěn)定性,但是多一組電池,增加了小車(chē)的質(zhì)量,同時(shí)也增加了小車(chē)的慣性,降低了靈敏度。 方案二:采用單一電
20、源供電。電源直接給單片機(jī)供電,通過(guò)單片機(jī)的IO口連接到電動(dòng)機(jī)上,這樣輸出的電壓穩(wěn)定,同時(shí)也減輕了小車(chē)的質(zhì)量,使小車(chē)更加靈活。但是加高的電壓提高了損壞單片機(jī)的風(fēng)險(xiǎn)。 從安全性考慮,我們選擇方案一。 5 系統(tǒng)總體設(shè)計(jì) 5.1 硬件電路設(shè)計(jì) 整個(gè)電路系統(tǒng)分為黑線(xiàn)檢測(cè)、障礙檢測(cè)、控制、驅(qū)動(dòng)四個(gè)主要部分。主控單元是小車(chē)的核心部分,它所要完成的任務(wù)有:處理輸入信號(hào),啟動(dòng)/停止小車(chē)、控制電機(jī)轉(zhuǎn)速、完成距離檢測(cè)、做出壁障判斷等。首先利用紅外對(duì)接管對(duì)路面信號(hào)進(jìn)行檢測(cè),然后將檢測(cè)結(jié)果送入主控芯片,輸出相應(yīng)的信號(hào)給驅(qū)動(dòng)芯片,驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),從而控制整個(gè)小車(chē)的運(yùn)動(dòng),與此同時(shí),超聲波模塊檢測(cè)前方
21、是否有障礙物,并將搜集到的信息實(shí)時(shí)送到主控芯片,及時(shí)避開(kāi)障礙。無(wú)線(xiàn)控制模塊也可以通過(guò)I/O中斷控制電機(jī)驅(qū)動(dòng),控制小車(chē)運(yùn)動(dòng)。 主控芯片 MSP430F5529 超聲波測(cè)距 時(shí)鐘電路 復(fù)位電路 電機(jī)驅(qū)動(dòng) 無(wú)線(xiàn)控制 紅外對(duì)接管循跡 電源電路 超聲波壁障 圖1 系統(tǒng)硬件框圖 5.1.1 超聲波模塊功能框圖 如圖3-2所示可以通過(guò)超聲波模塊得到小車(chē)與障礙物的距離,將數(shù)據(jù)交給單片機(jī)判斷是否需要避開(kāi)障礙物,隨即單片機(jī)控制電機(jī),驅(qū)動(dòng)小車(chē)運(yùn)動(dòng)。 超聲波模塊 返回信號(hào) 單片機(jī) 驅(qū)動(dòng)電路 電動(dòng)機(jī) 圖3-2 超聲波模塊功能框圖 5.
22、1.2 無(wú)線(xiàn)控制模塊功能框圖 如圖3-3所示 ,無(wú)線(xiàn)控制模塊發(fā)出控制信號(hào),經(jīng)單片機(jī)處理,控制電機(jī)運(yùn)動(dòng)。 控制信號(hào) 無(wú)線(xiàn)控制 單片機(jī) 驅(qū)動(dòng)電路 電機(jī) 圖 無(wú)線(xiàn)控制模塊功能框圖 5.1.3 電機(jī)驅(qū)動(dòng)調(diào)速模塊 用于控制小車(chē)的前進(jìn),后退,停止等基本功能,并且實(shí)現(xiàn)PWM波對(duì)于轉(zhuǎn)速的控制。如圖3-4所示 單片機(jī) 驅(qū)動(dòng)電路 電動(dòng)機(jī) 圖3-4 電機(jī)驅(qū)動(dòng)調(diào)速模塊功能框圖 PWM波 小車(chē)的基本機(jī)構(gòu)如下: 5.1.4 尋跡模塊 用于小車(chē)的循跡黑線(xiàn)。如圖3-5所示 檢測(cè)電路 信號(hào) 單片機(jī)
23、 驅(qū)動(dòng)電路 電動(dòng)機(jī) 圖3-5 循跡模塊功能框圖 5.1.5 開(kāi)發(fā)板管腳分配: 引腳號(hào) 引腳功能 硬件連接 電機(jī)模塊 P2.0 TA1CCR1 電機(jī)模塊ENA(輸出) P2.1 TA1CCR2 電機(jī)模塊ENB(輸出) P4.0 I/O 電機(jī)模塊IN1(輸出) P4.1 I/O 電機(jī)模塊IN2(輸出) P4.2 I/O 電機(jī)模塊IN3(輸出) P4.3 I/O 電機(jī)模塊IN4(輸出) 循跡模塊 P7.0 I/O 左循跡模塊OUT(輸入) P7.1 I/O 中循跡模塊OUT(輸入) P7.2 I/O
24、右循跡模塊OUT(輸入) 無(wú)線(xiàn)控制模塊 P4.4 I/O 無(wú)線(xiàn)解碼模塊D1(輸入) P4.5 I/O 無(wú)線(xiàn)解碼模塊D2(輸入) P4.6 I/O 無(wú)線(xiàn)解碼模塊D3(輸入) P4.7 I/O 無(wú)線(xiàn)解碼模塊D4(輸入) P2.6 I/O中斷 無(wú)線(xiàn)解碼模塊VT(輸入) 避障模塊 P7.7 I/O 超聲波測(cè)距模塊Trig(輸出) P1.0 I/O中斷 超聲波測(cè)距模塊Echo(輸入) 5.2 系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì) 根據(jù)不同路段的控制要求,單片機(jī)系統(tǒng)主要由電機(jī)調(diào)速和換向子程序,測(cè)距避障子程序,無(wú)線(xiàn)控制子程序和循跡子程序構(gòu)成。
25、總體流程如圖3—6所示: 開(kāi)始循跡 編輯電機(jī)模塊的IN1~IN4引腳號(hào)以及使能端ENA和ENB,定義左轉(zhuǎn)、右轉(zhuǎn)、前進(jìn)、停止函數(shù) 有 左轉(zhuǎn) 前進(jìn) 右轉(zhuǎn) 右壓線(xiàn) 中壓線(xiàn) 左壓線(xiàn) 判斷三個(gè)循跡模塊的輸出 無(wú) 左轉(zhuǎn) 前進(jìn) 信號(hào)夠短 信號(hào)過(guò)長(zhǎng) 判斷信號(hào)長(zhǎng)短 等待 無(wú)信號(hào) 有信號(hào) 判斷有無(wú)Echo信號(hào) 定時(shí)發(fā)出測(cè)距脈沖 停止 右轉(zhuǎn) 左轉(zhuǎn) 前進(jìn) D C B A 判斷按鍵
26、 5.3 主要器件選擇 5.3.1 電機(jī)驅(qū)動(dòng)芯片:L298N L298N芯片可以驅(qū)動(dòng)兩個(gè)二相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過(guò)電壓來(lái)調(diào)節(jié)輸出電壓;可以直接用單片機(jī)的IO口提供信號(hào),而且電路簡(jiǎn)單,使用比較方便。通過(guò)單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對(duì)電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達(dá)2.5 A,可驅(qū)動(dòng)電感性負(fù)載。
27、1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。將其OUT1、OUT2、OUT3、OUT4分別接2個(gè)電機(jī),IN1、IN2、IN3、IN4引腳從單片機(jī)接輸入控制電平,控制電平的正反轉(zhuǎn),ENA,ENB接控制使能端,控制電機(jī)的停轉(zhuǎn)。邏輯功能如下: 接線(xiàn)方式如下: L298N可以直接對(duì)電機(jī)進(jìn)行控制,無(wú)須隔離電路,亦能夠滿(mǎn)足直流減速電機(jī)的大電流要求,調(diào)試時(shí),可以用程序輸入對(duì)應(yīng)的碼值,能夠?qū)崿F(xiàn)對(duì)應(yīng)的動(dòng)作。對(duì)電機(jī)的調(diào)速,采用PWM調(diào)速的方法。 5.3.2 無(wú)線(xiàn)控制模塊:SC2262 接收模塊的七根引腳分別為D3、D2、D1、D0、GND、VT、VCC,其中VCC為
28、DC5V的供電端,GND為接地端,VT端為解碼有效輸出端,只要發(fā)射器的數(shù)據(jù)碼有輸出,VT都能同步輸出高電平;D3、D2、D1、D0是2262解碼芯片的四位數(shù)據(jù)輸出端,有信號(hào)時(shí)能輸出5V左右的高電平,驅(qū)動(dòng)電流約2mA,與發(fā)射器的四位數(shù)據(jù)碼輸出一一對(duì)應(yīng)。接收模塊不焊天線(xiàn)也能接收信號(hào)。各管腳功能如下: 1.技術(shù)參數(shù) 工作電壓(V): DC5V 靜態(tài)電流(mA): 4.5MA 調(diào)制方式:調(diào)幅(OOK) 工作溫度:-10℃~+70℃ 接收靈敏度(dBm): -105DB 工作頻率(MHz):315、433.92MHz(266-433MHZ頻率段可任選) 編碼方式:焊盤(pán)編碼
29、(固定碼) 工作方式:M4(點(diǎn)動(dòng):按住不松手就輸出,一松手就停止輸出)、L4(互鎖:四路同時(shí)只能有一路輸出)、T4(自鎖:四路相互獨(dú)立輸出、互不影響,按一下輸出再按一下停止輸出) 尺寸(LWH): 41*23*7mm 2.產(chǎn)品特點(diǎn): 超再生接收模塊采用LC振蕩電路,內(nèi)含放大整形,輸出的數(shù)據(jù)信號(hào)為解碼后的高電平信號(hào),使用極為方便,并且價(jià)格低廉,所以被廣泛使用。帶四路解碼輸出(同時(shí)也可改為六路點(diǎn)動(dòng)或互鎖輸出),使用方便;頻點(diǎn)調(diào)試容易,供貨周期短;產(chǎn)品質(zhì)量一致性好,性?xún)r(jià)比高。 接收模塊有較寬的接收帶寬,一般為10MHz,出廠(chǎng)時(shí)一般調(diào)在315MHz或433.92MHZ(如有特殊要
30、求可調(diào)整頻率,頻率的調(diào)整范圍為266MHz~433MHz。)。接收模塊一般采用DC5V供電,如有特殊要求可調(diào)整電壓范圍。 4.應(yīng)用環(huán)境(應(yīng)用領(lǐng)域) 無(wú)線(xiàn)遙控開(kāi)關(guān)、遙控插座、數(shù)據(jù)傳輸 6.備注 VCC電壓要與模塊工作電壓一致,且要做好電源濾波; 天線(xiàn)對(duì)模塊的接收效果影響很大,最好接1/4波長(zhǎng)的天線(xiàn),一般采用50歐姆單芯導(dǎo)線(xiàn),天線(xiàn)的長(zhǎng)度315M的約為23cm,433M的約為17cm; 天線(xiàn)位置對(duì)模塊接收效果亦有影響,安裝時(shí),天線(xiàn)盡可能伸直,遠(yuǎn)離屏蔽體,高壓,及干擾源的地方; 使用時(shí)接收頻率、解碼方式應(yīng)與發(fā)射匹配。 、遙控玩具、防盜報(bào)警主機(jī)、車(chē)庫(kù)門(mén)、卷閘門(mén)、道閘門(mén)、伸縮門(mén)等門(mén)控業(yè)及其
31、遙控音響領(lǐng)域等。 5.3.3 超聲波模塊:HC-SR04 實(shí)物如下圖。其中VCC 供5V 電源,GND 為地線(xiàn),TRIG 觸發(fā)控制信號(hào)輸入,ECHO 回響號(hào)輸出等四支線(xiàn)。 主要參數(shù) 電器特性。 HC-SR04超聲波的供電電壓為DC5V。MSP430的供電電壓為3.3V。 其他電氣參數(shù)如下: 最遠(yuǎn)射程 4m 最近射程 2cm 測(cè)量角度 15 輸入觸發(fā)信號(hào) 10us的TTL脈沖 輸出回響信號(hào) 輸出TTL電平信號(hào),與射程成比例 5.3.4 循跡模塊:74HC04D 該芯片主要為智能小車(chē)、機(jī)器人等自動(dòng)化機(jī)械裝置提供一種多用途的紅外線(xiàn)
32、探測(cè)系統(tǒng)的解決方案。在循跡模塊中我們使用紅外線(xiàn)發(fā)射和接收管等分立元器件組成探頭,并使用LM339 電壓比較器(加入了遲滯電路更加穩(wěn)定)做為核心器件構(gòu)成中控電路。發(fā)射器是一個(gè)紅外發(fā)光二極管,接收器是一個(gè)高度靈敏度、平面光電三極管,兩者集為一體,使探測(cè)器結(jié)構(gòu)緊湊,易于單片機(jī)接口。該模塊易于安裝,使用簡(jiǎn)便,各路循跡分別獨(dú)立工作,工作時(shí)不受數(shù)量限制。 主要參數(shù)如下:模塊高度≤10 毫米 安全工作電壓范圍在 3伏特至 6 伏特之間 各路全開(kāi)工作電流 30 毫安至 55 毫安之間 各管腳的作用:VCC、GND:電源接線(xiàn)端 IN(1—4)、OUT:探頭與中控板連接端 O
33、UT1、OUT2、OUT3、OUT4: 對(duì)應(yīng)輸出端 LED1、LED2、LED3、LED4: 對(duì)應(yīng)輸出指示 R1、R2、R3、R4: 對(duì)應(yīng)比較電壓調(diào)節(jié) 輸出端為集電極開(kāi)路,板載 5.1 千歐上拉電阻 實(shí)驗(yàn)之前,我們測(cè)試下,模塊是否是好的:1)測(cè)試探頭:移開(kāi)探頭前面的所有物體,且探頭不要指向陽(yáng)光的方向。將探頭板接上電源后用萬(wàn)用表測(cè)最輸出端電壓。此時(shí)的電壓應(yīng)當(dāng)在1 伏特左右。用白紙擋在探頭前。用萬(wàn)用表測(cè)輸出端電壓應(yīng)當(dāng)接近電源電壓。2)測(cè)試中探板:將測(cè)試好的探頭按板上所標(biāo)示的接入輸入端子,移開(kāi)探頭前面的所有物體,且探頭不要指向陽(yáng)光的方向,將中探板接上電源后用萬(wàn)用表測(cè)輸出端子,此時(shí)輸出端輸出
34、的電壓應(yīng)當(dāng)接近電源電壓,用白紙擋在探頭前,萬(wàn)用表測(cè)輸出端電壓應(yīng)當(dāng)接近0 伏特。 5.5 主要元器件清單 主控芯片:SEED-EXP430F5529;智能小車(chē)底盤(pán)(二輪驅(qū)動(dòng));電機(jī)驅(qū)動(dòng)(L298N);智能小車(chē)循跡模塊(74HC04D);超聲波模塊(HC-SR04);杜邦線(xiàn)若干。 5.6 應(yīng)用場(chǎng)景 該智能小車(chē)應(yīng)用廣泛,不僅可家用清潔衛(wèi)生,也可以提供功率,承載力等之后用于餐飲等服務(wù)行業(yè)。 7.系統(tǒng)各模塊的設(shè)計(jì)與實(shí)現(xiàn) 7.1 電機(jī)驅(qū)動(dòng) 7.1.1 模塊概述: 電機(jī)驅(qū)動(dòng)芯片選用L298N,電機(jī)的調(diào)速,采用PWM調(diào)速算法。電機(jī)由電池供電,信號(hào)由單片機(jī)的
35、端口提供。L298N的連接方法為: PWM的原理是開(kāi)關(guān)管在一個(gè)周期內(nèi)的導(dǎo)通時(shí)間為t,周期為T(mén),則電機(jī)兩端的平均電壓為U=Vcc*(t/T)=a*Vcc。其中a=t/T為占空比,Vcc是電源電壓,電機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成比例,而電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成比例,占空比越大,電機(jī)轉(zhuǎn)得越快。在硬件電路的連接上, 引腳號(hào) 引腳功能 硬件連接 電機(jī)模塊 P2.0 TA1CCR1 電機(jī)模塊ENA(輸出) P2.1 TA1CCR2 電機(jī)模塊ENB(輸出) P4.0 I/O 電機(jī)模塊IN1(輸出) P4.1 I/O 電機(jī)模塊
36、IN2(輸出) P4.2 I/O 電機(jī)模塊IN3(輸出) P4.3 I/O 電機(jī)模塊IN4(輸出) 按照如上引腳連接后,我們可以通過(guò)改變端口的高低電平變化以控制小車(chē)的前進(jìn)方向,通過(guò)改變端口的高低電平的占空比以控制電機(jī)的轉(zhuǎn)速。 7.1.2 定時(shí)器基礎(chǔ)知識(shí)介紹: 定時(shí)器A功能模塊主要包括: (1)計(jì)數(shù)器部分:輸入的時(shí)鐘源具有4種選擇,所選定的時(shí)鐘源又可以1、2、4或8分頻作為計(jì)數(shù)頻率,Timer_A可以通過(guò)選擇4種工作模式靈活的完成定時(shí)/計(jì)數(shù)功能。 (2)捕獲/比較器:用于捕獲事件發(fā)生的時(shí)間或產(chǎn)生時(shí)間間隔,捕獲比較功能的引入主要是為了提高I/O 端口處理事務(wù)的能力和速度
37、。不同的MSP430單片機(jī),Timer_A模塊中所含有的捕獲/比較器的數(shù)量不一樣,每個(gè)捕獲/比較器的結(jié)構(gòu)完全相同,輸入和輸出都取決于各自所帶控制寄存器的控制字,捕獲/比較器相互之間完全獨(dú)立工作。 (3)輸出單元:具有可選的8種輸出模式,用于產(chǎn)生用戶(hù)需要的輸出信號(hào),支持PWM輸出。 定時(shí)器工作模式 : (1)停止模式:停止模式用于定時(shí)器暫停,并不發(fā)生復(fù)位,所有寄存器現(xiàn)行的內(nèi)容在停止模式結(jié)束后都可用。當(dāng)定時(shí)器暫停后重新計(jì)數(shù)時(shí),計(jì)數(shù)器將從暫停時(shí)的值開(kāi)始以暫停前的計(jì)數(shù)方向計(jì)數(shù)。例如,停止模式前,Timer_A工作于增/減計(jì)數(shù)模式并且處于下降計(jì)數(shù)方向,停止模式后,Timer_仍然工作于
38、增/減計(jì)數(shù)模式,從暫停前的狀態(tài)開(kāi)始繼續(xù)沿著下降方向開(kāi)始計(jì)數(shù)。如果不需這樣,則可通過(guò)TACTL中的CLR控制位來(lái)清除定時(shí)器的方向記憶特性。 (2)增計(jì)數(shù)模式:捕獲/比較寄存器CCR0用作Timer_A增計(jì)數(shù)模式的周期寄存器,因?yàn)镃CR0為16位寄存器,所以該模式適用于定時(shí)周期小于65536的連續(xù)計(jì)數(shù)情況。計(jì)數(shù)器TAR可以增計(jì)數(shù)到CCR0的值,當(dāng)計(jì)數(shù)值與CCR0的值相等(或定時(shí)器值大于CCR0的值)時(shí),定時(shí)器復(fù)位并從0開(kāi)始重新計(jì)數(shù)。增計(jì)數(shù)模式的計(jì)數(shù)過(guò)程如圖4-2所示。通過(guò)改變CCR0值,可重置計(jì)數(shù)周期。 圖 增計(jì)數(shù)模式示意圖 (3)連續(xù)計(jì)數(shù)模式:在需要65536個(gè)時(shí)鐘周期的定時(shí)應(yīng)用場(chǎng)
39、合常用連續(xù)計(jì)數(shù)模式。定時(shí)器從當(dāng)前值計(jì)數(shù)到單增到0FFFFH后,又從0開(kāi)始重新計(jì)數(shù)如圖4-3所示。 圖 連續(xù)計(jì)數(shù)模式 (4)增/減計(jì)數(shù)模式 需要對(duì)稱(chēng)波形的情況經(jīng)??梢允褂迷?減計(jì)數(shù)模式,該模式下,定時(shí)器先增計(jì)數(shù)到CCR0的值,然后反向減計(jì)數(shù)到0。計(jì)數(shù)周期仍由CCR0定義,它是CCR0計(jì)數(shù)器數(shù)值的2倍。計(jì)數(shù)器的計(jì)數(shù)過(guò)程如圖4-4所示。 圖 增/減計(jì)數(shù)模式 7.1.2 PWM信號(hào)的產(chǎn)生 使用定時(shí)器可以產(chǎn)生定時(shí)中斷、定時(shí)脈沖和 PWM(脈寬調(diào)制)信號(hào)。PWM信號(hào)是一種具有固定周期T和不定占空比t的數(shù)字信號(hào),如果PWM信號(hào)的占空比隨時(shí)間變化,那么會(huì)產(chǎn)生不同的模
40、擬信號(hào)。定時(shí)器的PWM輸出一共有8種模式: 在輸出模式7下,每次TA計(jì)數(shù)值超過(guò)TACCRx時(shí),TAx引腳會(huì)自動(dòng)置低,當(dāng)TA計(jì)數(shù)至TACCR0時(shí),TAx引腳會(huì)自動(dòng)置高。因此實(shí)際的輸出波形就是PWM調(diào)制方波。只需要改變TACCR0的值即可改變PWM方波周期,改變TACCRx即可改變從TAx引腳輸出信號(hào)的占空比:TACCRx越大,占空比越大。 7.1.2 差速轉(zhuǎn)向控制 該控制的基本原理是:轉(zhuǎn)向時(shí),智能小車(chē)的外側(cè)小輪的轉(zhuǎn)速增加,內(nèi)側(cè)下輪的轉(zhuǎn)速降低,并且增加的量和減少的量大小相等,小車(chē)的中心速度保持原直線(xiàn)行駛時(shí)的速度不變。 7.2 循跡模塊 7
41、.2.1 模塊綜述: 作為小車(chē)自主循跡的主要部分,該部分必須完成小車(chē)精確地按照預(yù)定軌跡行駛的任務(wù),確保不偏離軌跡較遠(yuǎn)。該模塊采用一體式紅外對(duì)接管檢測(cè)黑線(xiàn)。本實(shí)驗(yàn)中采用三路循跡,當(dāng)檢測(cè)到黑線(xiàn)時(shí),紅外接收管接收到反射回來(lái)的紅外光,其輸出立即發(fā)生高低電平轉(zhuǎn)換,該信號(hào)經(jīng)放大器放大后送到單片機(jī)進(jìn)行處理。然后將處理后的結(jié)果發(fā)送到電機(jī)驅(qū)動(dòng)模塊進(jìn)行校正。為了保證小車(chē)沿著黑線(xiàn)行駛。我們將三路檢測(cè)器進(jìn)行并行排列,當(dāng)左(右)邊檢測(cè)到黑線(xiàn)時(shí),小車(chē)左(右)轉(zhuǎn),當(dāng)中間一個(gè)檢測(cè)到黑線(xiàn)時(shí),小車(chē)直行,使得控制精度得以提高。 傳感器的安裝位置如圖所示: 7.2.2 邏輯設(shè)計(jì): 開(kāi)始
42、 前方是否有障礙物 Y N 右邊檢測(cè)到黑線(xiàn) 中間檢測(cè)到黑線(xiàn) 左邊檢測(cè)到黑線(xiàn) 左轉(zhuǎn) 前行 右轉(zhuǎn) 7.2.3 7.2 超聲波測(cè)距壁障模塊 6.1 模塊概述 超聲波作為智能車(chē)避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車(chē)智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車(chē)的智能化是汽車(chē)產(chǎn)業(yè)發(fā)展必然的,在這種情況下研究超聲波在智能車(chē)避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)
43、我國(guó)未來(lái)智能汽車(chē)的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。 本模塊選用了超聲波測(cè)距模塊HC-SR04,它可以提供2cm到400cm的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)到3mm,模塊包括超聲波發(fā)射器、接收器與控制電路。 本設(shè)計(jì)中,采用一個(gè)超聲波模塊,面對(duì)正前方,超聲波在距離檢測(cè)方面能夠較準(zhǔn)確定位。該傳感器主要發(fā)射高頻超聲波,在遇到障礙物時(shí)發(fā)生像光一樣的反射和散射,從而通過(guò)發(fā)送和接受信號(hào)的時(shí)間得出距離,判斷是否要躲避前方的障礙物。 6.2 主要芯片介紹:HC-SR04 實(shí)物如下圖。其中VCC 供5V 電源,GND 為地線(xiàn),TRIG 觸發(fā)控制信號(hào)輸入,ECHO 回響號(hào)輸出,OUT口不使
44、用。 圖5 超聲波模塊 器件的主要主要參數(shù)如下: HC-SR04超聲波的供電電壓為DC5V。MSP430的供電電壓為3.3V。 其他電氣參數(shù)如下: 最遠(yuǎn)射程 4m 最近射程 2cm 測(cè)量角度 15 輸入觸發(fā)信號(hào) 10us的TTL脈沖 輸出回響信號(hào) 輸出TTL電平信號(hào),與射程成比例 6.3工作原理 6.3.1 HC-SR04的工作原理 給最少10us的高電平信號(hào),采用IO口TRIG觸發(fā)測(cè)距;模塊自動(dòng)發(fā)送 8個(gè)40KHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射
45、到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速)/2。 時(shí)序特性 從以上時(shí)序圖中可知,只需要提供一個(gè)10us以上的脈沖觸發(fā)信號(hào),該模塊內(nèi)部將發(fā)出8個(gè)40KHz周期電平并檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)?;仨懶盘?hào)的脈沖寬度與所測(cè)的距離成正比。由此通過(guò)發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。公式:距離=(高電平時(shí)間*聲速)/2。 6.3.2 開(kāi)發(fā)板的中斷原理 首先查找數(shù)據(jù)手冊(cè),了解單片機(jī)的端口情況: 其中與定時(shí)器相關(guān)的端口有: TA0:P1.0(Timer) TA1:P2.0(
46、CCR1)、P2.1(CCR2) TA2:P2.3(CCR0)、P2.4(CCR1) TB0:P7.7(Timer)、P7.5(CCR3) 與I/O中斷相關(guān)的端口有: P1口:P1.0 P2口:P2.0、P2.1、P2.3、P2.4、P2.6 MSP430F5529總共有四個(gè)定時(shí)器,TA0、TA1、TA2、TB0,其中TA0有CCR0~CCR2,TA1有CCR0~CCR2,TA2有CCR0~CCR4,TB0有CCR0~CCR6。我們可以使用TASSEL_x語(yǔ)句選擇時(shí)鐘,若為 2,則代表的是選擇內(nèi)部時(shí)鐘源SMCL
47、K,其頻率為1MHz;當(dāng)數(shù)字為1時(shí),選擇內(nèi)部時(shí)鐘源ACLK,其頻率為32768Hz;當(dāng)數(shù)字為0和3時(shí)選擇的是外部時(shí)鐘。 此外我們使用MC_x語(yǔ)句選擇計(jì)數(shù)器的計(jì)數(shù)方式,當(dāng)為增計(jì)數(shù)時(shí),TA0定時(shí)器內(nèi)部的計(jì)數(shù)器TA0R計(jì)到CCR0時(shí)歸零;0為停止計(jì)數(shù);2為連續(xù)計(jì)數(shù),指的是TA0R 計(jì)數(shù)到0xFFFF時(shí)歸零;3為增減計(jì)數(shù),指的是TA0R增計(jì)數(shù)到CCR0后進(jìn)行減計(jì)數(shù),減到零后進(jìn)行增計(jì)數(shù)。 波形圖分別為: 圖6 計(jì)數(shù)器計(jì)數(shù)模式 CCR的值取值范圍為0~65535。我們使用ID_x語(yǔ)句,設(shè)置定時(shí)器的分頻; 引腳輸出有7種模式控制。使用語(yǔ)句OUTMOD_x選擇,代表含義如下: OU
48、TMODEx 輸出控制模式 說(shuō)明 000(模式0) 電平輸出 TA0x管教輸出電平由OUT控制位的值決定 001(模式1) 延遲置位 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳置1 010(模式2) 取反/清零 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳取反 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCR0值時(shí),TA0x管腳置0 011(模式3) 置位/清零 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳置1 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCR0值時(shí),TA0x管腳置0 100(模式4) 取反 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳取反 101(模式5) 延遲清零
49、 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳置0 110(模式6) 取反/置位 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳取反 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCR0值時(shí),TA0x管腳置1 111(模式7) 清零/置位 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx值時(shí),TA0x管腳置0 當(dāng)主計(jì)數(shù)器計(jì)至TA0CCR0值時(shí),TA0x管腳置1 對(duì)于定時(shí)器的中斷:其中包括溢出中斷、IO中斷等。在比較模式下,當(dāng)主計(jì)數(shù)器計(jì)至TA0CCRx時(shí),計(jì)數(shù)滿(mǎn)標(biāo)志位置1。在捕獲模式下,當(dāng)捕獲條件發(fā)生,相應(yīng)的標(biāo)志位置1。CCIFG標(biāo)志會(huì)在中斷執(zhí)行后自動(dòng)清零,其余模塊共用了中斷入口,他們的CCIFG標(biāo)志位會(huì)根據(jù)TA
50、0IV寄存器的值在知行相應(yīng)的中斷后自動(dòng)清除。 中斷語(yǔ)句格式為 #pragma vector=Timer0_A1_VECTOR//Timer0代表的是TA0或者TB0,A1代表//的是處理的中斷由非CCR0的寄存器產(chǎn)生//否則A0指的是由CCR0產(chǎn)生 __interrupt void TA0_ISR(void)//void后面的名稱(chēng)隨意,聲明是中斷服務(wù)程序 對(duì)于I/O中斷:可以使用I/O中斷的I/O口有P1.x和P2.x。與I/O中斷有關(guān)的標(biāo)志位有: PxIE寄存器用于設(shè)置每一位I/O的中斷允許,PxIES寄存器用于選擇每一位I/O的中斷觸發(fā)沿。在使用I/O口中斷之前,需要先將
51、I/O口設(shè)為輸入狀態(tài),并允許改為I/O的中斷,再通過(guò)PxIES寄存器選擇觸發(fā)方式為上升沿觸發(fā)或者下降沿觸發(fā)。PxIFG寄存器是I/O中斷標(biāo)志寄存器:0=中斷條件不成立 1=中斷條件曾經(jīng)成立過(guò)。無(wú)論中斷是否被允許,也不論是否正在執(zhí)行中斷服務(wù)程序,只要對(duì)應(yīng)I/O滿(mǎn)足了中斷條件,PxIFG中的相應(yīng)位都會(huì)立即置1并保持,智能通過(guò)軟件人工清除。這種機(jī)制的目的在于最大可能的保證不會(huì)漏掉每一次中斷。在MSP430系列單片機(jī)中,P1口的8個(gè)中斷和P2口的8個(gè)中斷各公用了一個(gè)中斷入口,因此該寄存器另一個(gè)重要作用在于中斷服務(wù)程序中用于判斷哪一位I/O產(chǎn)生了中斷。 IO中斷的語(yǔ)句格式為: #pragma
52、 vector=PORT1_VECTOR __interrupt void P1_ISR(void)//聲明一個(gè)中斷服務(wù)程序,名為P1_ISR() 6.4 模塊方案設(shè)計(jì) 6.4.1 硬件設(shè)計(jì): 超聲波的指向性很強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),并且利用超聲波檢測(cè)距離設(shè)計(jì)比較方便,計(jì)算處理較簡(jiǎn)單。 總體方案的設(shè)計(jì)圖為: 障礙物 超聲波模塊 MSP430 驅(qū)動(dòng)電路 圖 超聲波模塊總體方案 6.4.2 軟件設(shè)計(jì): 已知電機(jī)的IN1-IN4使用單片機(jī)上的P4.0-P4.3四個(gè)端口,兩個(gè)使能端對(duì)
53、應(yīng)的端口分別為P2.0對(duì)于使能端ENA,P2.1對(duì)應(yīng)使能端ENB。PWM使用定時(shí)器TA1,TA1CCR0設(shè)定周期,TA1CCR1、TA1CCR2用來(lái)設(shè)置兩個(gè)電機(jī)的轉(zhuǎn)速。 該超聲波程序在一直執(zhí)行PWM驅(qū)動(dòng)的同時(shí)持續(xù)進(jìn)行。使用端口P7.7(TB0 Timer)輸出信號(hào)到Trig,使用P1.0(TA1 Timer)連接到Echo。將定時(shí)器TB0設(shè)置為增量計(jì)數(shù)模式,SMCLK為時(shí)鐘,為分頻,設(shè)置TB0CCR0=65536-1;TB0CCR1=60000;用于溢出中斷,當(dāng)中斷發(fā)生時(shí)P7.7端口輸出高,并使其保持30個(gè)時(shí)鐘周期(為了得到大于10us的高電平),隨后將其變?yōu)榈停|發(fā)Trig。將定時(shí)器TA2
54、設(shè)置為增量計(jì)數(shù)模式,SMCLK為時(shí)鐘,無(wú)分頻處理,設(shè)置為IO中斷。首先將計(jì)時(shí)器TA2R清零,等待計(jì)數(shù),設(shè)置為上升沿采樣,當(dāng)P1.0中斷發(fā)生時(shí),暫停計(jì)時(shí)器,保存該值,若果該值大于1470,說(shuō)明障礙距離還較遠(yuǎn)忽略,否則發(fā)生壁障處理。 流程圖如下: 圖 超聲波模塊軟件流程圖 算法設(shè)計(jì)中選擇了一個(gè)IO中斷和普通IO的原因是:該程序中沒(méi)有選用普通IO(IO口分為普通IO和IO中斷) 6.5 測(cè)試中的問(wèn)題以及解決方案 6.5.1 測(cè)試的儀器儀表 示波器:用于測(cè)試超聲波模塊trig和echo端口是否能夠發(fā)送和接受信號(hào)波形。 信號(hào)發(fā)生器:給trig端口提供一個(gè)周期大于50
55、KHz的方波,觸發(fā)trig發(fā)送信號(hào)。 6.5.2 測(cè)距功能測(cè)試及結(jié)果分析 測(cè)距是該模塊的核心功能,首先測(cè)試超聲波模塊是否是好的。依據(jù)該模塊的原理,測(cè)試方法如下:用信號(hào)發(fā)生器給Trig端口提供周期大于50KHz的方波(單個(gè)脈沖的時(shí)間小于10us),然后再Echo端口用示波器觀(guān)察波形,若Echo端口也有脈沖出現(xiàn),說(shuō)明超聲波模塊是完好的。 觀(guān)察到的示波器波形如下圖: CH2 接收到的Echo端 CH1 發(fā)射端Trig 有觀(guān)察到的現(xiàn)象可知:當(dāng)CH1為低電平時(shí),輸出端CH2輸出周期性的脈沖。
56、6.5.4 模塊效果展示及分析 前方有障礙時(shí)能夠很好的壁障并向左轉(zhuǎn),但是由于小車(chē)上只有一個(gè)壁障模塊,并且架在高處,所以較低處的障礙不能感應(yīng)到,會(huì)卡在某處不能轉(zhuǎn)彎。 無(wú)線(xiàn)控制模塊 8.無(wú)線(xiàn)模塊硬件連接 根據(jù)以上測(cè)試結(jié)果,無(wú)線(xiàn)模塊總共7個(gè)接口,分為Vcc、GND接電源和地,D0、D1、D2、D3解碼輸出接普通IO口,可選的范圍很廣,為方便代碼編寫(xiě),直接將它們放在一起,因此選擇P4.4、P4.5、P4.6、P4.7,VT作為I/O中斷接口,可用的有P1.0、P2.0、P2.1、P2.3、P2.4、P2.6,其中的P2.0、P2.1、P2.3、P2.4可能作為其他時(shí)鐘中斷輸出,因此這里選用P
57、1.0作為I/O中斷。 D1 D2 D3 D4 VT P4.4 P4.5 P4.6 P4.7 P1.0 調(diào)試故障、產(chǎn)生原因及排除方法 1. 測(cè)試工具: l 信號(hào)發(fā)生器 l 數(shù)字萬(wàn)用表 l 雙蹤示波器 l 穩(wěn)壓電源 電機(jī)模塊測(cè)試及結(jié)果分析 測(cè)試過(guò)程:由于我們需要用到的智能小車(chē)的邏輯功能僅有前進(jìn)、停止、左轉(zhuǎn)、右轉(zhuǎn),因此并沒(méi)有對(duì)全部的邏輯進(jìn)行測(cè)試,通過(guò)編程通過(guò)msp430f5529向IN1、IN2、IN3、IN4輸入信號(hào),電機(jī)上相應(yīng)的D1、D2、D3、D4發(fā)光二極管發(fā)光并得到以下結(jié)果 IN1 IN2 IN3 IN4 小車(chē)運(yùn)
58、動(dòng)方向 1 0 1 0 前進(jìn) 0 0 0 0 停止 1 0 0 0 右轉(zhuǎn) 0 0 1 0 左轉(zhuǎn) 0 1 0 1 后退 與前文所述的L298N資料進(jìn)行比較得到相符的結(jié)果。 另外,L298N端口還提供ENA和ENB兩個(gè)使能端,分別控制兩個(gè)電機(jī)的使能。在軟件端向兩個(gè)使能端輸入PWM波形,調(diào)節(jié)CCR0與CCR1的比,最終結(jié)果發(fā)現(xiàn)可以進(jìn)行調(diào)速。 結(jié)果分析:電機(jī)部分工作正常,可以通過(guò)ENA和ENB來(lái)實(shí)現(xiàn)轉(zhuǎn)彎、前進(jìn)等的速度調(diào)節(jié)。 無(wú)線(xiàn)模塊測(cè)試及結(jié)果分析 測(cè)試方法:直接將無(wú)線(xiàn)解碼模塊XD-YK04的D1、D2、D3、D4口接在已測(cè)試完畢的電機(jī)模塊
59、IN1、IN2、IN3、IN4上,由于之前已經(jīng)測(cè)試得到電機(jī)未發(fā)生損壞,因此可以通過(guò)觀(guān)察電機(jī)模塊上D1、D2、D3、D4的發(fā)光情況來(lái)確定最終解碼的結(jié)果。外部有按鍵ABCD,分別按鍵觀(guān)察電機(jī)上面發(fā)光二極管的發(fā)光情況,得到以下結(jié)果。(“1”代表亮,“0”代表滅) D1 D2 D3 D4 A 1 0 0 0 B 0 1 0 0 C 0 0 1 0 D 0 0 0 1 另外,通過(guò)杜邦線(xiàn)連接VT與示波器CH1,可以觀(guān)察得到當(dāng)解碼結(jié)果出現(xiàn)的時(shí)候出現(xiàn)短暫的高電平,其他情況均為低電平。 結(jié)果分析:通過(guò)外部無(wú)線(xiàn)發(fā)送器的按鍵控制可以得到不同的解碼結(jié)果,解碼完成
60、輸出信號(hào)正常,因此可以通過(guò)編程,將解碼結(jié)果作為I/O輸入,將解碼完成輸出信號(hào)作為外部中斷來(lái)處理與其他模塊的沖突。 超聲波測(cè)距模塊測(cè)試及結(jié)果分析 6.5.3 壁障功能測(cè)試及結(jié)果分析 編程過(guò)程,我讓小車(chē)在沒(méi)有障礙物時(shí)是直行,當(dāng)遇到障礙物時(shí)左轉(zhuǎn),編號(hào)程序并燒寫(xiě)之后,發(fā)現(xiàn)小車(chē)一直直行,不能壁障。雖然之前檢測(cè)過(guò)模塊,但為了排除操作錯(cuò)誤將模塊燒壞,我又檢測(cè)了一次模塊,反復(fù)測(cè)試后,發(fā)現(xiàn)該模塊時(shí)好時(shí)壞,偶爾接收不到回波信號(hào)。所以換了一個(gè)模塊繼續(xù)測(cè)試。 首先我編碼測(cè)試,發(fā)現(xiàn)右側(cè)電機(jī)是好的,排除電機(jī)的問(wèn)題。然后我通過(guò)單步調(diào)試,發(fā)現(xiàn)程序中斷方面存在問(wèn)題,不能跳進(jìn)中斷,看來(lái)中斷處完全出錯(cuò)了。后來(lái)我仔細(xì)看了
61、很久的書(shū),修改了中斷,換了程序使用的端口,使用端口P7.7(TB0 Timer)輸出信號(hào)到Trig,使用P1.0(TA1 Timer)連接到Echo。 更改后程序可以進(jìn)入中斷了,燒寫(xiě)后執(zhí)行,發(fā)現(xiàn)仍然一直直行。這次我分別檢測(cè)超聲波的Trig和Echo端口,將示波器連接到P7.7端口,發(fā)現(xiàn)能夠檢測(cè)到波形,說(shuō)明有周期性脈沖產(chǎn)生,那么就能夠觸發(fā)Trig信號(hào),然后將單片機(jī)上連接到echo的P1.0端口,接到示波器上,通過(guò)示波器檢測(cè)Echo端口,發(fā)現(xiàn)能夠檢測(cè)到回波信號(hào)。那么問(wèn)題會(huì)是什么?為了進(jìn)一步確定,程序本身沒(méi)有問(wèn)題,我將一個(gè)燈亮滅加入代碼中,每次中斷標(biāo)識(shí)符清零之前,改變燈的狀態(tài),最后發(fā)現(xiàn)當(dāng)改變障礙物
62、的距離時(shí)燈閃的速度會(huì)發(fā)生改變。再做了更進(jìn)一步的檢測(cè)后,發(fā)現(xiàn)應(yīng)該是單片機(jī)的端口壞了,同組同學(xué)通過(guò)編碼幫我檢測(cè)了幾個(gè)單片機(jī)的端口,最后發(fā)現(xiàn)確實(shí)是單片機(jī)端口壞了,所以換了新的回來(lái)。 安裝新的板子,燒寫(xiě)代碼,擋著前方,左輪停止轉(zhuǎn)動(dòng),拿開(kāi)障礙物,兩個(gè)輪子同時(shí)轉(zhuǎn)動(dòng)。放到地上測(cè)試,又不能成功壁障了,按下復(fù)位鍵后,第一次能夠壁障,這說(shuō)明只能跳入一次中斷,程序單步調(diào)試,發(fā)現(xiàn)只能進(jìn)入一次中斷,不能跳出中斷,調(diào)試發(fā)現(xiàn),那個(gè)端口一直是高電平。一切關(guān)閉,從頭開(kāi)始,發(fā)現(xiàn)又可以了。反復(fù)試驗(yàn),發(fā)現(xiàn)模塊又是時(shí)好時(shí)壞。把代碼拿到別人的車(chē)上測(cè)試,能夠成功壁障。 換新之后,能夠壁障了,但是由于速度太快,還沒(méi)來(lái)得急避開(kāi)障礙物就撞上
63、了。所以修改程序,添加語(yǔ)句,使得檢測(cè)到障礙物時(shí)先停止大約1s,然后再左轉(zhuǎn)。最后成功了。 循跡模塊測(cè)試及結(jié)果分析 測(cè)試方法:硬件連接完成后,向各循跡模塊通電,在模塊下方放置白紙和黑膠布,觀(guān)察指示燈的亮滅,通過(guò)msp430f5529編程,軟件內(nèi)部switch語(yǔ)句來(lái)實(shí)現(xiàn)小車(chē)的運(yùn)動(dòng)方式選擇,可以通過(guò)觀(guān)察電機(jī)上面D1、D2、D3、D4的發(fā)光情況來(lái)判斷模塊是否工作正常。 隨后實(shí)際操作,在白板上貼上黑線(xiàn),讓小車(chē)對(duì)其循跡,開(kāi)始時(shí)循跡效果不好,通過(guò)觀(guān)察,我們發(fā)現(xiàn)在實(shí)際的小車(chē)運(yùn)動(dòng)過(guò)程中,紅外接收管的接收效果并不理想,調(diào)整接收管的間距和高度后,有很好的改善。但是小車(chē)速度較低,所以我們修改PWM的設(shè)置,逐步提高
64、PWM的占空比,知道小車(chē)的速度最佳且循跡良好。 整機(jī)測(cè)試及結(jié)果分析 5.4整機(jī)兼容性調(diào)整 我們?cè)诟髂K代碼實(shí)現(xiàn)完成之后,需要對(duì)各代碼進(jìn)行整合,會(huì)遇到以下問(wèn)題: 1.確定各管腳的復(fù)用情況,在各模塊可用方案中選擇兼容性最好的方案。 2.完善各代碼的功能,使小車(chē)在整體跑的過(guò)程中能夠做到最佳的應(yīng)對(duì)。 3.將各代碼寫(xiě)入主函數(shù),確定先后關(guān)系,編寫(xiě)兼容的各相關(guān)代碼。 5.4.1硬件兼容性問(wèn)題 確認(rèn)各管腳的復(fù)用情況,確定下來(lái)各模塊最終使用的方案。我自己負(fù)責(zé)的是無(wú)線(xiàn)模塊,需要用到的端口是一個(gè)I/O中斷端口和四個(gè)普通I/O口。一開(kāi)始確定下來(lái)的引腳號(hào)是P1.0和P4.4~P4.7,進(jìn)行整合之后
65、,需要弄清楚到底有哪幾種方案可以使用,最好多使用普通I/O口,畢竟所有的時(shí)鐘口和中斷口只有6個(gè),就結(jié)果而言: 電機(jī)模塊需要ENA和ENB實(shí)現(xiàn)PWM波調(diào)速,這里必須用到時(shí)鐘中斷口,也就是說(shuō)P2.0、P2.1、P2.3、P2.4中需要兩個(gè)端口,而且最好是P2.0和P2.1或者P2.3和P2.4,在一個(gè)定時(shí)器內(nèi)節(jié)省資源。另外還需要四個(gè)普通I/O口連接IN1、IN2、IN3、IN4,為編寫(xiě)代碼方便,最好直接使用端口號(hào)連在一起的端口,這里可以使用的有P4.0、P4.1、P4.2、P4.3、P4.4、P4.5、P4.6、P4.7和P7.0、P7.1、P7.2、P 7.3。 循跡模塊需要三個(gè)I/O口,提
66、供的方案有通過(guò)時(shí)鐘中斷口定時(shí)掃描循跡、中斷I/O口實(shí)現(xiàn)循跡和普通I/O口直接寫(xiě)入主函數(shù)while循環(huán)進(jìn)行循跡。最終確定的方案是使用普通I/O口,直接將循跡函數(shù)寫(xiě)入while循環(huán),這樣可以節(jié)省中斷口和時(shí)鐘口,以防出現(xiàn)其他模塊會(huì)使用很多時(shí)鐘口或者中斷口的情況。而且也最好使用連續(xù)的端口便于編寫(xiě)代碼,最終確定下來(lái)使用P7.0、P7.1、P7.2。 超聲波測(cè)距模塊需要兩個(gè)I/O口,提供的方案有兩個(gè)普通I/O口或者一個(gè)普通I/O口和一個(gè)中斷I/O口或者一個(gè)時(shí)鐘中斷口和一個(gè)中斷I/O口。最終確定的方案是使用一個(gè)普通I/O口和一個(gè)中斷I/O口。最終確定下來(lái)使用P7.7和P2.3。 5.4.2軟件兼容性問(wèn)題 上述硬件問(wèn)題解決后實(shí)際上的大部分兼容性問(wèn)題就已經(jīng)解決完成了,剩下所需要的是解決軟件的兼容性問(wèn)題。首先是主函數(shù)的編寫(xiě)。雖然組員已經(jīng)將幾個(gè)模塊編寫(xiě)完成,引腳的輸入輸出問(wèn)題也解決了,但是就整機(jī)上面來(lái)說(shuō)存在各種各樣的問(wèn)題,譬如說(shuō),主函數(shù)運(yùn)行的while語(yǔ)句需要運(yùn)行哪一個(gè)模塊,外部按鍵的時(shí)候需要執(zhí)行的是按鍵功能還是循跡或者避障功能,這些都是需要考慮的問(wèn)題。 首先
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第8章WORD長(zhǎng)文檔編排
- (北師大)五年級(jí)數(shù)學(xué)課件上冊(cè)商的近似數(shù)
- 翻譯理論與實(shí)踐-基礎(chǔ)知識(shí)回顧
- 大酒店?duì)I銷(xiāo)計(jì)劃
- 診斷學(xué):腹部觸診【優(yōu)質(zhì)PPT】
- 飛機(jī)牽引注意事項(xiàng)
- 白酒營(yíng)銷(xiāo)及漢武御運(yùn)作策略
- 教學(xué)講義:網(wǎng)路品牌法則
- 應(yīng)用統(tǒng)計(jì)學(xué)導(dǎo)言[研]
- (精品)分式方程及其解法 (2)
- 普通股成本方法一
- 流體力學(xué):泵與風(fēng)機(jī)PPT課件
- 線(xiàn)性代數(shù)課件黃六
- 創(chuàng)業(yè)計(jì)劃模板
- 原發(fā)性支氣管肺癌