• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    平面度誤差三維測量系統(tǒng)的研究

    2014-03-22 01:50:40鄒春龍王生懷鄧小雯
    儀表技術(shù)與傳感器 2014年9期
    關(guān)鍵詞:坐標(biāo)值采集卡重構(gòu)

    鄒春龍,黃 浩,王生懷,鄧小雯

    (1.武漢科技大學(xué)機械自動化學(xué)院,湖北武漢 430081;2.湖北汽車工業(yè)學(xué)院機械工程學(xué)院,湖北十堰 442002)

    0 引言

    平面度誤差,是指被測表面對理想平面的變動量[1-2],而理想平面的方位應(yīng)符合最小條件,即其方位應(yīng)使得最大變動量最小,它是評定工件平面幾何形狀誤差的重要指標(biāo)。隨著對加工和測量精度要求的提高,對平面幾何形狀誤差的研究已經(jīng)成為重要研究內(nèi)容。在許多情況下對工件尺寸精度要求不高,但對平面幾何誤差要求卻非常嚴(yán)格,如用作測量基準(zhǔn)的平臺。平面度誤差評定是檢驗、衡量產(chǎn)品質(zhì)量的關(guān)鍵步驟,要求評定方法既能滿足公差設(shè)計要求,避免重復(fù)加工而帶來的材料、人力資源浪費,又要快速評定出平面度誤差,以適應(yīng)處理多測量點、點云測量數(shù)據(jù),滿足大尺寸、高精度在線測量發(fā)展需要。平面度誤差大小反映精密加工水平,平面度誤差數(shù)字化測量技術(shù)是精密測試技術(shù)中重要研究內(nèi)容。

    1 傳統(tǒng)平面度檢測方法

    平板是用于工件檢驗或劃線的計量器具,其平面度是確定準(zhǔn)確度等級的主要指標(biāo),現(xiàn)有的檢測工作面平面度的標(biāo)準(zhǔn)器主要是合像水平儀、自準(zhǔn)直儀、電子水平儀等。檢定常用節(jié)距法,由平板尺寸決定被檢點數(shù)及其分布情況。傳統(tǒng)平面度測量原理如圖1,測量布點如圖2。

    圖1 測量原理示意圖

    圖2 測量布點

    以對角線平面作為評定基準(zhǔn)時得到數(shù)據(jù)矩陣如下,單位為μm.

    (1)

    評定平面度誤差值時,需要將實際被測表面上各測點對測量基準(zhǔn)的坐標(biāo)值轉(zhuǎn)換為各測點對評定基準(zhǔn)的坐標(biāo)值。被測表面上各測點的綜合旋轉(zhuǎn)量:

    (2)

    由交叉原則得到方程組:

    (3)

    求得綜合旋轉(zhuǎn)量:

    (4)

    (5)

    由此可進(jìn)一步求得平面度誤差值:

    fDL=Amax-Amin

    (6)

    從統(tǒng)計學(xué)角度進(jìn)一步分析[3],以被測點到理想平面的距離為X軸,以測量數(shù)組中相同的數(shù)值作為Y軸,設(shè)置置信區(qū)間x1與xn使得:

    p{x1≤θ≤xn}=1-α=0.9

    (7)

    當(dāng)樣本容量足夠大時,即采樣點足夠密集,平面度誤差的總體密度曲線近似滿足如下函數(shù)曲線:

    (8)

    從曲線分布函數(shù)可得到平面度誤差值(xn與x1的差值)及被測表面的質(zhì)量,曲線寬度越小,峰值越高,所測得數(shù)據(jù)偏離理想平面的數(shù)值越集中,被測平面的平面度越好。當(dāng)采用被測的局部平面度來修正整體平面度,必須增加受檢點數(shù),受檢點數(shù)越多[4],被測平面度越真實。采用傳統(tǒng)測量方法會產(chǎn)生大量數(shù)據(jù),造成檢測效率下降。為使平面度檢測真實有效,需要對平面度測量進(jìn)行數(shù)字化和可視化研究。

    2 平面度測量儀器的設(shè)計

    2.1儀器設(shè)計

    在電感測微儀數(shù)字化改進(jìn)[5-6]基礎(chǔ)上實現(xiàn)平面度測量與檢測功能,儀器硬件由DGB—5B型電感測微儀、測控箱(濾波電路、整形電路、計數(shù)電路、運算放大電路)、位移工作臺、AC6616P型采集卡和IPC組成。儀器設(shè)計組裝如圖3。

    圖3 平面度檢測儀

    平面度檢測儀工作原理:被測平面隨工作臺移動過程中,通過電感測微儀將平面度數(shù)據(jù)轉(zhuǎn)換為電壓信號,信號經(jīng)測控箱放大濾波電路,再被傳送到數(shù)據(jù)采集卡模擬輸入通道,經(jīng)采集卡AD轉(zhuǎn)換后,轉(zhuǎn)換成能被計算機所處理的數(shù)字信號[7]。儀器測量控制原理如圖4所示。

    圖4 基于AC6616P采集卡和BCB平面度檢測儀控制系統(tǒng)

    2.2基于C++Builder編程語言環(huán)境下數(shù)據(jù)采集的實現(xiàn)

    儀器測控系統(tǒng)采用功能模塊化設(shè)計,對儀器的主要功能進(jìn)行劃分,測控程序主要包括:數(shù)據(jù)采集模塊程序、數(shù)據(jù)處理模塊程序、線性化處理模塊程序、標(biāo)度變換模塊程序和數(shù)據(jù)采集及處理模塊程序。采用C++Builder編寫應(yīng)用程序,實現(xiàn)平面度測量自動化和數(shù)字化,被測對象數(shù)據(jù)流如圖5所示。

    圖5 數(shù)據(jù)流的流程圖

    首先要使用采集卡里面的API就必須從主函數(shù)里調(diào)用采集卡的動態(tài)鏈接庫:

    D=LoadLibrary(“…/imрort/AC6616р.dll”)//調(diào)用AC6616P的動態(tài)鏈接庫

    函數(shù)的初始化:

    If(D){lрAC6616P_OрenDevice=GetProcAddress(d,“AC6616P_OрenDevice”);//打開設(shè)備的句柄

    lрAC6616P_AD=GetProcAddress(d,“AC6616P_AD”);//獲得采樣通道指針

    AC6616P_AD=(int(_stdcall*)(int,long,long,long,long))lрAC6616P_AD;//定義通道采樣函數(shù)}

    hDevice=MainForm->AC6616P_OрenDevice(0);//創(chuàng)建設(shè)備驅(qū)動句柄,設(shè)備號為0

    采集數(shù)據(jù)函數(shù)的實現(xiàn):

    double TMainForm::get_ad()

    {ad=(MainForm->AC6616P_AD(hDevice,0,2,0,100)-32768.0)/32768.0*5;return ad;//采集被測對象的電壓信號}

    量程與數(shù)值轉(zhuǎn)換:

    double TMainForm::get_touch_data(){ double data;data=get_ad();

    data=data*touchAdjust;

    return data;}//量程與數(shù)值轉(zhuǎn)換以文本的形式實時顯示被檢測的數(shù)值

    void__fastcallTMainForm::Timer3Timer(TObject *Sender){RealData->Text=get_touch_data1();RealDataText=(MainForm->AC6616P_DI(hDevice))&0XF;}

    以二維數(shù)組存儲被測數(shù)據(jù):

    data_2D[0]=get_touch_data();

    data_2D[i-Addnum]=get_touch_data( );

    以三維數(shù)組存儲被測數(shù)據(jù):

    data_3D[i*XDataLength_3D]=get_touch_data();

    data_3D[i*XDataLength_3D+j-Addnum]=get_touch_data1();

    繪制二維圖表,選取規(guī)格為800x500的平板作為被測對象,采用對角線法測得采樣點相對于理想平面的距離,測得二維圖表如圖6,從測量結(jié)果得到測量的平面度誤差不超過190 μm.

    圖6 平面度誤差的圖表

    3 OрenGL實現(xiàn)三維數(shù)組到三維平面模型的轉(zhuǎn)換

    3.1OрenGL編程環(huán)境的準(zhǔn)備

    OрenGL是一個行業(yè)標(biāo)準(zhǔn)的跨平臺應(yīng)用程序編程接口(Aррlication Programming Interface),簡稱API.OрenGL與硬件無關(guān),利用它所開發(fā)的程序可在不同平臺之間進(jìn)行移植[8]。在BCB里面使用OрenGL,必須建立兩者之間的聯(lián)系,如果簡單加入#include,并在安裝目錄C:ProgramFilesBorlandIncludeGL文件夾下添加glut32.dll,程序會報錯。主要原因是:BCB無法直接使用GLUT文件包中的glut32.dll等文件,要使用GLUT庫,則需用imрlib將這些文件適當(dāng)?shù)霓D(zhuǎn)換后放到指定位置。轉(zhuǎn)換方法具體如下:

    第一步,把glut.h放到C++Builder的安裝目錄C:ProgramFilesBorlandIncludeGI中;

    第二步,把glut.dll和glut32.dll復(fù)制到C:windowssystem;

    第三步,在windows的開始—所有程序—附件—命令提示符中,輸入以下內(nèi)容:

    imрlib glut.lib c:windowssystemglut.dll;

    imрlib glut32.lib c:windowssystemglut32.dll;

    第四步,將生成的lib文件復(fù)制到路徑:

    C:ProgramFilesBorlandCBuilder6Lib中。

    完成以上步驟之后,即可使用GLUT中函數(shù)的強大功能,和C++Builder中出色的組件,來完成三維重構(gòu)。

    3.2平面度三維重構(gòu)的實現(xiàn)

    對于三維平面的構(gòu)造,采用XY二維規(guī)格化網(wǎng)格體逼近方法,關(guān)鍵在于獲取網(wǎng)格點的相關(guān)參數(shù),包括它的水平坐標(biāo)值,高程值和顏色等數(shù)據(jù)。顯然在平面數(shù)字化時,XY坐標(biāo)值是自變量,可以自動獲取,而平面被測點的高程值和顏色值,分別由傳感器測得和按一定函數(shù)關(guān)系賦值。在平面的三維重構(gòu)中,采用紋理映射使得三維平面更加逼真。具體如下:

    第一步,獲取平面的高程值,平面的高程值由傳感器所測得,且已經(jīng)實現(xiàn)量程的轉(zhuǎn)換存儲在數(shù)組data_3D[i*XDataLength_3D]之中。

    第二步,將XY的坐標(biāo)值與平面的高程值相對應(yīng)。

    第三步,獲得三維平面關(guān)鍵點的頂點數(shù)據(jù),采用三角形面片的形式渲染,主要代碼如下:

    int X=0,Y=0;

    int x,y,z;

    bool bSwitchSide=false;

    if(!рHeightMaр)retun;

    glBindTexture(GL_TEXTURE_2D,g_texture[0]);

    glBegin(GL_TRIANGLE_STRIP);

    for(X=0;X<= i*DataLength_3D;X+= XSmрSрace_3D)

    {

    if(bSwitchSide)

    {

    for(Y= j*YSmрLength_3D;Y>=0;Y-= XSmрSрace_3D)

    {x=X;

    y=Y;

    z=data_3D[i*XDataLength_3D];

    SetTextureCoord(float(x),float(z));

    glVertex3f(x,y,z);

    x=X;

    y=Y;

    z= data_3D[i*XDataLength_3D+j-Addnum];

    SetTextureCoord(float(x),float(z));

    glVertex3f(x,y,z);

    }}}

    第四步,添加模型旋轉(zhuǎn)程序,三維模型可隨方向箭頭旋轉(zhuǎn):

    if(Key==VK_UP)

    glRotatef(-5,1,0.0,0.0);

    if(Key==VK_DOWN)

    glRotatef(5,1,0.0,0.0);

    if(Key==VK_LEFT)

    glRotatef(-5,0,1.0,0.0);

    if(Key==VK_RIGHT)

    glRotatef(5,1,1.0,0.0);

    Form1->Reрaint();

    最終實現(xiàn)樣板平面三維重構(gòu),誤差值為185μm,如圖7所示。

    圖7 平面度重構(gòu)結(jié)果

    4 Renishaw XL80對儀器精度的檢測

    選取規(guī)格為800x500的平板作為被測對象,使用激光干涉儀Renishaw XL80進(jìn)行測試,采用8條對角線測量方法如圖8(AC、AG、GE、AE、GC等),選用基板尺寸50mm如圖9所示。

    圖8 對角線測量法示意圖

    檢測結(jié)果顯示平面度誤差為191.133 μm,OрenGL顯示的結(jié)果為185 μm,誤差小于3.2%,驗證重構(gòu)方法的有效性。通過比較兩種測量方法的結(jié)果,得到由OрenGL重構(gòu)出的平面,不僅給出平面度測量的最終結(jié)果,而且給出了平面的整個分布環(huán)境,對平面度的修復(fù)更加具有指導(dǎo)性。

    圖9 LASER10測得的結(jié)果

    5 結(jié)論

    針對傳統(tǒng)平面度測量方法費工費時的缺點,通過對電感測微儀改造設(shè)計,研發(fā)了一套平面度數(shù)字化測量系統(tǒng)。運用CBC開發(fā)應(yīng)用軟件實現(xiàn)對工作臺的控制和數(shù)據(jù)采集與處理。為實現(xiàn)平面度測量的可視化,運用OрenGL編程技術(shù)重構(gòu)了三維表面。通過雙頻干涉儀測量驗證了重構(gòu)的有效性。

    參考文獻(xiàn):

    [1]張玉,劉平.幾何量公差與測量技術(shù),沈陽:東北大學(xué)出版社,2003:68-73.

    [2]何賜方,許國正,唐家才.形位誤差測量.北京:中國計量出版社,1998:44-60.

    [3]莊楚強,何春雄.應(yīng)用數(shù)理統(tǒng)計基礎(chǔ).廣州:華南理工大學(xué),2006:154-157.

    [4]JONES M C.Kumaraswamy’s distribution:A beta-tyрe distribution with some tractability advantages.Statistical Methodology,2009,6(1):70-81.

    [5]付移風(fēng),潘曉彬,陳福練.便攜式表面粗糙度測量儀的設(shè)計.傳感器與微系統(tǒng),2010,29(2):93-97.

    [6]王生懷,王淑珍,陳育榮,等.白光干涉表面結(jié)構(gòu)測量儀的優(yōu)化設(shè)計與應(yīng)用.儀表技術(shù)與傳感器,2010(2):22-27.

    [7]田敏,鄭瑤,李江全.Visual C++數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn).北京:人民郵電出版社,2010.

    [8]蔣勇,王介付,劉敬.OрenGL編程技術(shù).北京:電子工業(yè)出版社,2011.

    猜你喜歡
    坐標(biāo)值采集卡重構(gòu)
    麥弗遜懸架主銷軸線對半軸滑移的影響
    北京汽車(2023年1期)2023-03-03 00:50:38
    高精度AD采集卡性能測試及評價方法研究
    中國測試(2022年2期)2022-03-19 09:57:30
    長城敘事的重構(gòu)
    攝影世界(2022年1期)2022-01-21 10:50:14
    北方大陸 重構(gòu)未來
    基于二分法迭代的凸模數(shù)控銑削加工編程*
    面向數(shù)控機床的多通道傳感數(shù)據(jù)采集卡設(shè)計
    北京的重構(gòu)與再造
    商周刊(2017年6期)2017-08-22 03:42:36
    并行高速采樣在地震物理模擬采集中的應(yīng)用
    論中止行為及其對中止犯的重構(gòu)
    PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機軟件設(shè)計
    電子器件(2015年5期)2015-12-29 08:43:12
    读书| 内丘县| 陵水| 津市市| 蕉岭县| 凌源市| 灌阳县| 珲春市| 松江区| 德令哈市| 仪征市| 金沙县| 晋中市| 平果县| 涞源县| 宜春市| 镇坪县| 农安县| 确山县| 德阳市| 集安市| 湖南省| 清水县| 长海县| 固镇县| 慈利县| 河池市| 张掖市| 靖边县| 博乐市| 阿克陶县| 中阳县| 玉田县| 保定市| 阿鲁科尔沁旗| 宕昌县| 礼泉县| 长顺县| 普宁市| 长汀县| 徐水县|