999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CCD自動(dòng)巡線智能小車設(shè)計(jì)

2019-12-05 02:37:08司開波呂林濤
宇航計(jì)測(cè)技術(shù) 2019年5期

司開波 黃 健 呂林濤

(西京學(xué)院信息工程學(xué)院,陜西西安 710123)

1 引 言

在智能車設(shè)計(jì)中,通常要實(shí)現(xiàn)自動(dòng)循跡功能,因此人們研究了多種方法。文獻(xiàn)[1]采用光電傳感器TCRT5000,以STC12C5A60S2為控制核心,實(shí)現(xiàn)了對(duì)黑白線的自動(dòng)循跡。文獻(xiàn)[2]采用新型數(shù)字式電感傳感器LDC1000實(shí)現(xiàn)了對(duì)細(xì)鐵絲構(gòu)成的跑道的自動(dòng)循跡。

文獻(xiàn)[1]采用的方法,也是常用的一種循跡方法。采用光電傳感器,根據(jù)白線反射光強(qiáng),黑線反射光弱的原理識(shí)別黑白線,達(dá)到自動(dòng)巡線的功能。但該方法對(duì)黑線的寬度和當(dāng)前光照強(qiáng)度有要求,如果當(dāng)前自然光照強(qiáng)度大,很難識(shí)別黑白線;如果黑線寬度較細(xì),也較難識(shí)別;如果是彎道,由于角度變化,識(shí)別也比較困難。而本文提出的CCD線陣傳感器,包含128個(gè)光電二極管的線性陣列,構(gòu)成128個(gè)像素,每個(gè)像素的光敏面積是3 524.3μm2,像素之間的間隔是8μm。每個(gè)像素點(diǎn)具有256(8bit)級(jí)灰度輸出。相比于單個(gè)或多個(gè)光電傳感器TCRT5000,輸出精度更高,采集的信息點(diǎn)更多,采集范圍更寬。因此,實(shí)現(xiàn)的自動(dòng)循跡功能更強(qiáng)。

2 系統(tǒng)設(shè)計(jì)

2.1 線性CCD工作原理

該傳感器是包含128個(gè)光電二極管的線陣,光電二極管在光的照射下產(chǎn)生光電流。如圖1所示構(gòu)成了光電二極管積分電路,二極管上累積的電荷量與光強(qiáng)度和光照時(shí)間成正比。當(dāng)開關(guān)S1在1上時(shí),積分電容上流過的電流和光電流相等,對(duì)光電流進(jìn)行積分。當(dāng)S1切換到2時(shí),釋放積分電容上累積的電荷。S2采樣輸出,當(dāng)S2切換到1上時(shí),使得采樣電容電壓等于運(yùn)放輸出電壓,切換到3時(shí),輸出電壓,在2時(shí),其它光電二極管輸出電壓[3-5]。CCD內(nèi)部有移位寄存器和邏輯控制器,可依次輸出128個(gè)像素點(diǎn)的電壓。

圖1 光電二極管積分原理圖Fig.1 Photodiode Integration Principle Diagram

2.2 系統(tǒng)設(shè)計(jì)框圖

系統(tǒng)設(shè)計(jì)框圖如圖2所示,主控采用高性能微處理器STM32F103ZET6,主頻72MHz,具有豐富的資源和I/O接口。采用3.3V供電,CCD線陣首先采集黑線的信息,通過A/D接口送給主控STM32,主控對(duì)數(shù)據(jù)進(jìn)行處理,用中值算法尋找黑線中心位置,并與小車中心點(diǎn)位置比較。當(dāng)車身偏左時(shí),控制小車右轉(zhuǎn);當(dāng)車身偏右時(shí),控制小車左轉(zhuǎn);當(dāng)正在黑線的正上方時(shí),小車直行。電機(jī)驅(qū)動(dòng)采用TB6612,用編碼器測(cè)速,用速度PID控制PWM波輸出,使得小車行進(jìn)穩(wěn)定、可靠。并增加藍(lán)牙串口模塊,可將小車行進(jìn)的相關(guān)數(shù)據(jù)發(fā)送給上位機(jī),便于調(diào)試。

圖2 系統(tǒng)框圖Fig.2 System block diagram

3 硬件電路設(shè)計(jì)

3.1 CCD硬件電路設(shè)計(jì)

