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