<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)字水準(zhǔn)儀的數(shù)據(jù)采集與處理系統(tǒng)研究

          數(shù)字水準(zhǔn)儀的數(shù)據(jù)采集與處理系統(tǒng)研究

          作者: 時(shí)間:2013-08-06 來源:網(wǎng)絡(luò) 收藏
          1 引言

          是在自動(dòng)安平水準(zhǔn)儀的基礎(chǔ)上發(fā)展起來的,他采用條紋編碼標(biāo)尺和電子影像處理原理,用線陣CCD替代觀測(cè)員的肉眼,將望遠(yuǎn)鏡像面上的標(biāo)尺成像轉(zhuǎn)換成數(shù)字信息,再利用數(shù)字圖像處理技術(shù)來識(shí)別標(biāo)尺條碼進(jìn)而獲得標(biāo)尺讀數(shù)和視距。

          本文設(shè)計(jì)的系統(tǒng)是以89C51單片機(jī)為核心,Intel8253計(jì)數(shù)器作為同步控制器,控制A/D轉(zhuǎn)換器對(duì)CCD的輸出信號(hào)定時(shí)采樣。系統(tǒng)采用等間隔、多周期采樣的方法實(shí)現(xiàn)低速A/D轉(zhuǎn)換器對(duì)高分辨率線陣CCD輸出信號(hào)的,并將采集結(jié)果通過串口傳給微機(jī),在微機(jī)系統(tǒng)采用數(shù)字濾波、邊緣檢測(cè)等數(shù)字圖像處理技術(shù)對(duì)采集數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,提取條碼邊緣,再根據(jù)幾何光學(xué)物象比的關(guān)系,求出視距和視線高讀數(shù)。

          2 硬件電路設(shè)計(jì)及工作原理

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

          系統(tǒng)硬件電路如圖1所示,主要由89C51單片機(jī)、A/D轉(zhuǎn)換器及其接口電路組成。

          本系統(tǒng)計(jì)數(shù)器Intel8253選用計(jì)數(shù)器2,采用方波脈沖方式(方式1)和連續(xù)負(fù)脈沖方式(方式2)相結(jié)合的方法。其門控信號(hào)和時(shí)鐘脈沖信號(hào)分別由CCD驅(qū)動(dòng)電路輸出的行同步脈沖信號(hào)FC和像元同步脈沖信號(hào)SP來控制,從而實(shí)現(xiàn)Intel8253的輸出信號(hào)與CCD輸出的視頻信號(hào)同步。Intel8253在89C51的控制命令下工作,產(chǎn)生與像元同步的驅(qū)動(dòng)A/D脈沖,使A/D轉(zhuǎn)換器在CCD輸出像元信號(hào)的有效時(shí)間進(jìn)行A/D轉(zhuǎn)換。

          考慮系統(tǒng)合理的轉(zhuǎn)換速度和性能價(jià)格比,A/D轉(zhuǎn)換電路采用轉(zhuǎn)換時(shí)間為25μs的12 b逐次比較型A/D轉(zhuǎn)換器AD574。其工作狀態(tài)由CE,CS,R/C,12/8,A0五個(gè)控制信號(hào)決定。對(duì)于本系統(tǒng)AD574進(jìn)行8 b數(shù)據(jù)轉(zhuǎn)換可滿足系統(tǒng)精度要求,因此提高了A/D轉(zhuǎn)換時(shí)間。圖1中AD574的CE端接+5V,CS接地,使A/D轉(zhuǎn)換器始終處于允許工作狀態(tài)。12/8接地,啟動(dòng)8b數(shù)據(jù)轉(zhuǎn)換。A0由74LS138的Y7控制,讀/轉(zhuǎn)換控制端R/C由8253的OUT2端來控制,采用單極性輸入。轉(zhuǎn)換結(jié)束狀態(tài)口線STS接到89C51的P1.1口,采用查詢方式讀取轉(zhuǎn)換結(jié)果。

          2.2 工作原理

          CCD在驅(qū)動(dòng)電路的驅(qū)動(dòng)脈沖作用下輸出視頻信號(hào)經(jīng)低通濾波送到A/D轉(zhuǎn)換器的模擬信號(hào)輸入端。由于A/D轉(zhuǎn)換器的轉(zhuǎn)換頻率底于CCD的工作頻率,系統(tǒng)采用等間隔重復(fù)掃描的方式對(duì)CCD輸出的信號(hào)進(jìn)行采樣。當(dāng)系統(tǒng)上電后,在FC信號(hào)的第一個(gè)下降沿時(shí)刻響應(yīng)外部中斷0,置8253工作方式1和計(jì)數(shù)初值,8253開始計(jì)數(shù),計(jì)數(shù)完輸出第一個(gè)負(fù)脈沖信號(hào)。該信號(hào)啟動(dòng)A/D轉(zhuǎn)換,同時(shí)查詢INT1口狀態(tài)。

          當(dāng)8253輸出第一個(gè)負(fù)脈沖信號(hào)的下降沿時(shí)刻,8253重置工作方式2和計(jì)數(shù)初值。使8253按新的計(jì)數(shù)初值開始計(jì)數(shù),輸出連續(xù)的負(fù)脈沖信號(hào)。同時(shí)不斷查詢P1.1口的狀態(tài),當(dāng)P1.1為低電平時(shí),不斷讀取A/D轉(zhuǎn)換結(jié)果。在下面連續(xù)的FC信號(hào)周期,重復(fù)上述過程,完成對(duì)所有有效信號(hào)點(diǎn)的采樣。

          3 系統(tǒng)的軟件設(shè)計(jì)

          本系統(tǒng)的應(yīng)用程序采用了模塊化程序設(shè)計(jì)的方法,按功能主要分為2大部分。前一部分是采用MCS-51匯編語言開發(fā)由89C51的單片機(jī)執(zhí)行程序,包括程序和單片機(jī)通信程序2個(gè)模塊。后一部分是用VC++高級(jí)語言編寫的由IBM-PC機(jī)執(zhí)行的程序,包括PC機(jī)通信程序、邊緣檢測(cè)和條碼識(shí)別程序3個(gè)模塊。PC機(jī)與單片機(jī)采用判別等待通訊協(xié)議進(jìn)行連接,各模塊之間使用子程序調(diào)用,使整個(gè)系統(tǒng)有機(jī)地成為一體。單片機(jī)數(shù)據(jù)采集及數(shù)據(jù)通訊和PC機(jī)數(shù)據(jù)通訊及數(shù)據(jù)處理子程序流程框圖如圖2和圖3所示。

          3.1 數(shù)據(jù)采集程序模塊

          由于系統(tǒng)采用的是普通A/D采集電路,采樣速度低,無法與正常工作的CCD信號(hào)速度同步,本系統(tǒng)的數(shù)據(jù)采集程序模塊采用等間隔重復(fù)掃描的方式對(duì)CCD圖像進(jìn)行采樣。采集結(jié)果通過串口傳送給PC機(jī),以便對(duì)采集結(jié)果進(jìn)一步作數(shù)據(jù)處理和實(shí)現(xiàn)圖形顯示。

          3.2 數(shù)據(jù)通訊程序模塊

          數(shù)據(jù)通訊程序模塊由單片機(jī)通訊程序和PC機(jī)通訊程序2個(gè)部分組成。單片機(jī)上電后,接收到聯(lián)絡(luò)信號(hào),給PC機(jī)發(fā)應(yīng)答信號(hào)并開始進(jìn)行數(shù)據(jù)采集,同時(shí)將采集結(jié)果通過串口發(fā)送給PC機(jī)。PC機(jī)通信程序通過串口通訊MSComm控件,設(shè)置通訊參數(shù),接收應(yīng)答信號(hào),讀取采集結(jié)果。

          3.3 數(shù)字濾波程序模塊

          采集結(jié)果通常混雜有噪聲信號(hào),為提高測(cè)量精度,本系統(tǒng)采用均值濾波方法消除隨機(jī)誤差的影響,運(yùn)用中值濾波方法消除脈沖噪聲的影響,再運(yùn)用指數(shù)基的平滑濾波 器方法,對(duì)采集圖像進(jìn)一步作平滑處理。經(jīng)實(shí)驗(yàn)結(jié)果證明采用該方法濾波效果較好。

          3.4 邊緣檢測(cè)、條碼識(shí)別程序模塊

          對(duì)標(biāo)尺條碼的邊緣檢測(cè)是數(shù)據(jù)中非常重要的環(huán)節(jié),邊緣檢測(cè)的定位精度將直接影響條碼識(shí)別的準(zhǔn)確度。為使被噪聲污染的條碼圖像很好的檢測(cè)出邊緣,結(jié)合數(shù)字水準(zhǔn)儀標(biāo)尺條碼的特點(diǎn),本系統(tǒng)選用基于指數(shù)基的平滑濾波器的快速一維邊緣檢測(cè)方法,該算法是DeriChe依據(jù)Canny設(shè)計(jì)思想導(dǎo)出的邊緣檢測(cè)算子,具有較好的單、雙邊定位精度和較快的檢測(cè)速度。該算法采用的平滑算子和邊緣檢測(cè)算子可用遞歸算法代替卷積運(yùn)算,大大提高運(yùn)算速度。該算法的實(shí)現(xiàn)過程如下:

          (1)運(yùn)用平滑算子的遞歸公式對(duì)圖像進(jìn)行平滑化處理。

          依據(jù)Canny設(shè)計(jì)思想導(dǎo)出的平滑算子為:

          (2)運(yùn)用一階導(dǎo)數(shù)算子的遞歸公式求圖像極大值點(diǎn)

          DeriChe推導(dǎo)出的一階導(dǎo)數(shù)邊緣檢測(cè)算子為:D(n)=kne-σ|n|,對(duì)D(n)進(jìn)行Z變換和反Z變換,求得一階導(dǎo)數(shù)算子的遞歸公式為:

          (3)運(yùn)用二階導(dǎo)數(shù)算子的遞歸公式求圖像零交叉點(diǎn)

          (3)確定邊緣點(diǎn)

          找出同時(shí)滿足一階導(dǎo)數(shù)最大值和二階導(dǎo)數(shù)零交叉的點(diǎn),即為條碼的邊緣點(diǎn)。

          根據(jù)CCD的光電轉(zhuǎn)換原理,判別首邊緣點(diǎn)是對(duì)應(yīng)亮條碼還是暗條碼的邊界位置點(diǎn),求出亮、暗條碼寬度,進(jìn)而識(shí)別出條碼。

          3.5 視距和視線高計(jì)算程序模塊

          標(biāo)尺條碼中的R碼是用來求視距的,視距不同,成像在線陣CCD上標(biāo)尺截距不同,但至少應(yīng)包含兩組R碼,本系統(tǒng)設(shè)計(jì)的標(biāo)尺條碼相鄰兩組R碼的間距為P(=40mm),他在CCD線陣上成像所占的象素個(gè)數(shù)為Z,象素寬為b(=14μm),則P在CCD上的成像長度為:L=Z×b,再根據(jù)幾何光學(xué)成像原理,即可求出視距:D=P/L×f(望遠(yuǎn)鏡物鏡的焦距)。

          本系統(tǒng)中采用相位差法設(shè)計(jì)標(biāo)尺條碼,標(biāo)尺中位于任意兩組R碼之間的A碼、B碼和C碼的條碼寬度組合具有惟一性,即任意一組A碼,B碼,C碼,R碼的組合對(duì)應(yīng)標(biāo)尺的高度值具有單值性。利用線陣CCD中心像元所在的那組A碼,B碼,C碼寬度值,可以算出該組條碼中R碼的高度,再利用該中心R碼所對(duì)應(yīng)的像元和CCD中心像元的偏差,即可算得視線高讀數(shù)。

          4 結(jié)語

          本文介紹的數(shù)字水準(zhǔn)儀數(shù)據(jù)采集與數(shù)據(jù),解決了高分辨率線陣CCD與低速A/D轉(zhuǎn)換速度低的矛盾。系統(tǒng)硬件結(jié)構(gòu)簡單、設(shè)計(jì)成本低、軟件算法簡單、運(yùn)算速度快、界面友好。經(jīng)過初步實(shí)驗(yàn),系統(tǒng)能夠達(dá)到預(yù)期的效果。(end)

          51單片機(jī)相關(guān)文章:51單片機(jī)教程




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();