李建新
(武漢軟件工程職業(yè)學(xué)院電子工程學(xué)院,湖北 武漢 43020)
基于GP2Y0A02距離測(cè)量的仿真與輔助設(shè)計(jì)
李建新
(武漢軟件工程職業(yè)學(xué)院電子工程學(xué)院,湖北 武漢 43020)
為了實(shí)現(xiàn)非接觸距離測(cè)量,利用多個(gè)仿真與設(shè)計(jì)軟件設(shè)計(jì)了采用GP2Y0A02模塊的距離光學(xué)測(cè)試系統(tǒng)。在PROTEUS中測(cè)量GP2Y0A02電壓值,并在Matlab中采用多元線性回歸建立GP2Y0A02電壓與距離的擬合曲線,最后在開發(fā)的測(cè)量程序中利用擬合曲線求解得到距離量。測(cè)試結(jié)果表明,對(duì)于非線性位置測(cè)量采用適當(dāng)數(shù)據(jù)處理方法能得到滿意的測(cè)量精度。
激光三角測(cè)量;距離傳感器;非線性校正;曲線擬合
距離測(cè)量廣泛應(yīng)用在工業(yè)液位、料位、生產(chǎn)線料坯傳送定位,行吊XY定位,大型工件裝配定位;超大物體幾何計(jì)量,光散射試驗(yàn),超聲波特性試驗(yàn),軍事槍械校正,靶距自動(dòng)控制,船舶安全靠距,集裝箱定位等領(lǐng)域中。非接觸式距離檢測(cè)系統(tǒng)中廣泛應(yīng)用激光三角測(cè)量法,在中/低精度、高速場(chǎng)合其光電傳感器常用采用PSD,而三角測(cè)量法存在著物像非線性位置關(guān)系,非線性校正對(duì)于測(cè)量精度影響大,需要采用適當(dāng)數(shù)據(jù)處理以提高測(cè)量精度。通過仿真與設(shè)計(jì)軟件進(jìn)行數(shù)據(jù)處理和輔助設(shè)計(jì),可提高研究和設(shè)計(jì)效率。
距離測(cè)量電路組成如圖1所示,距離測(cè)量傳感器采用夏普一款距離測(cè)量傳感器模塊GP2Y0A02,距離測(cè)量范圍:200~1500mm,輸出信號(hào)范圍:3~0V。調(diào)整放大器將GP2Y0A02輸出信號(hào)從3~0V放大至A/D轉(zhuǎn)換器輸入范圍0~10V,經(jīng)A/D轉(zhuǎn)換后數(shù)字量D送入計(jì)算機(jī),測(cè)量程序進(jìn)行數(shù)據(jù)處理,得出距離值。PROTEUS仿真電路如圖4所示。
圖1 位置測(cè)量電路組成框圖
⑴距離測(cè)量傳感器模塊GP2Y0A02
GP2Y0A02由PSD和IRED以及信號(hào)處理電路三部分組成。GP2Y0A02采用了三角測(cè)量方法,傳感器輸出電壓值對(duì)應(yīng)探測(cè)的距離,通過測(cè)量電壓值就可以得出所探測(cè)物體的距離。
在PROTEUS中有GP2Y0A02仿真元件,如表1所示,在PROTEUS中傳感器類/距離傳感器子類中可以找到GP2Y0A02仿真元件。
表1 GP2Y0A02仿真元件
在PROTEUS中GP2Y0A02特性測(cè)試仿真如圖2所示,測(cè)的GP2Y0A02的距離與電壓一組數(shù)據(jù) )(uf=L 如下:
圖2 PROTEUS中GP2Y0A02特性測(cè)試仿真
(L,u)
={(200,2.66),(210,2.53),(220,2.42),(230,2.32),(240,2.22),(250,2.14),(260,2.06),(270,1.98),(280,1.91),(290,1.85),(300,1.79),(310,1.73),(320,1.68),(330,1.63),(340,1.58),(350,1.54),(360,1.50),(370,1.46),(380,1.42),(390,1.38),(400,1.35),(410,1.32),(420,1.29),(430,1.26),(440,1.23),(450,1.20),(460,1.18),(470,1.15),(480,1.13),(490,1.11),(500,1.08),(530,1.02),(550,0.988),(600,0.908),(650,0.839),(700,0.781),(750,0.73),(800,0.685),(850,0.645),(900,0.610),(950,0.579),(1000,0.551),(1050,0.525),(1100,0.501),(1150,0.480),(1200,0.460),(1250,0.442),(1300,0.426),(1350,0.410),(1400,0.396),(1450,0.382),(1500,0.37)}。
在Matlab中將測(cè)得的數(shù)據(jù)構(gòu)成電壓U、距離L兩個(gè)向量,用Matlab工具箱Toolboxes的Curve Fitting將兩個(gè)數(shù)據(jù)向量轉(zhuǎn)換為距離與電壓的關(guān)系曲線,如圖3所示。橫坐標(biāo)為電壓,縱坐標(biāo)為距離,由圖可見曲線具有非線性關(guān)系。
圖3 GP2Y0A02測(cè)距L與輸出電壓u的特性曲線
⑵A/D轉(zhuǎn)換器AD1674
由GP2Y0A02測(cè)量范圍和系統(tǒng)測(cè)量精度要求0.1mm,可知A/D轉(zhuǎn)換最小分辨率N為A/D轉(zhuǎn)換器位數(shù)且同時(shí)考慮其它誤差,取N=12。為了確保足夠的測(cè)量精度,采用12位A/D轉(zhuǎn)換器AD1674。
AD1674是美國(guó)AD公司推出的一種完整的12位并行模/數(shù)轉(zhuǎn)換單片集成電路。該芯片內(nèi)部自帶采樣保持器(SHA)、10伏基準(zhǔn)電壓源、時(shí)鐘源以及可和微處理器總線直接接口的暫存/三態(tài)輸出緩沖器。
⑶距離測(cè)量仿真電路
距離測(cè)量的PROTEU仿真電路如圖4所示,AD1674使用單極性輸入,輸入模擬電壓范圍0~10V,輸出轉(zhuǎn)換數(shù)字量0~4095。AD1674的模擬量輸入端的輸入阻抗比較低,所以需要阻抗變換電路以提高輸入阻抗;如圖4所示,同相放大器將GP2Y0A02輸出的0~3V放大至A/D轉(zhuǎn)換器輸入范圍0~10V,同時(shí)也實(shí)現(xiàn)輸入阻抗變換。A/D轉(zhuǎn)換器將轉(zhuǎn)換結(jié)果送入計(jì)算機(jī),計(jì)算機(jī)選用單片機(jī)AT89C52,晶振頻率12MHz。
圖4 PROTEUS中距離測(cè)量仿真位電路
GP2Y0A02采用了三角測(cè)量方法,圖5示出三角測(cè)距原理。
圖5 三角測(cè)量的原理圖
物距L與像在PSD上位置X關(guān)系非線性,測(cè)量程序應(yīng)當(dāng)實(shí)現(xiàn)非線性校正。使用最小二乘法,得出距離L測(cè)量多元線性回歸方程。對(duì)前述測(cè)得的數(shù)據(jù)組利用Matlab工具箱Toolboxes的Curve Fitting將反復(fù)進(jìn)行曲線擬合,結(jié)果八次擬合曲線滿足精度要求,如圖6所示。八次擬合函數(shù)如式(3-1),關(guān)系標(biāo)準(zhǔn)差1.307。
圖6 GP2Y0A02輸出電壓u與距離L擬合曲線
其中:[a0,a1,a2,a3,a4,a5,a6,a7,a8]
=[5371,-21540,47100,-62290,51910,-27370,8838,-1593,122.7]
根據(jù)圖4,AD1674輸入與輸出轉(zhuǎn)換關(guān)系:
u'、D分別為A/D轉(zhuǎn)換器AD1674輸入電壓與轉(zhuǎn)換輸出數(shù)字量,u為GP2Y0A02輸出電壓。
測(cè)量算法描述:
A/D轉(zhuǎn)換時(shí),D以低八位DL、高八位DH二次分別讀入,低、高八位為單字節(jié)補(bǔ)碼表示的定點(diǎn)數(shù),拼接為D=256*DH+ DL雙字節(jié)補(bǔ)碼表示的定點(diǎn)數(shù)。運(yùn)算時(shí),D轉(zhuǎn)換為浮點(diǎn)數(shù)以防止數(shù)據(jù)丟失。以下為Keil C51實(shí)現(xiàn)測(cè)量算法的片段。
float L,u,v;
float a[9]
={5371,-21540,47100,-62290,51910,-27370,8838,-1593,122.7};
uchar DH,DL;
uint D;
float L;
∶
D=(256*DH+DL);
D=D>>4;
v=(float)D/1365.3;
if(v>0.58)
{
u=1;
L=a[0];
for(i=1;i<8;i++)
{
u*=v;
L=L+a[i]*u;
}
}
else
L=-2500*v+2550;
D=(uint)L;
表2 輸出距離值與計(jì)算值的比較
由表2所示可知,最大擬合誤差發(fā)生在L=200mm附近,故最大相對(duì)百分?jǐn)M合誤差:=在測(cè)量距離較大時(shí),測(cè)量誤差較小。
通過PROTEUS仿真測(cè)得傳感器模塊GP2Y0A02輸出數(shù)據(jù)。為解決三角測(cè)量非線性校正問題,利用Matlab的功能反復(fù)實(shí)驗(yàn),找到滿足測(cè)量精度要求數(shù)據(jù)處理結(jié)果。又通過PROTEUS仿真和輔助設(shè)計(jì)了距離光學(xué)測(cè)試系統(tǒng)信號(hào)測(cè)量電路和測(cè)量程序,得出了結(jié)果,為進(jìn)一步的實(shí)際設(shè)計(jì)奠定了基礎(chǔ),簡(jiǎn)化了設(shè)計(jì)復(fù)雜性,提高了設(shè)計(jì)效率,使整個(gè)設(shè)計(jì)過程科學(xué)化、自動(dòng)化。
[1]彭軍.光電器件基礎(chǔ)與應(yīng)用[M].北京.科學(xué)出版社.2009.
[2]李科杰,新編傳感器技術(shù)手冊(cè)[M].北京:國(guó)防工業(yè)出版社,2002.
[3]趙斌,侯金龍.基于PSD激光三角測(cè)量的非線性校正電路[J].傳感器技術(shù),2005,24(6):9-11.
[4]王占強(qiáng),徐偉弘,汪開源.一維PSD信號(hào)調(diào)理電路及其應(yīng)用[J].儀表技術(shù)與傳感器,1997,24(12):26-28.
[5]錢鵬,沈?yàn)槿?,劉旺開.基于擬合曲線的非標(biāo)高溫傳感器在采集系統(tǒng)中的應(yīng)用[J].兵工自動(dòng)化,2011,30(3):83-85.
Simulation and Design of Distance Measurement Based on GP2Y0A02
Li Jianxin
(Wuhan Vocational College of software and engineering,Hubei 43020,Wuhan)
tract】 To realize the non-contact distance measurement,the distance optical test system based on GP2Y0A02 is designed using multiple simulation and design software.The voltage value of GP2Y0A02 is measured in PROTEUS,and the fitting curve of GP2Y0A02 voltage and distance is established using multiple linear regressions in Matlab;finally distance is measured by the fitting curve with procedure.The test results show that satisfied measurement accuracy can be attained using appropriate data processing methods for the nonlinear position measurement.
words】 laser triangulation measurement;sensor;nonlinear correction;curve fitting
李建新,男,湖南常寧人,碩士,教授、高級(jí)工程師,研究方向:光電檢測(cè)研究。