產(chǎn)品中心 應(yīng)用方案 技術(shù)文摘質(zhì)量保證產(chǎn)品選型 下載中心業(yè)內(nèi)動態(tài) 選型幫助 品牌介紹 產(chǎn)品一覽 聯(lián)系我們
- 基于圖像識別的微型傾斜傳感器
- 來源:賽斯維傳感器網(wǎng) 發(fā)表于 2012/2/13
摘要: 通過人眼觀察進(jìn)行識讀的傳統(tǒng)水準(zhǔn)器式傾斜儀表,直觀但精度不高、靈活性不強(qiáng)。通過引入CCD圖像傳感器采集水準(zhǔn)器中氣泡圖像并結(jié)合圖像識別算法分析計算氣泡圖形邊緣,研究開發(fā)了具備傾斜角度數(shù)值輸出能力的新型傾斜傳感器。并進(jìn)一步通過采用DSP處理器并應(yīng)用嵌入式設(shè)計方法,設(shè)計了該類型傾斜傳感器的小型化原型,從而顯著地提高了測量精度和應(yīng)用的靈活性,克服了傳統(tǒng)儀表的不足。
關(guān)鍵詞: 傾斜傳感器;圖像處理;邊緣檢測
引言
傾斜傳感器(又稱為水平儀)是測量微小傾斜角的一種測量器具,主要用于測量或檢驗(yàn)相對于水平位置的傾斜角、表面的水平度、垂直度等,因此在機(jī)械制造、設(shè)備安裝和維修中,傾斜傳感器是最基本的測量器具之一。根據(jù)工作原理,傾斜傳感器一般可以分為水準(zhǔn)器式傾斜傳感器、光學(xué)傾斜儀和電子傾斜傳感器等幾大類別。
基本原理
微型傾斜傳感器的設(shè)計結(jié)合了水準(zhǔn)器式傾斜傳感器和電子傾斜儀表的優(yōu)點(diǎn),通過采用CCD傳感器采集水準(zhǔn)器中氣泡的圖像,再通過圖像處理來獲取氣泡的位置,進(jìn)而計算傾斜參數(shù)。
圖1是傳統(tǒng)水平儀示意圖。當(dāng)水平儀傾斜時,玻璃管中的氣泡移動,偏離中心位置。偏離中心位置的大小與水平傾角相關(guān)。在這種情況下,水平儀只能測量相對水平方向的傾角,測量的傾角范圍相對較小、測量精度不高。因而它通常只能用來判斷是否水平,而不能用來測量具體的傾斜角度。
將上面的管狀水準(zhǔn)泡改變成圓盤形后,如圖2 所示,則可以通過氣泡的位置來測量二維平面的傾斜角度。為了進(jìn)一步提高傾角的測量范圍,可將盤形水準(zhǔn)泡變?yōu)榍蛐?可以通過計算投影平面上氣泡的位置來獲得球面上氣泡相對于鉛垂線的角度。
如圖3所示,通過CCD攝像頭采集水準(zhǔn)泡圖像,再利用圖像處理獲取氣泡邊緣并計算氣泡中心點(diǎn)的坐標(biāo),從而可以計算出相對于水準(zhǔn)泡中垂線的方位和傾角。
原型設(shè)計
硬件方案
在實(shí)驗(yàn)階段,根據(jù)現(xiàn)有的器材,先采用如圖3所示的“快速原型”方式,即通過連接電腦的攝像頭來采集水準(zhǔn)泡的圖像,并在PC機(jī)上進(jìn)行圖像處理和氣泡位置識別,進(jìn)而計算出傾斜數(shù)值。在調(diào)試驗(yàn)證了方案的可行性之后,再采用DSP處理器,重新設(shè)計電路板,將圖像采集和圖像處理集成,從而將其小型化,實(shí)現(xiàn)傾斜傳感器的樣品。
軟件方案
數(shù)據(jù)處理
系統(tǒng)數(shù)據(jù)采集及處理流程如圖4所示。
數(shù)據(jù)采集處理主要包括:
、 攝像頭中的處理器通過AD采樣獲取了CCD傳感器中各點(diǎn)數(shù)據(jù)之后,通過USB傳送到PC機(jī)。
、 PC機(jī)一方面將USB 傳來的數(shù)據(jù)按幀顯示到屏幕上;另一方面將每幀圖像轉(zhuǎn)化為數(shù)據(jù)矩陣,交給由MATLAB語言編制的邊緣檢測函數(shù)處理。
、 處理邊緣檢測函數(shù)輸出的二值圖像,計算出邊緣對象的中心位置,并顯示到屏幕上。
④ 由于圓盤形水準(zhǔn)器表面不能是完全水平的或者由于水準(zhǔn)泡是球形的,故需要根據(jù)成像模型進(jìn)行適當(dāng)修正,方能計算出實(shí)際的傾斜程度和方位。
圖像處理算法
在設(shè)計中,需要從圖像中找到氣泡邊緣,因而要選擇合理的邊緣檢測算法。目前常用的邊緣檢測主要有Roberts算子、Sobel算子、Lap lace 差分算子、Prewitt算子、Marr算法等?紤]本設(shè)計中的成像圖像比較簡單、干擾信息較少,而且可以通過調(diào)整背景和光照增強(qiáng)氣泡圖形,所以在實(shí)際實(shí)驗(yàn)中采用了最簡單常用的Sobel算子。同時利用Matlab作為程序設(shè)計語言,應(yīng)用其工具箱中成熟的圖像處理算法。
通過編程實(shí)現(xiàn)的邊緣檢測效果如圖5所示。CCD攝像頭采集到的水準(zhǔn)泡的圖形,經(jīng)過預(yù)處理之后顯示在左邊圖片框中,右邊為處理結(jié)果,包括氣泡的邊緣、邊緣對象的中心(表示為圓點(diǎn))以及表示相對參考點(diǎn)(表示為方塊)偏離角度和距離的直線。
系統(tǒng)功能模塊及硬件設(shè)計
功能模塊結(jié)構(gòu)
在PC機(jī)上驗(yàn)證之后,接下來的是設(shè)計專門的電路板,實(shí)現(xiàn)小型化的要求。根據(jù)實(shí)際需要,設(shè)計電路板的功能模塊,其硬件結(jié)構(gòu)如圖6所示。
功能模塊主要包括了4個部分: ①CCD傳感器,用于采集水準(zhǔn)泡圖像。②DSP處理器,用于讀取CCD傳感器數(shù)據(jù)并處理讀取數(shù)據(jù),完成圖像邊緣識別及傾斜角度計算功能。另外,還需輸出數(shù)據(jù),顯示到屏幕上和發(fā)送到RF芯片。③RF模塊,用于發(fā)送傳感器的輸出數(shù)據(jù)。當(dāng)傳感器的安裝位置比較特殊時,采用無線方式將減少線纜的麻煩,提高應(yīng)用的靈活性。④LCD模塊,主要用于顯示數(shù)據(jù),根據(jù)需要,設(shè)計成可選模塊。
電路板設(shè)計
根據(jù)上面的系統(tǒng)模塊結(jié)構(gòu)要求,選擇元件繪制原理圖并生成電路板PCB圖。在電路板的布局上,注意以下幾點(diǎn):
① 電路板的大小和水準(zhǔn)器圓盤的相互匹配。
、 核心元件CCD傳感器芯片和DSP處理芯片布局。將其中的CCD芯片布置在電路板的中心,同時在CCD芯片四周留出鉆孔位置,方便安裝鏡頭。為減少電路板的面積,將DSP芯片放置在反面中間位置。再在四周布置必要的分立元件及用于連接RF發(fā)送模塊的接插件,顯示單元也做成模塊式,方便顯示單元的拆裝。
嵌入式系統(tǒng)的軟件設(shè)計
核心算法的代碼移植
由于在前面的方案驗(yàn)證中,采用的是Matlab高級語言編制的邊緣檢測算法,因此需要將其轉(zhuǎn)化為DSP開發(fā)工具環(huán)境支持的C語言,利用Matlab 中的MCC編譯工具將M函數(shù)轉(zhuǎn)換為C語言。
代碼集成
將邊緣檢測算法轉(zhuǎn)化為開發(fā)工具所支持的語言之后,將編制的CCD芯片的讀寫操作函數(shù),數(shù)據(jù)處理結(jié)果輸出函數(shù)集成起來,通過調(diào)試排除基本的語法及邏輯錯誤,實(shí)現(xiàn)編譯通過,生成機(jī)器代碼。
在線調(diào)試
完成上面的代碼集成之后,通過聯(lián)機(jī)調(diào)試實(shí)現(xiàn)系統(tǒng)的功能。
、 監(jiān)視程序中的變量,按照數(shù)據(jù)的流向,從數(shù)據(jù)源(即從CCD中讀取的數(shù)據(jù))開始檢查排除錯誤一直到最后輸出結(jié)果。
② 在輸出結(jié)果基本正確之后,通過測量出的實(shí)際的傾斜數(shù)值和系統(tǒng)輸出數(shù)值的比較,修正校驗(yàn)直到達(dá)到滿意結(jié)果。
結(jié)束語
微型傾斜傳感器的設(shè)計,目前還存在以下幾個方面問題需要繼續(xù)研究:
、 系統(tǒng)的精度:由于高的系統(tǒng)精度需要CCD有較高的分辨率,同時要求水準(zhǔn)器需要有足夠的面積,但這會和系統(tǒng)的成本和體積相矛盾。
② 系統(tǒng)的響應(yīng)時間:由于采用了水準(zhǔn)泡,而液體有一定的粘度,從而影響了水泡的流動速度,降低了系統(tǒng)的響應(yīng)時間。
轉(zhuǎn)載請注明來源:賽斯維傳感器網(wǎng)(ywhs9.com)
- 如果本文收錄的圖片文字侵犯了您的權(quán)益,請及時與我們聯(lián)系,我們將在24內(nèi)核實(shí)刪除,謝謝!