《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 低成本光電尋跡智能車設(shè)計與實現(xiàn)
低成本光電尋跡智能車設(shè)計與實現(xiàn)
摘要: 提出一種使用激光檢測白底黑色跑道的尋跡智能車的軟硬件設(shè)計方法,在硬件上設(shè)計了最小系統(tǒng)、主板、電機驅(qū)動、激光傳感器模塊、測速模塊等電路,采用8位freescale單片機MC9S08AC16作為控制核心,使用低成本的紅外傳感器測速方案。
Abstract:
Key words :

  智能車競速比賽以及多種智能車的應(yīng)用場合中,需要智能車沿著某條軌跡快速前進,使用普通紅外傳感器、激光傳感器、攝像頭識別均可有效提取路面軌道信息而解決這一問題,現(xiàn)在常見使用16位單片機作為控制核心。普通紅外傳感器因為易受干擾、前瞻距離短等缺點已經(jīng)較少使用,攝像頭有豐富的數(shù)據(jù)信息,但是低成本8位單片機不能很好的處理這些信息。激光傳感器成本適中,處理的信號便于8位單片機處理,能夠有效的節(jié)省硬件成本。針對尋跡智能車進行了軟硬件設(shè)計,采用3位freescale單片機MC9S08AC16作為控制核心,使用激光傳感器提取賽道信息,采用低成本的紅外測速方案,算法使用以PID為基礎(chǔ)的枚舉查表法,做到了處理快速高效。整個設(shè)計既滿足了競速小車的響應(yīng)迅速的要求,又是一種較低成本的設(shè)計方案。

 

  1 車模安裝

 

  智能車的控制采用的是前輪轉(zhuǎn)向,B型車模采用的是國內(nèi)廠商生產(chǎn)的1:16的電動越野遙控車的底盤部分,突出特點為四輪驅(qū)動,四輪獨立懸掛。反射式光電傳感器在小車前方一字形簡單排布,14個發(fā)射,7個接收,一個發(fā)射帶兩個接收,傳感器的前瞻可以達到40cm以上,兩個激光發(fā)射頭間距1.8cm.傳感器單元安裝圖如圖1所示。

 

  圖1 改裝后智能車

  圖1 改裝后智能車

 

  系統(tǒng)選用紅外傳感器作為測速傳感器把紅外傳感器安裝在后輪上,在后輪的內(nèi)壁貼上黑白等距的膠帶,這樣子安裝就充分利用了空間,且完成了測速的要求。紅外傳感器測速安裝圖如圖2所示。車輪轉(zhuǎn)動時,紅外傳感器將會輸出脈沖電平,檢測脈沖頻率將得到小車速度。這種測速方法無法達到光電解碼器的精度,但是對于小車的速度處理并沒有太大影響,而光電解碼器價格昂貴,安裝在齒輪上,同等電源和PWM的輸出時,小車速度會變慢。

 

  圖2 紅外傳感器測速的安裝

  圖2 紅外傳感器測速的安裝

 

  2 硬件設(shè)計

 

  電源管理模塊采用7.2 V 2 000 mAh Ni-Cd蓄電池作為系統(tǒng)能源,并且通過降壓穩(wěn)壓電路分出6 V,5 V分別給舵機和單片機等供電;使用H橋及其相關(guān)器件做了直流電機驅(qū)動模塊;轉(zhuǎn)向伺服舵機控制智能車轉(zhuǎn)向;用紅外傳感器測量模塊實時測量智能車車速;采用激光傳感器作為賽道的檢測;系統(tǒng)充分使用了M9S8AC16CG單片機的外圍模塊,具體使用到的模塊包括:定時器模塊、PWM脈沖寬度調(diào)制模塊、中斷模塊、I/O端口和實時時鐘模塊等。

  2.1 最小系統(tǒng)及主板

  系統(tǒng)采用的常規(guī)使用的最小系統(tǒng)板,以MC9S08AC16為核心的單片機系統(tǒng)的最小系統(tǒng)主要包括以下幾個部分:時鐘電路(外接的8 MHz的石英晶振)、電源電路(提供5 V直流電源)、復(fù)位電路、BDM接口(通過BDM頭向單片機下載和調(diào)試程序)。

  主板上有組成本系統(tǒng)的主要電路,具體包括:

  電源穩(wěn)壓電路 7.2 V的電池電源將會通過3個集成穩(wěn)壓電路處理成兩個5 V、一個約5~7.2 V的可調(diào)直流輸出,其中一個5 V直流電源供單片機和相關(guān)外設(shè)工作,另外一個5V直流單獨供激光傳感器工作,可調(diào)直流輸出供舵機工作,采用這種電源設(shè)計方式,可以提供所需不同大小的電源,同時在舵機、激光傳感器工作時不會影響單片機的工作電源。

  接口電路 包括舵機接口、電機驅(qū)動接口、電源接口、調(diào)試用人機界面電路接口、單片機最小系統(tǒng)插座。

  電機驅(qū)動板作為一個獨立的單元制作的直流電機“H”型雙極性驅(qū)動電路。

  2.2 傳感器模塊

  采用14個發(fā)射,7個接收,兩個發(fā)射一個接收為一組一字排開。每次選中不相鄰兩個發(fā)射管發(fā)射,由兩個接收譬分別接受。AC16單片機的IO端口進行控制,由74LD164驅(qū)動選擇要發(fā)射的傳感器,由一個555芯片發(fā)出100 kHz的頻率震蕩波,激光管發(fā)光。接受部分有一個相匹配的100 kHz的接收管接收返回的光,7路接收管的接收信號直接進單片機。傳感器原理如圖3所示。

 

  圖3 激光傳感器原理圖

  圖3 激光傳感器原理圖

 

  3 軟件設(shè)計

 

  3.1 軟件設(shè)計概要

  系統(tǒng)的主函數(shù)將執(zhí)行圖4所示流程圖對應(yīng)的程序。調(diào)試程序可以完成的功能有:檢驗傳感器故障、調(diào)試速度控制參數(shù)、舵機中點設(shè)置、舵機轉(zhuǎn)角參數(shù)控制等。傳感器數(shù)據(jù)的讀取特指激光傳感器的讀取,在定時器程序中,每5 ms開始新的一輪激光掃描,每125μs更換1組激光發(fā)射管,每組發(fā)射兩個不相鄰的激光信號,所有激光發(fā)射5遍之后,3次以上檢測到賽道軌跡信號才確認有效,此時才會設(shè)置傳感器數(shù)據(jù)讀取完成標志,所以系統(tǒng)每5 ms進入后續(xù)程序執(zhí)行。小車舵機轉(zhuǎn)向控制、速度控制稍后詳細論述。對于小車馬達速度控制則為閉環(huán)控制,采用bang-bang控制與P算法控制相結(jié)合,小車的速度讀取采用了輸入捕捉功能完成,車子運動時,車輪轉(zhuǎn)動,每轉(zhuǎn)過1/5圈,紅外傳感器就會輸出一個完整的脈沖周期,通過讀取紅外傳感器的輸出脈沖頻率確定小車的速度。

 

  圖4 軟件設(shè)計流程圖

  圖4 軟件設(shè)計流程圖

 

  3.2 小車行駛狀態(tài)確定

  該系統(tǒng)采用的賽道為寬為50 cm,中心線為25 mm的賽道,傳感器在黑色上讀取為1,在白色上讀取為0,賽道外地板使用傳感器有可能讀1,也有可能讀0.激光傳感器終采用“一”字型排布方式,相鄰的兩個傳感器的距離為20 mm.賽道如圖5所示。

 

  圖5 賽道示意

  圖5 賽道示意

 

  傳感器在賽道上可能的狀態(tài)可分為:在普通的賽道處、在十字交叉線處,還有跑出賽道。系統(tǒng)定義了變量Car_State來代表小車當前的狀態(tài),可能會出現(xiàn)的情況如下:

  1)當小車在賽道上時,將會有1到2個傳感器輸出高電平,如果有兩個傳感器同時打到黑點,而兩個傳感器并不是相鄰的則認為是干擾信號,不作特別處理,其他按照如圖6的傳感器排布方法計算坐標從左向右依次為-13到13,此時Car_State計為傳感器打到的坐標;

  2)打到10個以上黑點計為交叉線,Car_State計為20;

  3)沒有打到黑點則認為小車即將跑出賽道,Car_State計為30;

  4)另外還有一種情況傳感器已經(jīng)打到了賽道之外,而打到賽道外的傳感器可能輸出高電平,也有可能輸出低電平,此時有可能讀出的情況可能會判定為第一種,如圖5示意,此時小車本應(yīng)繼續(xù)左拐,但是判讀位第一種情況,就可能右拐,這種情況的判定就不能僅僅依靠讀傳感器來判定,還應(yīng)考慮小車前面行進的趨勢加以判別。因為此種情況一般只出現(xiàn)在小車轉(zhuǎn)大彎時,由于轉(zhuǎn)角不夠當小車的傳感器會打到相反方向的賽道外,所以左轉(zhuǎn)或者右轉(zhuǎn)的角度超過某一特定值時(如60°),應(yīng)當屏蔽另一側(cè)的傳感器,只讀轉(zhuǎn)向該側(cè)的傳感器,如圖5小車現(xiàn)轉(zhuǎn)左側(cè)大彎,右側(cè)傳感器檢測到錯誤黑點,此時只要將右側(cè)的7個傳感器屏蔽,只讀左側(cè)傳感器數(shù)值即可,此種情況Car_State計為40。

 

  圖6 傳感器排布

  圖6 傳感器排布

 

  3.3 舵機控制

  小車在賽道上:Car_State為-13到13間的整數(shù),由于光電管數(shù)量少,造成傳感器返回值離散度過大,不適合進行回控,故應(yīng)加快采樣速率,進行過采樣,再進行一階迭代濾波:

  PVal=((Car_State×1 000)+(Pvalx10))/11;

  小車行使5 ms后位置的偏差進行迭代濾波:

  Err=((PVal-PVal1)+(Errx10))/11;//兩次位置偏差

  P_Offset=Err/P_err; //負值左偏 正值右偏

  if(P_Offset<-5)P_Offset=-5; //左偏最大偏離為-5個單位

  if(P_Offset>5)P_Offset=5; //右偏最大偏離為5個單位

  將Err進行采樣劃分得到P_Offset變量,P_Offset取值為-5到5的整數(shù),負數(shù)表示向左偏,正數(shù)表示向右偏,絕對值越大代表偏轉(zhuǎn)角度越大;采樣分辨率為可調(diào)參數(shù)P_err,P_err偏大時,小車反應(yīng)會較為遲鈍,P_err偏小時,小車反應(yīng)會較為靈敏,容易出現(xiàn)很小偏差就會引起小車較大的轉(zhuǎn)向。

  按照小車當前的位置以及P_Offset組織數(shù)據(jù)表Angle_Table[],該表共有27行11列,第n行m列元素j,表示小車位置Car_State為n-13偏差P_Offset為m-5時,j的值在-10到10之間,負值代表向左轉(zhuǎn),正值代表向右轉(zhuǎn),小車舵機應(yīng)打的角度為jxAngle_C,可調(diào)參數(shù)Angle_C可以根據(jù)賽道狀況舵機反應(yīng)靈敏度等調(diào)節(jié),其調(diào)節(jié)在調(diào)試程序中完成,其值愈大,同等情況下轉(zhuǎn)角越大。

  舵機的控制就是通過查數(shù)據(jù)表Angle_Table來實現(xiàn),而不是通過公式求解,這種方法比較適用于8位單片機,通過檢索表可以達到運算所達不到的系統(tǒng)速度。

  小車在交叉線時Car_State=20不更改舵機的控制;當小車的傳感器打不到黑點,即將跑出賽道活著已經(jīng)打到賽道外時Car_State=30或40,此時按照小車轉(zhuǎn)的方向,將舵機設(shè)置為最大轉(zhuǎn)角,以達到盡快找到賽道黑線的目的。

  舵機的輸出PWM采用5 ms周期,與小車傳感器采樣的頻率一致。

 

  4 試驗結(jié)果及總結(jié)

 

  通過上述方法,小車取得了比較好的試驗結(jié)果,在最小曲率半徑不小于50 cm的賽道上,小車可以取得每秒2 m以上的速度。其速度比采用16位單片機的系統(tǒng)沒有很大差異。要特別注意的是,運算時采用不同數(shù)據(jù)類型的變量將會帶來不同的效果,經(jīng)實驗證明,如果可以使用字節(jié)存儲類型的變量作雙字節(jié)變量存儲,將會嚴重影響小車的運行情況,這是由單片機編譯環(huán)境進行數(shù)學運算引起的,應(yīng)當盡量避免不恰當?shù)淖兞慷x及算數(shù)運算。

  相較于當前流行的16位單片機控制的雙舵機智能車,該系統(tǒng)在硬件上成本較低,而軟件也根據(jù)8位單片機的特點,避開了較為復(fù)雜的運算,采用了查表的方式,只在小車位置及偏差運算以及速度P算法中涉及了少量的數(shù)學運算,以此達到系統(tǒng)的快速響應(yīng)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美暴力喷水在线| 国产欧美二区| 欧美影院成人| 亚洲尤物视频在线| 中文av一区特黄| 一片黄亚洲嫩模| 亚洲毛片av| 亚洲欧洲日本mm| 亚洲激情第一页| 亚洲黄色在线观看| 亚洲国产老妈| 亚洲国产日韩欧美在线99| 久久精品日产第一区二区| 久久成人亚洲| 亚洲国产天堂久久综合| 亚洲福利视频网站| 亚洲第一精品福利| 亚洲国产成人久久综合| 亚洲承认在线| 亚洲欧洲日韩在线| 亚洲精选视频免费看| 亚洲美女在线视频| 一区二区三区日韩精品视频| 亚洲图片激情小说| a4yy欧美一区二区三区| 亚洲视屏一区| 午夜亚洲伦理| 久久精品人人做人人综合| 久久久久国产一区二区三区| 久久―日本道色综合久久| 久久综合色88| 欧美日本一区| 国产精品qvod| 国产日韩精品一区二区三区| 国产在线拍偷自揄拍精品| 在线成人黄色| 亚洲人成人77777线观看| 99国产精品久久久久老师| 亚洲性av在线| 久久aⅴ国产欧美74aaa| 亚洲精品麻豆| 亚洲一区二区视频在线| 午夜精品久久久久| 久久久亚洲人| 欧美另类一区二区三区| 国产精品日韩欧美一区| 激情欧美丁香| 日韩视频永久免费| 午夜精品久久久久99热蜜桃导演| 久久精品99| 宅男66日本亚洲欧美视频| 欧美伊人影院| 免费国产一区二区| 欧美色一级片| 国产综合亚洲精品一区二| 亚洲国产综合在线| 亚洲午夜电影网| 久久精品国产第一区二区三区| 亚洲靠逼com| 欧美在线视频不卡| 欧美激情精品久久久久| 国产精品婷婷午夜在线观看| 激情五月婷婷综合| 夜夜嗨av一区二区三区四季av| 西瓜成人精品人成网站| 亚洲九九爱视频| 欧美一区三区三区高中清蜜桃| 欧美成年视频| 国产麻豆综合| 日韩一区二区高清| 亚洲国产日日夜夜| 亚洲欧美日韩中文在线制服| 欧美+日本+国产+在线a∨观看| 国产精品久久久久aaaa九色| 极品少妇一区二区三区精品视频 | 国产精品久久久久久影院8一贰佰| 国产亚洲一区二区三区| 日韩亚洲成人av在线| 久久经典综合| 亚洲欧美综合一区| 欧美激情视频在线播放| 国产日韩综合| 99精品免费网| 亚洲日本激情| 久久亚洲欧美| 国产欧美日韩在线 | 亚洲精品欧美精品| 久久激情久久| 欧美性大战久久久久久久蜜臀| 伊人久久噜噜噜躁狠狠躁| 亚洲欧美日韩天堂一区二区| 亚洲最新色图| 欧美成在线视频| 国内精品嫩模av私拍在线观看 | 免费在线观看日韩欧美| 国产精品一区二区你懂得| 亚洲卡通欧美制服中文| 亚洲欧洲日产国产网站| 久久久蜜桃精品| 国产精品久久久一区二区三区| 亚洲精品国产欧美| 亚洲激情偷拍| 另类图片综合电影| 国模 一区 二区 三区| 亚洲综合精品四区| 亚洲一区二区动漫| 欧美日本在线看| 亚洲高清在线| 亚洲激情欧美| 老牛嫩草一区二区三区日本| 国产日韩精品一区二区| 亚洲一区二区不卡免费| 中文一区字幕| 欧美巨乳在线| 亚洲人成在线观看| 亚洲精品小视频在线观看| 久热精品视频在线观看一区| 国产亚洲精品v| 亚洲欧美日韩国产综合在线 | 欧美亚洲第一区| 9色精品在线| 一区二区欧美国产| 欧美精品一区二区三区很污很色的 | 欧美在线观看www| 久久精品一区二区| 国产视频精品网| 欧美在线欧美在线| 久久久青草青青国产亚洲免观| 国产亚洲精品久久久久久| 午夜在线视频一区二区区别| 午夜日韩在线| 国产精品一区二区在线观看网站| 亚洲欧美中文日韩在线| 欧美在线关看| 国产专区欧美精品| 亚洲福利免费| 欧美激情亚洲激情| 99精品欧美一区| 亚洲欧美国产不卡| 国产精品亚洲欧美| 欧美一区二区三区免费视频| 久久久久免费视频| 在线日韩中文字幕| 亚洲美女视频在线观看| 欧美日韩中文| 亚洲欧美日韩成人高清在线一区| 久久久.com| 亚洲国产精品美女| 亚洲调教视频在线观看| 国产免费观看久久黄| 久久精品观看| 欧美激情一区三区| 亚洲视频欧美在线| 久久国产精品一区二区三区| 尤物yw午夜国产精品视频明星| 夜夜爽夜夜爽精品视频| 国产精品免费观看视频| 欧美在线视频观看免费网站| 欧美福利电影网| 亚洲网友自拍| 久久综合亚洲社区| 99视频精品| 久久久国产精品一区二区三区| 亚洲电影在线| 亚洲欧美成人在线| 影音先锋亚洲视频| 亚洲视频在线观看一区| 国产偷国产偷精品高清尤物| 亚洲精品小视频在线观看| 欧美性大战久久久久久久| 欧美在线不卡| 欧美日韩一级大片网址| 欧美一区综合| 欧美日韩精品国产| 性欧美超级视频| 欧美日韩第一区| 欧美在线影院在线视频| 欧美日韩精品一区视频| 欧美一区二区成人6969| 欧美黄色视屏| 欧美亚洲一区在线| 欧美另类一区| 久久av一区二区三区漫画| 欧美日韩免费网站| 久久精品一区四区| 国产精品v欧美精品v日本精品动漫| 久久国产一区二区| 国产精品扒开腿做爽爽爽软件| 久久精品视频在线免费观看| 欧美日韩在线一区二区三区| 亚洲电影成人| 国产精品社区| 一区二区三区国产盗摄| 激情六月综合| 午夜在线成人av| 亚洲精品国产精品国自产在线| 久久精品视频在线| 亚洲深夜福利在线| 欧美久久成人| 亚洲黄网站黄|