版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于激光傳感器和嵌入式系統(tǒng)</p><p><b> 的移動機器人</b></p><p><b> 目 錄 </b></p><p><b> 目錄I</b></p><p><b> 第一章 緒論4</b><
2、;/p><p><b> 1.1選題背景4</b></p><p> 1.2主要內(nèi)容及研究意義4</p><p> 1.3系統(tǒng)框架及整體設計思路5</p><p> 第二章 系統(tǒng)硬件設計6</p><p><b> 2.1電源系統(tǒng)6</b></p>
3、<p> 2.2智能車的眼睛:激光收發(fā)模塊8</p><p> 2.3智能車核心處理器9</p><p> 2.4智能車動力部分——馬達13</p><p> 2.5轉向工具:舵機16</p><p> 2.6調(diào)試工具17</p><p> 第三章 機械結構設計18</p&g
4、t;<p> 2.1激光頭的安裝方案設計19</p><p> 2.2舵機位置的選擇19</p><p> 2.3核心板的設計20</p><p> 2.4激光管結構設計21</p><p> 第四章 軟件開發(fā)及調(diào)試22</p><p> 4.1單片機程序設計23</p>
5、;<p> 4.2應用系統(tǒng)開發(fā)過程24</p><p> 4.3工程創(chuàng)建25</p><p> 4.4程序編譯27</p><p> 4.1下載調(diào)試28</p><p> 4.2單片機的資源分配28</p><p> 第五章 程序分析29</p><p>
6、 第六章 參考文獻35</p><p><b> 摘 要</b></p><p> “飛思卡爾杯”全國大學生智能汽車邀請賽屬教育部主辦的全國五大競賽之一,其專業(yè)知識涉及控制、模式識別、傳感技術、汽車電子、電氣、計算機、機械等諸多學科。根據(jù)大賽的技術要求,設計制作了智能車控制系統(tǒng)。在整個智能車控制系統(tǒng)中,如何準確地識別道路及實時地對智能車的方向進行控制是整個控制
7、系統(tǒng)的關鍵。</p><p> 本文首先對智能車的硬件進行設計,其次對系統(tǒng)的軟件部分進行設計,整個系統(tǒng)涉及車模機械結構調(diào)整以及傳感器電路設計及與信號處理。通過軟件與硬件的搭配,實現(xiàn)避障的功能和遠程控制的功能。</p><p> 關鍵字:智能車 傳感器 嵌入式 </p><p><b> Abstract</b></p>
8、<p> Freescale Cup National Undergraduate Smart Car Competition is sponsored by the National Ministry of Education, one of the five contests, their professional knowledge related to control, pattern recognition, s
9、ensor technology, automotive electronics, electrical, computer, machinery and many other disciplines. According to the technical requirements of the contest, we design the intelligent vehicle control system. In the entir
10、e control system of the smart car, how to accurately identify the road a</p><p> This paper first introduces the hardware of the smart car. The second part of the system is software design. The entire syste
11、m is involved in mechanical models of structural adjustment and the sensor circuit design. Through the software and hardware collocation, realize the function of obstacle avoidance and the function of remote control.<
12、/p><p> Key word: intelligent car; Sensors; Embedded; Remote contr</p><p><b> 第一章 緒論</b></p><p><b> 1.1選題背景</b></p><p> 物質(zhì)生活的提高,使人們更加注重和諧與健康,本
13、來危險系數(shù)極高但人們卻習以為常的工作,如今也少有人參與,因為如今的人們已找到了代替他們參與人類難以到達的位置的智能設備,當然,設備必須具有一定的智能性,能夠獨立的判斷所處環(huán)境的所有有用信息,并加以判斷,予以歸類,尋找最合適的位置,捕捉最難得最珍貴最具實時性的信息,然后進行實時反饋,讓我們可以更加客觀地采取判斷,不至于因環(huán)境的變化或者不適應等各種外界因素影響我們的主管意識,可以說,這種智能設備的出現(xiàn),一定程度上解放了人類的勞動力,既如此,
14、我們就更應繼續(xù)從事這方面的學習與研究,充分發(fā)揮這一領域給社會帶來的益端.</p><p> 目前最為前沿的就是仿生機器人,但比之稍簡單的就是智能車,因為它無需判斷各種平衡的因素,更具穩(wěn)定性和實用性,在此基礎上賦予它一定的感知、判斷和交互能力,同樣可以做出與人類能力相及甚至超越人類極限的事情。工業(yè)上,這種機器人已經(jīng)應用于各種行業(yè),目前所要追求的目標就是更加的小巧與低成本,更大的實用性。</p>&l
15、t;p> 1.2主要內(nèi)容及研究意義</p><p> 智能車即輪式移動機器人,是一種集環(huán)境感知、決策規(guī)劃、自動行駛等功能于一體的綜合智能系統(tǒng),智能車集中地運用了自動控制、模式識別、傳感器技術、汽車電子、電氣、計算機、機械等多個學科的知識[1] 。隨著控制技術、計算機技術和信息技術的發(fā)展,智能車在工業(yè)生產(chǎn)和日常生活中已經(jīng)扮演了非常重要的角色。近年來,智能車在野外、道路、現(xiàn)代物流及柔性制造系統(tǒng)中都有廣泛運用
16、,已成為人工智能領域研究和發(fā)展的熱點。目前,智能車領域的研究已經(jīng)能夠在具有一定標記的道路上為司機提供輔助駕駛系統(tǒng)甚至實現(xiàn)無人駕駛,這些智能車的設計通常依靠特定道路標記完成識別,通過推理判斷模仿人工駕駛進行操作[2]。本文所述智能車就是一種自動導引小車,能夠在給定的區(qū)域內(nèi)沿著軌跡自動進行行進。</p><p> 1953年,美國Barrett Electric公司制造了世界上第1臺采用埋線電磁感應方式跟蹤路徑的自
17、動導向車,也被稱作“無人駕駛牽引車”(automated guided vehicle,簡稱AGV)。這些自動導向車主要用于自動化倉貯系統(tǒng)和柔性裝配系統(tǒng)的物料運輸[3]。20世紀60年代和70年代初,AGV仍采用這種導向方式。但是,20世紀70年代中期,具有載貨功能的AGV在歐洲得到了應用并被引入到美國。這些自動導向車主要用于自動化倉儲系統(tǒng)和柔性專配系統(tǒng)的物料運輸。在20世紀70年代和80年代初,“智能車”的應用領域擴大而且工作條件也變
18、得多樣化,因此,新的導向方式和技術得到了更廣泛的研究與開發(fā)[4]。自動導向無軌行走車輛常用蓄電池作為動力源,它是機電一體化的典型[5]。AGV技術在汽車工業(yè)上有著廣泛的用途,歐洲和美、日等國的汽車生產(chǎn)工業(yè)在80年代就開始大量使用AGV技術,現(xiàn)已成為比較成熟的技術。</p><p> 智能車有著極為廣泛的應用前景[6]。結合傳感器技術和自動駕駛技術可以實現(xiàn)汽車的自適巡航并把車開得開得又快又穩(wěn)、安全可靠;汽車夜間行
19、駛時,如果裝上紅外攝像頭,就能實現(xiàn)夜晚汽車的安全輔助駕駛;他也可以工作在倉庫、碼頭、工廠或危險、有毒、有害的工作環(huán)境里,此外他還能擔當起無人值守的巡邏監(jiān)視、物料的運輸、消防滅火等任務。在普通家庭轎車消費中,智能車的研發(fā)也是有價值的,比如霧天能見度差,人工駕駛經(jīng)常發(fā)生碰撞,如果用上這種設備,激光雷達會自動探測前方的障礙物,電腦會控制車輛自動停下來撞車就不會發(fā)生了。</p><p> 對于歷史而言,解放和發(fā)展勞動力
20、永遠是人們提出的自私卻又可行的目標,這其中就包括人身安全的保證,在人類無法到達或者危險性極高的環(huán)境下,能夠自行潛入并獲取我們所需要的信息,最理想的就是能夠自發(fā)的進行簡單的處理,但是這種設想的實現(xiàn)卻有著很大的難度。比如說這種機器人小車的運行,車子一旦研制出來,就應成批量生產(chǎn),也就是外形無法隨著環(huán)境的改變而改變,這就給機器人小車的制造產(chǎn)生了困難,比如說摩擦系數(shù)、軟硬程度、空氣阻力、傾斜度、行走空間等等各種無法預料的因素,只有生產(chǎn)一種小巧、靈
21、活多變的探測設備,才能夠真正的實現(xiàn)人力的替代;當然除了環(huán)境的多變性,還有車子整體的性能和承載外界不良因素的力度,要采集信息的強弱與收發(fā)的干擾等等。</p><p> 無疑,四個或者更多輪子的車型機器人要比人形的機器人穩(wěn)定的多,控制也更為簡單,體積更加小巧,所以,目前世界各大探測公司都在研發(fā)這種機器人,比較實用且有代表性的是GE的探測小車,能夠?qū)⑼饨绮杉母鞣N影像采集并進行處理和保存,然后完整的反饋回來,具有工業(yè)
22、上的可行性。</p><p> 1.3系統(tǒng)框架及整體設計思路</p><p> 智能車系統(tǒng)采用飛思卡爾的16位微控制器MC9S12XS128單片機作為核心控制單元用于智能車系統(tǒng)的控制。在選定智能車系統(tǒng)采用光電傳感器方案后,智能車的位置信號由車體前方的光電傳感器采集,經(jīng)MC9S12XS128 MCU的I/O口輸入后,用于智能車的運動控制決策,同時內(nèi)部PWM模塊發(fā)出PWM波,控制舵機轉彎,
23、同時驅(qū)動直流電機對智能車進行加速和減速控制,最終使智能車能夠自主行駛,并自覺繞開前方障礙。</p><p> 第二章 系統(tǒng)硬件設計</p><p> 在小車的整體設計中,采用紅外信號作收發(fā)模塊,讓小車具有識別功能;MC9S12XS128作為處理器,判斷有誤障礙物,并給與舵機相應命令,繞開障礙達到避障功能。機械上獨特的設計,讓小車在保證簡單的情況下盡量的美觀!下面將對智能避障車整體系統(tǒng)
24、進行詳細講述!</p><p><b> 2.1電源系統(tǒng)</b></p><p><b> 整體結構圖:</b></p><p> 智能避障車的動力電源采用飛思卡爾比賽專用電源,負荷電壓7.8V左右,在充電結束后會有一定的上浮,升至8.1V左右,對于小車的馬達,可以直接使用,期間曾試過變壓后給馬達供電,但是效果不是很
25、好,經(jīng)常導致變壓塊發(fā)熱現(xiàn)象嚴重,后采用電源直接供電,這個直接供電當然也是通過下面將要介紹的這個模塊予以驅(qū)動。這個驅(qū)動是用場效應管搭建H橋來驅(qū)動電機,因為場效應管具有內(nèi)阻小、開關速度快等優(yōu)點,并且方便加散熱片。場效應管是電壓驅(qū)動器件,只要柵極電壓稍高一點就能使管子導通。本模塊電路輸入電壓5-15V,最大輸出電流理論上74A。</p><p> 如圖所示,從正面看,CD4011的14腳接VDD(7.2V左右),7腳
26、接GND,要接上拉電阻,否則可能會出現(xiàn)邏輯混亂。下圖就是電機驅(qū)動的電路原理圖:</p><p> 顯然,電源這對于小車的激光收發(fā)模塊無疑是不能使用的,這就需要進行變壓輸出,降低至5V穩(wěn)定輸出,采用最簡單的穩(wěn)壓模塊LM7805,作為核心板的電源,78**系列的穩(wěn)壓集成塊的極限輸入電壓是36V,最低輸入電壓比輸出電壓高3-4V。還要考慮輸出與輸入間壓差帶來的功率損耗,所以一般輸入為9-15V之間,適合我所用的7.8
27、V直流電源,同時再獨立接另一個LM7805作為激光管的電源,這樣可以避免激光管啟動時的高功率干擾到核心板的電平信號;由于在允許電壓范圍內(nèi),電壓越大,舵機響應速度越快,因此采用6V電壓給舵機供電,由LM7806 為主要芯片的6V 穩(wěn)壓電路,完全可以滿足舵機對電壓和電流的要求,因此選用此電路作為舵機的供電電源。具體5V和6V供電電路接線圖2-5所示:</p><p> 由于在智能車運行過程中阻力的變化頻繁,這種阻力
28、可能由于加速制動劇烈,也可能由于拐向帶來的力矩方向變化造成的阻力,因此電池負載變化劇烈,輸出電壓也劇烈變化,且幅度很大,所以在電池端多加了濾波電容,予以補償。</p><p> 2.2智能車的眼睛:激光收發(fā)模塊</p><p> 說起激光傳感器,相信大家都不陌生,下面先介紹下感應障礙物的原理:</p><p> 由發(fā)射管發(fā)射一定波長的紅光,經(jīng)障礙物反射到接收管
29、。由于在遠近不同距離上反射回的光強度不同,在遠處的大部分光線都被吸收或者散射掉了,而障礙物上可以反射回大部分光線,所以接收到的反射光強不一樣,由障礙物反射回來的大量光線直接導致接收三極管導通,而由遠處(空曠處為無限遠 )反射回來的光線不能導致接收三極管導通,信號輸入到單片機中便是高電平和低電平,這樣就可以將有無障礙物區(qū)分開來。</p><p> 但是一個好的激光傳感器,多少會存在不穩(wěn)定現(xiàn)象其實不穩(wěn)定,很大的因素
30、就是發(fā)射出來的激光信號頻率,不是接收管最佳的接收管的最佳頻率。盡管激光接收頻率可以用芯片編程序,輸出PWM信號驅(qū)動,但是那樣的抗干擾能力欠佳,既然要做又知道哪里出的問題,那就盡量改善嘛!</p><p> 一個好的調(diào)制管,使用效果明顯有改進,究其原因,半導體光電元件的頻率特性是指它們的輸出信號與調(diào)制光頻變化的關系,當光敏電阻受到脈沖照射時,光電流達到其穩(wěn)態(tài)值;當光突然消失時,光電流變?yōu)榱悖@就是激光收發(fā)模塊的基
31、本原理。</p><p> 我所使用的調(diào)制管根據(jù)下拉電阻的不同能夠產(chǎn)生140KHZ-205KHZ方波信號,經(jīng)過信號發(fā)到驅(qū)動激光發(fā)射管,理論上接收管在頻率180KHZ—205KHZ左右的頻率下接收能力最強,我的接收管發(fā)射管實測頻率為180KHZ,另外配一個聚光透鏡,增強接收管對反射光的吸收。當然,要對準焦點能夠增強接收管接收效果和抗干擾能力!</p><p> 在焊接激光模塊的電路時,要
32、注意的事項很多,激光發(fā)射器的供電電壓應在4.5-5.5V,由于我的電源模塊相互獨立,因此避免了各種電路同時上電造成的電壓波動,經(jīng)過測試,能夠保證激光發(fā)射器的電壓在5.0±0.2V,也就保證了激光管的長使用壽命。同時,由于激光發(fā)射器的特殊工作原理,具有靜電敏感性,使用過程中要做好ESD,盡量避免人體接觸和帶靜電物體接觸激光管,避免靜電傷害,否則容易出現(xiàn)發(fā)光效率降低甚至不工作等現(xiàn)象,解決辦法是:</p><p&
33、gt; 焊接前先洗手,摸一下暖氣片,釋放人體靜電;</p><p> 電烙鐵接地,每次用之前釋放靜電;</p><p> 堅持室內(nèi)操作,避免日光直接照射激光接收芯片(多次試車,盡管樓道狹小,仍然堅持室內(nèi))。</p><p> 每次試跑,注意極性不能戒飯,電壓一定不超過5.5V(予以保證),電流不能大于50mA(予以保證)。</p><p&
34、gt; 如圖所示,電壓經(jīng)調(diào)制管調(diào)制給與激光頭,產(chǎn)生所需調(diào)頻光信號,電路搭建時一定要注意保證限流電阻大于65歐姆,這樣才能給予激光頭足夠的保護作用,但是不能過大,這樣產(chǎn)生的激光信號將會很弱,影響小車前瞻的距離,直接影響小車對障礙物的判斷時間,嚴重時,小車將會無法躲開障礙物。</p><p> 調(diào)制激光信號產(chǎn)生后,下面就是由接收管來接收我們的特定光信號,然后判斷前方、左前方或者右前方是否有障礙物,也就是起到了眼睛
35、的作用。 </p><p> 當然,這其中曾走過很多的彎路,比如說激光頭焊接時,因為焊接技術不達標,造成激光頭燒壞,理論上焊接時電烙鐵與激光引腳的解除時間應不多于10s.</p><p> 為了增強對障礙物的敏感度,也就是增加對反射光線的吸收率,我在原來的接收管上增加了一個透鏡,這樣做有兩個目的:</p><p> 增強對反射光線的吸收;</p>
36、<p> 利用透鏡只能接收前方光線、阻隔側面光線的功能,減小外接漫反射光線對接收管的影響。</p><p> 如圖2-9,是我采用的透鏡:</p><p> 固定時,透鏡的焦點與激光發(fā)射然后反射回來的光線不在同一直線上,造成透鏡不但沒有發(fā)揮出聚光的作用,卻將室內(nèi)外的干擾光線連同激光信號一起屏蔽了,但是在這過程中,我卻學習到很多課本上無法獲得也無從想象的東西。</p&
37、gt;<p> 在進行激光發(fā)射與接收的時候,曾如右圖外接LED指示燈,用于測試小車激光發(fā)射與接收是否故障,這讓故障的檢測更加直觀。</p><p> 2.3智能車核心處理器</p><p> 在所有的前期準備結束后,我已經(jīng)獲得了小車前方是否有障礙物的信號,下面就是要對這個信號進行判斷、處理,我采用的是飛思卡爾半導體公司的MC9S12XS128單片機,是一個16位處理器,
38、總體上分為三個模塊:IO模塊(帶有中斷)、脈沖寬度調(diào)制模塊(主要針對舵機)和定時器模塊。</p><p> 其中,大部分I/O引腳可由相應的寄存器位來配置選擇數(shù)據(jù)方向、驅(qū)動能力,使能上拉或下拉式裝置。當用作通用IO口時,所有的端口都有數(shù)據(jù)寄存器和數(shù)據(jù)方向寄存器。由于小車最大的難點在于轉向的控制,所以下面主要介紹所用到的最多的模塊。</p><p> XS128具有XS128具有8位8通
39、道的PWM,相鄰的兩個通道可以級聯(lián)組成16位的通道。XS128具有8位8通道的PWM,相鄰的兩個通道可以級聯(lián)組成16位的通道。下面是脈沖調(diào)制模塊的幾種功能:</p><p> PWME:PWM通道使能寄存器。PWMEx=1將立即使能該通道PWM波形輸出。若兩個通道級聯(lián)組成一個16位通道,則低位通道(通道數(shù)大的)的使能寄存器成為該級聯(lián)通道的使能寄存器,高位通道(通道數(shù)小的)的使能寄存器和高位的波形輸出是無效的。&
40、lt;/p><p> PWMPOL:PWM極性寄存器。PPOLx=1,則該通道的周期初始輸出為高電平,達到占空比后變?yōu)榈碗娖剑幌喾?,若PPOLx=0,則初始輸出為低電平,達到占空比后變?yōu)楦唠娖健?lt;/p><p> PWMCLK:PWM時鐘源選擇寄存器。0、1、4、5通道,PCLKx=0使用Clock A,PCLKx=1使用Clock SA;2、3、6、7通道,PCLKx=0使用Clock
41、B,PCLKx=1使用Clock SB。</p><p> PWMPRCLK:PWM預分頻時鐘源選擇寄存器。</p><p> PWMPERx:PWM通道周期寄存器,每個通道都有一個獨立的8位周期寄存器,它的值將間接決定該通道的PWM波形周期。該寄存器采用雙緩沖器設計,即寫入的新值不立即生效,直到本次有效周期結束或者計數(shù)器寄存器清零或者該通道被禁止。讀該寄存器將返回最近一次寫入的值(不
42、一定是當前生效的值)。復位將重置值為0xFF。</p><p> 下面是如何由周期寄存器的值計算最終PWM輸出波形的周期與頻率方法:</p><p> 左對齊輸出:(CAEx = 0)</p><p> PWMx Period = Clock (A, B, SA, or SB) * PWMPERx</p><p> PWMx Freq
43、uency = Clock (A, B, SA, or SB) / PWMPERx</p><p> 中心對齊輸出:(CAEx=1)</p><p> PWMx Period = Clock (A, B, SA, or SB) * (2 * PWMPERx)</p><p> PWMx Frequency = Clock (A, B, SA, or SB) /
44、 (2 * PWMPERx)</p><p> Clock A、Clock B由下面的PWMPRCLK設置:</p><p> PWMDTYx:PWM占空寄存器。每個通道都有一個獨立的8位占空寄存器,它的值將間接決定該通道的PWM波形占空比。該寄存器采用雙緩沖器設計,即寫入的新值不立即生效,直到本次有效周期結束或者計數(shù)器寄存器清零或者該通道被禁止。讀該寄存器將返回最近一次寫入的值(不一
45、定是當前生效的值)。復位將重置值為0xFF。</p><p> 下面是如何由占空寄存器的值計算最終PWM輸出波形的占空比的方法:</p><p> Polarity = 0 (PPOLx = 0)</p><p> Duty Cycle = [(PWMPERx - PWMDTYx) / PWMPERx] * 100%</p><p>
46、 Polarity = 1 (PPOLx = 1)</p><p> Duty Cycle = [PWMDTYx / PWMPERx] * 100%</p><p> 定時器模塊由1個增強的可編程預分頻器驅(qū)動的可編程計數(shù)器、8個輸入捕捉/輸出比較通道和1個脈沖累加器組成。定時器模塊一共有8個引腳,其中脈沖累加器與第7號通道的引腳是共用的。其中:</p><p>
47、 TCNT:定時器計數(shù)寄存器。</p><p> TSCR1:定時器系統(tǒng)控制寄存器1。</p><p> TTOV:定時器溢出時觸發(fā)寄存器。</p><p> TCTL1/TCTL2:定時器控制寄存器1/2。</p><p> PR2、PR1、PR0三位決定了定時器預分頻比。</p><p> PTPSR:
48、精確定時器預分頻器選擇寄存器。</p><p> 若TSCR1中的PRNT=1,PTPSR的值將決定主定時器預分頻比。</p><p><b> 表:2-4</b></p><p> 圖2-11為處理器電路板:</p><p> 2.4智能車動力部分——馬達</p><p> 驅(qū)動電機采
49、用直流伺服電機,在此我選用的是RS-380SH型號的伺服電機,這是因為直流伺服電機具有優(yōu)良的速度控制性能,它輸出較大的轉矩,直接拖動負載運行,同時它又受控制信號的直接控制進行轉速調(diào)節(jié)。在很多方面有優(yōu)越性,具體來說,它具有以下優(yōu)點:</p><p> (1)具有較大的轉矩,以克服傳動裝置的摩擦轉矩和負載轉矩。</p><p> (2)調(diào)速范圍寬,高精度,機械特性及調(diào)節(jié)特性線性好,且運行速
50、度平穩(wěn)。</p><p> (3)具有快速響應能力,可以適應復雜的速度變化。</p><p> (4)電機的負載特性硬,有較大的過載能力,確保運行速度不受負載沖擊的影響。</p><p> (5)可以長時間地處于停轉狀態(tài)而不會燒毀電機,一般電機不能長時間運行于停轉狀態(tài),電機長時間停轉時,穩(wěn)定溫升不超過允許值時輸出的最大堵轉轉矩稱為連續(xù)堵轉轉矩,相應的電樞電流為
51、連續(xù)堵轉電流。</p><p> 下圖為該伺服電機的結構圖。</p><p> 圖2-14是此伺服電機的性能曲線。</p><p> 由于小車的馬達全速轉動時,速度過快,激光收發(fā)的距離又過短,所以,如果小車滿功率運行,勢必難以躲開障礙物,因此,必須給小車限速,這就用到了剛才介紹的PWM模塊,讓處理器給予馬達一占空比較低的信號,這個過程可以理解為小車的功率受占空
52、比所限制,因此達不到滿功率,所以只能以與占空比相對應的速度行進。</p><p> 表2-5 RS380-ST/3545技術指標</p><p> 2.5轉向工具:舵機</p><p> 舵機是一種位置伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。其工作原理是:控制信號由接收機的通道進入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準電路,產(chǎn)生
53、周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅(qū)動芯片決定電機的正反轉。當電機轉速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。舵機的控制信號是PWM信號,利用占空比的變化改變舵機的位置。一般舵機的控制要求如圖所示。</p><p> 舵機的接線方法如圖2-17:</p><p>
54、 控制線輸入一個周期性的正向脈沖信號,這個周期性脈沖信號的高電平時間通常在1ms-2ms之間。而低電平時間應在5ms到20ms間,并不很嚴格。下表3.3表示出一個典型的20ms周期性脈沖的正脈沖寬度與微型伺服馬達的輸出臂的位置的關系:</p><p> 由于我采用的是比賽中剩下的車模,在零件和機械結構上均作了變更,具體的參數(shù)都是后期實驗調(diào)出來的,關于舵機的具體參數(shù),將在軟件部分具體介紹。在允許電壓范圍內(nèi),電壓越
55、大,舵機響應速度越快,因此采用6V電壓給舵機供電,模塊在電源部分有介紹的。</p><p><b> 2.6調(diào)試工具</b></p><p> BDM下載器,將程序下載到核心板中,我采用的是8位16位通用型BDM下載器,在程序拷貝過程中,會有紅燈閃爍,若出現(xiàn)解除不良,等等其他原因,燈就不會出現(xiàn)閃爍現(xiàn)象。圖示為下載器外觀和內(nèi)部結構電路板。</p>&l
56、t;p> 第三章 機械結構設計</p><p> 本設計采用前輪驅(qū)動,前輪轉向。使用激光收發(fā)模塊判斷有誤障礙,主要電路板安裝在車身后側,舵機和馬達位于小車腹部,整體重心偏后,有較好的穩(wěn)定性,經(jīng)過改裝后的車模參數(shù)如下表:</p><p><b> 表 3-1</b></p><p> 3.1激光頭的安裝方案設計</p>
57、<p> 車身前端寬度比較大,舵機控制轉向又只有±45°,這時候前輪導向距離如果過短,將會導致車身無法繞開障礙物?;诖藛栴},我們將兩組激光收發(fā)模塊的間距盡量緊湊,然后以相對的角度來增加前瞻的寬度,再采用兩根鋼絲,固定住我們的激光收發(fā)模塊,然后以固定膠將其按照事先調(diào)好的角度固定在車身上,這樣,就解決了由于車身龐大無法繞開的問題,同時又變相增加了小車對障礙物的反應靈敏度。</p><
58、p> 在保證了探測障礙物和及時躲避的問題的同時,這種設計方案還讓小車的重心前移了一定距離,由于重心基本都在后輪上,小車又是前輪導向,所以難免會有一點吃力,因此這樣做也可以增加小車前輪的受力,讓導向更加靈活有力。</p><p> 3.2舵機位置的選擇</p><p> 如下圖所示,舵機的位置選擇在了車身的右側,這樣做有兩個原因,一個就是車模原來的結構設計中,馬達安裝在稱身左側,
59、通過傳輸軸給予前后輪驅(qū)動力,左側已經(jīng)沒有足夠的空間安裝這個舵機了;另一個重要原因是,如果舵機安排在輪子正上方,理論上可以給予小車最大的力矩,但是這樣做的話,需要多安裝2-4個轉軸和傳輸軸,加之轉軸之間相互傳輸力的損耗,基本可以與現(xiàn)在的力矩相差無幾;機械上的難點還有,較大的力矩需要更有力的固定點,車身前端為彈簧減震器,沒有多余的地方安裝多個轉軸,可以說,舵機的位置選擇如何,直接影響到舵機的效率。</p><p>
60、 當然,在進行軟件調(diào)試的時候,本來應該先調(diào)好角度,然后再固定車模,但是</p><p> 我的選擇讓我只能先固定舵機和前輪的連接,因為舵機的安裝方向不是與車身平行,而是成一個30左右的角度,這就導致輪子在左右轉開相同角度的時候,舵機向兩個極端轉過的角度也是不同的,為了盡量配合集合角度,舵機曾安裝過多次,終于找到舵機的左極端、中點、右極端。具體位置如下圖:</p><p><b>
61、; 3.3核心板的設計</b></p><p> 為了便于各部分電路在出現(xiàn)故障的情況下,能夠及時統(tǒng)一的斷電,盡早保護元器件不受損害,在小車的尾部,固定了一個電源開關,負責整個小車所有電路的供電;同時為了保護核心板在調(diào)試時,遇到無法繞開障礙物的情況下,避免撞到障礙物,將核心板盡量安排在小車后面,將驅(qū)動電路安裝在核心板的一側,并外接了一個電腦散熱板的散熱扇,幫助小車在轉向時由于馬達降低轉速而帶來的負擔
62、,電池盡量緊貼小車底部,讓小車在行進過程中的轉向更加穩(wěn)定。</p><p> 為了便于調(diào)試,小車的前端傳感器與核心板的連接均不用焊錫焊接,采用杜邦線,這樣可以隨時調(diào)試,查找問題,及時修改。</p><p> 3.4激光管結構設計</p><p> 激光頭發(fā)射路徑的設計,與小車自身的大小相關,就是在接收管所能感應到的最遠距離處的兩束激光的寬度與車身大小相同或者大
63、于小車的寬度,這樣更加有利于小車對障礙物的躲閃。</p><p> 根據(jù)小車轉向的多次測量,估算小車的轉向半徑,就是圖中的R大于0.5m,這與不同路面的摩擦系數(shù)相關。簡單示意圖:</p><p> 第四章 軟件開發(fā)及調(diào)試</p><p> 由于智能車的控制核心為Freescale 16位單片機,故用由飛思卡爾公司提供的軟件CodeWarrior進行編譯開發(fā)。
64、程序的下載采用CodeWarrior軟件包自帶的下載工具hiwave.exe,智能車與PC采用BDM下載器進行通信,方便了車模參數(shù)調(diào)試。</p><p> 4.1單片機程序設計</p><p> 單片機的行為是受程序控制的,因此開發(fā)與使用單片機必然會遇到程序設計的問題,單片機設計是一個硬件與軟件結合的問題,而其軟件設計的工作往往占有更多的成分。一個完整的嵌入式系統(tǒng)開發(fā)過程,除了硬件電路
65、的設計外,軟件工作包括程序編輯、匯編或編譯、程序下載、程序調(diào)試、脫機驗證等過程。</p><p> 程序的編輯就是按照一定的格式,采用匯編或者C等高級語言進行編寫,在這里,我采用的是C語言。早期的單片機程序設計在DOS環(huán)境下符合一定的格式編輯,然后采用一個合適的軟件匯編,生成二進制等CPU能識別的目標代碼,將單片機(內(nèi)帶程序存儲器的情形)或程序存儲器放入編程器,編程器通過串口或USB等接口與PC機相連,將PC機
66、存放的CPU能識別的代碼下載到單片機或程序存儲器中。下圖是一個簡單的說明。</p><p> 程序設計過程采用以上方式進行開發(fā)的情形下,單片機必須是能從電路板上取下來,這對貼片封裝的單片機就無能為力了。此時為了能在線仿真調(diào)試,需要昂貴的仿真頭和仿真電纜與軟件,而且?guī)缀鯖]有仿真器能做到100%的功能仿真,甚至有的問題正是來自于仿真器。隨著技術的發(fā)展,采用ISP技術,只要在目標電路板上預留一個接口,通過一個很小的下
67、載器,與PC機串、并口或USB口相連,就可以進行程序的調(diào)試與下載,尤其是有的單片機具有JTAG接口,下載調(diào)試更加方便,調(diào)試盡可能少占用單片機資源。</p><p> 單片機系統(tǒng)的開發(fā)離不開相應的開發(fā)工具,包括編程器、實時仿真器、虛擬仿真軟件、編譯軟件等。開發(fā)工具的主要作用包括系統(tǒng)硬件電路的診斷與檢查、程序的輸入與修改、程序的調(diào)試、程序的固化等。</p><p> 編程器的作用就是將單片
68、機程序的機器碼燒寫到單片機的存儲器中,也稱為程序的下載、燒寫或固化。對于支持ISP功能的單片機,只需要下載電纜(或下載器)就可以完成。</p><p> 實時仿真器包括相應的軟件和硬件,一般是通過PC機,用軟件監(jiān)視程序在單片機中的實際情況。有的時候,程序?qū)嶋H是在PC機上運行,當需要與硬件交換信息的時候,才通過適當?shù)慕涌趯崿F(xiàn)PC機與目標板的信息交換。仿真器的主要功能是實時運行程序,在程序中設置斷點,通過仿真接口,
69、監(jiān)視和控制程序的運行,查看和修改內(nèi)部寄存器和數(shù)據(jù)存儲器等。除了硬件實時仿真器,另一種做法就是軟件監(jiān)控程序的方法,在單片機的程序存儲器中開辟一塊地方,預先下載一段代碼,該代碼與PC機通訊,接受PC機的命令,同時接管單片機正常的中斷,讀取單片機內(nèi)部寄存器與存儲器信息,并發(fā)送到PC機,以達到程序監(jiān)控的目的。針對支持ISP功能的單片機,可以通過實時仿真器或監(jiān)控軟件完成程序的下載工作。</p><p> 在制作過程中,運
70、行的編譯環(huán)境為 CodeWarrior 5.0,CodeWarrior5.0是Metrowerks公司一套比較著名的集成開發(fā)環(huán)境,具有直觀,易用的優(yōu)點。CodeWarrior5.0包括項目管理,代碼生成,語法敏感編輯器等,具有快速下載,單步調(diào)控的特點,同時可以融合C語言和匯編語言的混合編程。CodeWarrior5.0具有在線調(diào)試,單步運行程序的功能,同時能夠觀察到主程序中定義的所有的變量的值。這一功能在進行程序錯誤檢查和改正時起到了至
71、關重要的作用。</p><p> 圖4.1即為CodeWarrior5.0的編程界面:</p><p> 4.2應用系統(tǒng)開發(fā)過程</p><p> ?。?)軟件結構設計。當硬件設計完成后,就能夠具體明確軟件的設計要求了。軟件結構設計的任務就是劃分程序功能模塊,把功能相對獨立的程序劃分成一個功能模塊是一種常用的方法,如數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)輸出、程序循環(huán)等模塊。
72、模塊劃分后,進一步明確各模塊之間的關系,各模塊之間的接口??紤]一個系統(tǒng)的最后歸檔也需要詳細的流程圖,所以無論模塊簡單還是復雜,都有必要畫出各模塊的流程圖。在這一階段,應盡量將和硬件有關的底層程序封裝起來,以便底層硬件測試和驅(qū)動程序與高層程序可以同時研發(fā),并保證程序的調(diào)試效率和可移植性。</p><p> ?。?)選擇開發(fā)平臺(語言)。程序設計語言對程序設計效率有重大影響。匯編語言是最為常用的一種程序設計語言,用它
73、編寫的程序代碼精簡、直接面向硬件。但匯編語言的編程效率低下,不易縮短產(chǎn)品或系統(tǒng)的開發(fā)周期。現(xiàn)在普遍采用的單片機系統(tǒng)高級開發(fā)語言是C語言。</p><p> (3)具體程序的編寫。在程序編寫時應注意程序模塊的可測性,有些重要的模塊可能還要規(guī)劃出測試數(shù)據(jù)接口,便于使用軟件仿真進行測試。</p><p> (4)軟件編譯和仿真調(diào)試。采用各種顯示手段,盡量對程序進行比較完整的測試,不把問題遺留
74、到硬件仿真和脫機驗證階段階段。</p><p><b> 4.3工程創(chuàng)建</b></p><p> 如需添加已經(jīng)創(chuàng)建過的項目,則需在上圖中選擇下一步,則會進入到下個界面:</p><p> 找到項目,添加即可。</p><p><b> 4.4程序編譯 </b></p><
75、;p> 圖4-6 程序界面一</p><p> 圖4-7 程序界面一</p><p> 主程序框架,顯示程序地址和循環(huán)等部分。</p><p> 主程序要實現(xiàn)的具體功能見下表:</p><p><b> 表4-1</b></p><p><b> 4.1下載調(diào)試<
76、/b></p><p> 調(diào)試軟件為Codewarrior4.5,調(diào)試器為清華大學工程物理系開發(fā)的 BDM。軟件編寫初期進行調(diào)試,只要讓車在靜態(tài)狀態(tài)下,邊采集傳感器信息,邊通過hiwave.exe程序的窗口中讀取通過軟件處理的數(shù)據(jù),通過與理論值進行對比來判斷程序的正誤。利用 BDM 可以即時的對軟件和硬件進行監(jiān)控,在調(diào)試過程中可以方便的設置斷點、選用單步運行的方式,同時查看各個寄存器的值,EEPROM中的
77、數(shù)據(jù)掉電之后不會丟失,可以用來記錄數(shù)據(jù)再進行后處理。這些強大的功能,都為我們的軟件調(diào)試提供了極大的便利。</p><p> 我所采用的方法為在線調(diào)試,如上面介紹的開發(fā)工具,使車處于靜止狀態(tài),利用 BDM 將數(shù)據(jù)從單片機傳入電腦,可以直接在線分析數(shù)據(jù),對錯誤和故障進行診斷。這個調(diào)試方法適用于整個智能車的制作和調(diào)試過程。</p><p> 根據(jù)實際情況與理想數(shù)值的偏差,不斷修改數(shù)據(jù),漸近于
78、理想狀態(tài)。</p><p> 總體上,可以充分利用了現(xiàn)有的調(diào)試工具和通信設備,得到了我所需要的數(shù)據(jù)和結果,以便更好的為我的決策進行優(yōu)化。</p><p> 4.2單片機的資源分配</p><p> 根據(jù)本次設計的特點,智能車的控制系統(tǒng)主要有道路信息采集模塊,電機驅(qū)動模塊,舵機驅(qū)動模塊及串口模塊等。為了讓這些模塊能正常工作就要對單片機的引腳進行合理分配。對于XS
79、128引腳資源豐富,它有兩種封裝80PIN和112PIN,由于設計時采用的是112PIN封裝形式,故不用擔心引腳不夠使用的問題。但是,DG128的112PIN封裝引腳比較亂,同一功能的引腳有可能在不同的側面,故在進行最小系統(tǒng)板的設計時,花了很長時間去調(diào)整單片機引腳的引出方法。最終,根據(jù)這些模塊的功能和特點,現(xiàn)將所需要的資源總結如表4.1所示。</p><p> 表4.2系統(tǒng)資源分配表</p>&l
80、t;p><b> 第五章 程序分析</b></p><p> #include<hidef.h></p><p> #include"derivative.h"</p><p> #include<MC9S12XS128.H></p><p> #includ
81、e <stdio.h></p><p><b> int i;</b></p><p><b> int j;</b></p><p><b> int k;</b></p><p> word *AD_wValue;</p><p>
82、;<b> int m;</b></p><p> word sensortemp=0x0000;</p><p> void Initial_PLL(void);</p><p> void PORT_Init(void);</p><p> void AD_Init(void);</p>&l
83、t;p> void sensor_judge(void); </p><p> void AD_GetValue(void);</p><p> void PWMInit(void);</p><p> void PWM_01(void);</p><p> void PWM_02(void);</p><
84、p> #pragma CODE_SEG DEFAULT</p><p> void Initial_PLL(void) /*鎖相環(huán)初始化設定鎖相環(huán)周期和總線周期 總線16M*/</p><p> {CLKSEL=0X00; </p><p> PLLCTL_PLLON=1; </p><p> SYNR
85、=0x00 | 0x01; </p><p> REFDV=0x80 | 0x01; </p><p> POSTDIV=0x00; </p><p> _asm(nop); </p><p> _asm(nop);</p><p> while(!(CRGFLG_LOCK==
86、1)); </p><p> CLKSEL_PLLSEL =1; </p><p><b> }</b></p><p> void PWMInit(void)</p><p> {PWMPOL=0X10; /*設置先輸出高電平</p><p>
87、 PWMCLK=0X10; /*選擇時鐘源為Clock SA</p><p> PWMPRCLK=0X07; /*始終分頻寄存器,選擇128分頻</p><p> PWMCAE=0X00; /*所有通道對齊方式選擇左對齊</p><p> PWMCTL=0X00; /*設置PWM通道
88、不級聯(lián)</p><p> PWMSCLA=0X05; /*0 和 2通道設置預分頻 </p><p> PWMPER4=0X64;/*對4腳周期寄存器設置 16M/(128*2*64)=1k</p><p> PWMDTY4=100; /*通道占空比設置</p>&l
89、t;p> PWME=0x10; /*4通道使能</p><p><b> }</b></p><p> void PWM_01(void) /*PWM1通道設置</p><p> {PWMCTL_CON01=1; </p>&l
90、t;p> PWMCAE_CAE1=0; </p><p> PWMCNT01 = 0; </p><p> PWMPOL_PPOL1=1; </p><p> PWMPRCLK = 0X04; </p><p> PWMSCLA = 0x08; </p><p> PWM
91、CLK_PCLK1 = 1; </p><p> PWMPER01 = 20000; </p><p> PWMDTY01 = 2010; </p><p> PWME_PWME1 = 1; </p><p><b> }</b></p><p> void PWM_02(
92、void) /*PWM2通道設置</p><p> {PWMPRCLK=0X60;</p><p> PWMCLK_PCLK2=1;</p><p> PWMSCLB=0X7D;</p><p> PWMPOL_PPOL2=0XFF;</p><p> PWMCA
93、E_CAE2=0X00;</p><p> PWMPER2=0X13;</p><p> PWMDTY2=0X13;</p><p> PWME_PWME2=1;</p><p><b> }</b></p><p> void PORT_Init(void) /*磀端口
94、初始化*/</p><p> {DDRA=0x00; /*端口A方向輸入*/</p><p> PUCR_PUPAE=1; /*端口A信號上拉*/</p><p> PORTA=0x00; /*端口A初值為0*/</p><p> DDRP=0XFF;
95、 /*PWM口輸出*/</p><p> PTP_PTP2=0X00; /*PWM2口為低電平*/</p><p><b> } </b></p><p> void AD_Init(void) /*AD初始化*/</p><p> {ATD0CTL1=0X
96、00; /*外部觸發(fā),8位精度,采樣前不放電*/</p><p> ATD0CTL2=0X40; /*標志位自動清零,禁止外部觸發(fā),關中斷,低電平有效*/</p><p> ATD0CTL3=0X90; /*右對齊,每次2個序列,非先進先出,遇到斷點繼續(xù)*/</p><p> ATD0CTL4=0X01; /*采樣時間為4
97、個AD時鐘周期,PRS為預分頻器f=f(BUS)/[2*(PRS+1)]=6MHZ,即時鐘分頻為6MHZ*/</p><p> ATD0CTL5=0X30; /*特殊通道禁止,連續(xù)轉換,多通道,其實通道0*/</p><p> ATD0DIEN=0X00; /*禁止數(shù)字輸入*/</p><p><b> }</b>&
98、lt;/p><p> void AD_GetValue(void) /*讀AD轉換結果*/</p><p> {*AD_wValue=ATD0DR0; /*讀取結果寄存器的值*/</p><p> if(*AD_wValue>=128)</p><p><b> m=1;</b></p>
99、<p><b> else</b></p><p><b> m=0;</b></p><p> sensortemp=m;</p><p> *AD_wValue=ATD0DR1; /*讀取結果寄存器的值*/</p><p> if(*AD_wValue>=128)
100、</p><p><b> m=1;</b></p><p><b> else</b></p><p><b> m=0;</b></p><p> sensortemp=(sensortemp<<1)|m;</p><p> A
101、TD0STAT0_SCF=1; /*清除隊列完成標志*/</p><p><b> }</b></p><p> void sensor_judge(void) /*傳感器狀態(tài)采集*/</p><p><b> {</b></p><p> switch(sensortemp)
102、</p><p><b> {</b></p><p> case 0x0001 :PWMDTY01=1950; /*1通道輸出舵機控制信號-----右轉*/ </p><p><b> break;</b></p><p> case 0x0002 :PWMDTY01=850; /*左轉*
103、/</p><p><b> break;</b></p><p> case 0x0003 :PWMDTY01=1350; /*前進*/</p><p><b> break;</b></p><p> default:break;</p><p><b>
104、; }</b></p><p> if(sensortemp==0x0000) /*都有障礙物時*/</p><p> if(PWMDTY01==1950)</p><p> PWMDTY01=1950;</p><p> else if(PWMDTY01==850)</p><p>
105、 PWMDTY01=850; </p><p><b> else</b></p><p> PWMDTY01=1950;</p><p> sensortemp=0;</p><p><b> }</b></p>
106、<p> void main(void) /*主函數(shù)*/</p><p> {Initial_PLL();</p><p> PWMInit();</p><p> PWM_01(); </p><p><b> PWM_02();</b></p><p> PO
107、RT_Init(); /*端口初始化*/</p><p> AD_Init();</p><p> PWMDTY01=835; /*左轉*/</p><p> for(i=0;i<=200;i++) </p><p><b> {</b></p>
108、<p> for(j=0;j<=200;j++) </p><p><b> {</b></p><p> for(k=0;k<=100;k++);</p><p><b> } </b></p><p><b> }</b></p>
109、;<p> PWMDTY01=1450; /*回中*/</p><p> for(i=0;i<=200;i++) </p><p><b> {</b></p><p> for(j=0;j<=200;j++) </p><p><b>
110、 {</b></p><p> for(k=0;k<=100;k++);</p><p><b> } </b></p><p><b> }</b></p><p> PWMDTY01=1950; /*右轉*/</p>
111、<p> for(i=0;i<=200;i++) </p><p><b> {</b></p><p> for(j=0;j<=200;j++) </p><p><b> {</b></p><p> for(k=0;k<=100;k++);</p&
112、gt;<p><b> } </b></p><p><b> }</b></p><p> PWMDTY01=1350; /*回中*/</p><p> for(i=0;i<=100;i++) </p><p><b>
113、 {</b></p><p> for(j=0;j<=100;j++) </p><p><b> {</b></p><p> for(k=0;k<=100;k++);</p><p><b> } </b></p><p><b>
114、; }</b></p><p> PWMDTY4=30; /*PWM4通道占空比40%</p><p> EnableInterrupts; /*開啟中斷</p><p><b> for(;;)</b></p><p>
115、; {_DISABLE_COP();</p><p> AD_GetValue();</p><p> sensor_judge();</p><p><b> }</b></p><p><b> }</b></p><p><b> 參考文獻<
116、/b></p><p> [a] 高洪堯.江銘交.匯光幕靶精度測量原理及應用[J].西安工業(yè)學院學報,1995,15 (3) :242-245</p><p> [b] 高月華.基于紅外光電傳感器的智能車自動尋跡系統(tǒng)設計[J].半導體光電,2009,30(1):134-137</p><p> [c] 儲江偉.郭克友.王榮本.自動導向車導向技術分析與評價
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能避障小車畢業(yè)設計論文
- 畢業(yè)設計+智能循跡避障小車設計
- 畢業(yè)設計---智能循跡避障聲控小車設計
- 畢業(yè)設計--智能超聲波避障小車
- 智能避障小車設計
- 智能避障小車設計
- 智能超聲波避障小車-畢業(yè)設計論文
- 智能循跡避障小車畢業(yè)論文
- 避障語音控制小車系統(tǒng)畢業(yè)設計
- 小車設計論文-智能尋光避障小車
- 畢業(yè)論文---智能循跡避障小車
- 基于pic單片機智能遙控避障安全小車報告
- 智能尋光避障小車設計論文
- 畢業(yè)論文——智能循線避障小車設計與制作
- 智能尋跡避障小車系統(tǒng)硬件設計
- 智能自動避障小車開題報告
- 智能循跡避障小車控制系統(tǒng)設計
- 藍牙智能遙控小車畢業(yè)設計論文
- 小車避障系統(tǒng)設計畢業(yè)論文
- 智能尋跡遙控避障機器人---畢業(yè)論文
評論
0/150
提交評論