CCD與STM32的連接圖如圖3所示。STM32的PA4引腳控制數(shù)據(jù)的起始位,PA2提供讀寫的時(shí)鐘信號(hào),PA3作為模擬A/D輸入引腳,可連續(xù)讀取128個(gè)像素點(diǎn)的輸出電壓,作為軟件處理中的原始數(shù)據(jù)[4-7]。

圖3 CCD與STM32連接圖Fig.3 Connection Chart of CCD and STM32

3.2 TB6612電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)

TB6612電機(jī)驅(qū)動(dòng)電路圖如圖4所示,TB6612適合驅(qū)動(dòng)小型直流電機(jī),可同時(shí)驅(qū)動(dòng)2路直流電機(jī),峰值電流可達(dá)到2A,相比于L298具有體積小、性能高等優(yōu)點(diǎn)。圖中PF13,PF14,PC6控制1路電機(jī),PF13,PF14控制電機(jī)的轉(zhuǎn)向,PC6輸出PWM波,控制電機(jī)的轉(zhuǎn)速。對(duì)應(yīng)的輸出為OUT1和OUT2。PF15,PG0,PC7控制另外1路電機(jī),PF15,PG0控制電機(jī)的轉(zhuǎn)向,PC7輸出PWM波,控制電機(jī)的轉(zhuǎn)速。對(duì)應(yīng)的輸出為OUT3和OUT4。VM為電機(jī)驅(qū)動(dòng)所需電壓,要高于6V,設(shè)計(jì)中采用7V[8]。VCC為芯片工作電壓,是5V。

圖4 TB6612電機(jī)驅(qū)動(dòng)硬件原理圖Fig.4 Hardware schematic diagram of TB6612 motor drive

對(duì)電機(jī)測(cè)速時(shí),采用編碼器,每旋轉(zhuǎn)1圈,輸出390個(gè)脈沖,將其接入STM32F103ZET6的定時(shí)器2,測(cè)量每秒鐘脈沖的個(gè)數(shù)實(shí)現(xiàn)測(cè)速。

3.3 串口藍(lán)牙電路設(shè)計(jì)

圖5 藍(lán)牙接口電路設(shè)計(jì)Fig.5 Bluetooth interface circuit design

串口藍(lán)牙電路圖如圖5所示,圖中藍(lán)牙連接到STM32F103ZET6的串口2上,要實(shí)現(xiàn)藍(lán)牙通信,必須是一對(duì)。上位機(jī)的連接方法與圖5所示相同。通信之前,首先用串口調(diào)試助手對(duì)2個(gè)藍(lán)牙模塊進(jìn)行設(shè)置,設(shè)置好后2個(gè)藍(lán)牙模塊會(huì)自動(dòng)配對(duì)。通過串口2的PD5(RXD)和PD6(TXD)實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。可將CCD數(shù)據(jù),電機(jī)測(cè)速數(shù)據(jù)等發(fā)送給上位機(jī),方便調(diào)試。

4 軟件編程

4.1 軟件流程圖

在KEIL MDK5.0下用C語言編程,軟件流程圖如圖6所示。

圖6 軟件流程圖Fig.6 Software flow chart

軟件編程時(shí),首先對(duì)定時(shí)器、串口等進(jìn)行初始化,然后通過A/D循環(huán)采集128個(gè)像素點(diǎn)的數(shù)據(jù)。通過顏色識(shí)別找到黑線的2個(gè)邊緣,記下此時(shí)像素點(diǎn)的位置I和J(I

K=I+(J-I)/2

(1)

PWM+=Kp[e(k)-e(k-1)]+Ki×e(k)

+Kd[e(k)-2e(k-1)+e(k-2)]

(2)

式中:Kp——比例系數(shù);Ki——積分系數(shù);Kd——微分系數(shù);e(k)——當(dāng)前位置誤差;e(k-1)——上一次位置誤差;PWM——脈沖寬度。

4.2 關(guān)鍵代碼

以下是找到黑線并計(jì)算中心代碼,該段代碼在定時(shí)器Timer1中每隔100ms調(diào)用一次。對(duì)小車的控制采用動(dòng)態(tài)閾值智能控制方法,當(dāng)?shù)竭_(dá)閾值范圍內(nèi),控制小車直行,否則控制小車左轉(zhuǎn)或者右轉(zhuǎn),按流程圖所示進(jìn)行。這樣可以避免小車左右搖擺,這樣就能在幾秒內(nèi)將小車調(diào)整到中心位置。

