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