void Find_CCD_Zhongzhi(void)

{static u8 i,j,Left,Right,Last_CCD_Zhongzhi;static u16 value1_max,value1_min;value1_max=ADV[0];//動(dòng)態(tài)閾值算法,讀取最大和最小值

for(i=5;i<123;i++)//兩邊各去掉5個(gè)點(diǎn)

{if(value1_max<=ADV[i])

value1_max=ADV[i];}

value1_min=ADV[0];//最小值

for(i=5;i<123;i++)

{if(value1_min>=ADV[i])

value1_min=ADV[i];}

CCD_Yuzhi=(value1_max+value1_min)/2;//計(jì)算出本次中線提取的閾值

for(i = 5;i<118; i++)//尋找左邊跳變沿

{if(ADV[i]>CCD_Yuzhi&&ADV[i+1]>CCD_Yuzhi&&ADV[i+2]>CCD_Yuzhi&&ADV[i+3]

{Left=i;

break;}

}

for(j = 118;j>5; j--)//尋找右邊跳變沿

{if(ADV[j]CCD_Yuzhi&&ADV[j+4]>CCD_Yuzhi&&ADV[j+5]>CCD_Yuzhi)

{Right=j;

break;}

}

CCD_Zhongzhi=(Right+Left)/2;//計(jì)算中線位置if(myabs1(CCD_Zhongzhi-Last_CCD_Zhongzhi)>70)//計(jì)算中線的偏差,如果太大

CCD_Zhongzhi=Last_CCD_Zhongzhi;//則取上一次的值

Last_CCD_Zhongzhi=CCD_Zhongzhi;//保存上一次的偏差

}

5 測(cè)試結(jié)果處理

設(shè)計(jì)并調(diào)試好硬件電路和軟件程序后,就可以進(jìn)行測(cè)試了。測(cè)試時(shí),首先對(duì)鏡頭進(jìn)行調(diào)焦,調(diào)焦如式(3)或式(4)所示

f=v×D/V

(3)

f=h×D/H

(4)

式中:f——鏡頭的焦距長(zhǎng)度;v——拍攝對(duì)象成像后的縱向尺寸;V——拍攝對(duì)象實(shí)際的縱向尺寸;D——鏡頭和拍攝對(duì)象之間的距離;h——拍攝對(duì)象成像后的橫向尺寸;H——拍攝對(duì)象實(shí)際的橫向尺寸。

測(cè)試時(shí),所選用的鏡頭的成像區(qū)域?yàn)?.128mm×0.063 5mm,焦距可調(diào)。

測(cè)試時(shí)跑道如圖7所示。相距最遠(yuǎn)的2條黑線的外邊沿間距是25cm,即橫向尺寸H為25cm。鏡頭與目標(biāo)距離D為80cm,鏡頭焦距f為6mm,經(jīng)過式(4)計(jì)算,可得到成像后的橫向尺寸h如式(5)所示

h=f×H/D=6mm×25cm/80cm=1.875mm

圖7 測(cè)試用跑道示意圖Fig.7 Test Runway

而鏡頭的成像區(qū)域?yàn)?.128mm×0.0635mm,橫向長(zhǎng)度為8.128mm,對(duì)應(yīng)128個(gè)像素點(diǎn),則1.875mm對(duì)應(yīng)像素點(diǎn)是29.5,接近于30個(gè)。

通過藍(lán)牙發(fā)送數(shù)據(jù)給上位機(jī),可以得到如圖8所示的測(cè)試數(shù)據(jù)。

圖8 測(cè)試數(shù)據(jù)1Fig.8 Test data 1

圖8顯示了經(jīng)過軟件處理后的數(shù)據(jù),最小值是18,最大值是86,中間值是52,并顯示了灰度圖和二值化圖。

圖9顯示了當(dāng)焦距為8mm時(shí)測(cè)量數(shù)據(jù),鏡頭與目標(biāo)距離D為30cm時(shí)測(cè)得的數(shù)據(jù)。從圖中可得到最小值是20,最大值是127,中間值是73,并顯示了灰度圖和二值化圖。

在實(shí)際測(cè)量中,由于環(huán)境亮度有所不同,測(cè)量值會(huì)有所不同.因?yàn)橄袼氐牧炼扰c曝光時(shí)間(積分時(shí)間)和環(huán)境亮度成正比,所以當(dāng)光線比較暗時(shí),增加曝光時(shí)間;當(dāng)光線比較亮?xí)r,減少曝光時(shí)間。曝光時(shí)間可用軟件調(diào)整。

圖9 測(cè)試數(shù)據(jù)2Fig.9 Test data 2

對(duì)圖9所示數(shù)據(jù)提高曝光時(shí)間,焦距保持8mm,鏡頭與目標(biāo)距離D不變,仍為30cm。得到測(cè)試數(shù)據(jù)如圖10所示。

圖10 測(cè)試數(shù)據(jù)3Fig.10 Test data 3

從圖中可以看到,增大曝光時(shí)間后,最大值、最小值、中間值明顯增大,中間值變?yōu)?35。因此,當(dāng)光線較暗時(shí),可增加曝光時(shí)間,增強(qiáng)識(shí)別能力。

6 結(jié)束語

文中仔細(xì)研究了CCD識(shí)別顏色的基本工作原理。設(shè)計(jì)了硬件電路,在MDK下編寫了C程序,采用中值算法得到了黑線的中線位置,通過PID算法控制了小車的行駛,實(shí)現(xiàn)了用攝像頭循跡,為智能小車的自動(dòng)循跡提供了一種新方法。測(cè)試結(jié)果表明:該方法相比于普通光電傳感器,具有性能可靠、穩(wěn)定、速度快等優(yōu)點(diǎn)。

主站蜘蛛池模板: 亚洲美女视频一区| 亚洲啪啪网| 久青草网站| 伊人久久精品无码麻豆精品| 日本精品影院| 国产成人精品一区二区不卡| 在线国产欧美| 久久99这里精品8国产| 91久久天天躁狠狠躁夜夜| 精品国产免费观看一区| 毛片免费高清免费| 婷婷亚洲最大| 亚洲天堂自拍| 久久久久亚洲精品成人网| 欧美一级特黄aaaaaa在线看片| 欧美日韩资源| 免费看一级毛片波多结衣| 秘书高跟黑色丝袜国产91在线| 日韩精品亚洲精品第一页| 欧美无遮挡国产欧美另类| av大片在线无码免费| 一本大道香蕉久中文在线播放| 91精品伊人久久大香线蕉| 亚洲天堂网在线观看视频| 美女国产在线| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲手机在线| 国产色偷丝袜婷婷无码麻豆制服| 国产成人a毛片在线| 高清无码一本到东京热| 国产精品女人呻吟在线观看| 亚洲v日韩v欧美在线观看| 精品综合久久久久久97超人| 99在线视频网站| 91久久偷偷做嫩草影院电| 热久久综合这里只有精品电影| 久久久久青草大香线综合精品 | 国产成人亚洲综合a∨婷婷| 国产性生大片免费观看性欧美| 中文字幕佐山爱一区二区免费| 久热中文字幕在线观看| 亚洲第一成网站| 国产在线观看91精品亚瑟| 国产麻豆另类AV| 免费国产高清视频| 67194在线午夜亚洲| 国产一区二区三区在线无码| 国产人成网线在线播放va| 一级黄色网站在线免费看| 亚洲乱伦视频| 国产精品亚洲精品爽爽| 亚洲欧美色中文字幕| 婷婷午夜天| 久久久精品国产SM调教网站| 亚洲 成人国产| 亚洲人成日本在线观看| 欧美激情二区三区| 精品成人一区二区三区电影| 中文精品久久久久国产网址| 91免费国产在线观看尤物| 国产呦精品一区二区三区网站| 亚洲国产精品一区二区第一页免| 一级一级一片免费| 国产成人综合亚洲欧美在| 国产91透明丝袜美腿在线| 91青草视频| 国产噜噜噜| 国产福利一区二区在线观看| 91亚洲视频下载| 2021国产精品自产拍在线| 天天摸天天操免费播放小视频| 99这里只有精品在线| 国产内射在线观看| 国产精品亚洲日韩AⅤ在线观看| 在线观看欧美精品二区| 国产一级毛片网站| 亚洲二区视频| 91精品啪在线观看国产91九色| 国产精品嫩草影院av| 嫩草国产在线| 成人精品亚洲| jizz国产视频|