劉 鵬,陳 明,邱談天
(1.中國石油大學(xué)(華東)理學(xué)院,山東青島 266580;2.河北省藥品醫(yī)療器械檢驗研究院,河北石家莊 050200)
測量技術(shù)在工業(yè)和生活中都有著舉足輕重的地位[1],隨著社會的進(jìn)步和科技的發(fā)展,測量方法從最開始的接觸式測量,如米尺、卷尺、卡尺等,發(fā)展到現(xiàn)在的非接觸式測量,如超聲波測距、紅外測距、激光測距等[2],激光測距因其抗干擾能力強(qiáng)、測量精度高、探測距離遠(yuǎn)等優(yōu)點成為當(dāng)前熱門的研究領(lǐng)域。目前,市面上使用比較廣的手持式激光測距儀由于人為等因素測量誤差很大,且測量內(nèi)容單一,大大限制了其使用范圍。針對此問題,該文以Arduino uno R3 作為開發(fā)平臺,利用激光測距技術(shù)、光電傳感技術(shù)、轉(zhuǎn)動設(shè)備等設(shè)計了一款測量精度高、適用范圍廣、經(jīng)濟(jì)性強(qiáng)的狹小空間三維信息測量系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)空間的長度、面積、體積、光強(qiáng)度的實時精準(zhǔn)測量。
文中設(shè)計的狹小空間三維信息測量系統(tǒng)主要包含5 個模塊:Arduino uno R3 中央控制模塊、感光模塊、轉(zhuǎn)動模塊、顯示模塊和激光測距模塊,系統(tǒng)框圖如圖1 所示。轉(zhuǎn)動模塊由3 個舵機(jī)組成,其相互配合,完成三維轉(zhuǎn)動。激光測距模塊主要由TOF10120測距傳感器組成,搭配1~3 個舵機(jī),實現(xiàn)長度、面積、體積三維信息測量。感光模塊選用普通的LDR 傳感器,感知周圍環(huán)境的光強(qiáng),并將光信號轉(zhuǎn)化成電信號。所有信息通過中控系統(tǒng)Arduino uno R3 實時顯示在LM016L 液晶顯示屏上。為方便調(diào)試,該系統(tǒng)采用模塊化設(shè)計。

圖1 系統(tǒng)框圖
中央控制系統(tǒng)采用Arduino uno R3作為系統(tǒng)的開發(fā)平臺,完成對全部硬件的控制。Arduino控制板是由意大利人Massimo Banzi 研發(fā)的一款類似于單片機(jī)的微處理控制器,其發(fā)展到現(xiàn)在,衍生出了很多系列[3],系統(tǒng)采用以AVR 單片機(jī)ATmega 32P 作為內(nèi)核的Arduino uno R3 開發(fā)板,該開發(fā)板具有14 個數(shù)字輸入輸出IO,6個模擬輸入輸出IO以及32 kB的存儲空間,通過USB 實現(xiàn)串口直接與上位機(jī)交互系統(tǒng)通信[4-5]。Arduino uno R3 包含硬件和軟件兩部分,構(gòu)建于開放原始碼界面版(simple I/O),可以與各類傳感器通信,用于反饋、影響環(huán)境[6],實物接口分布圖如圖2 所示。

圖2 Arduino uno R3實物接口分布圖
經(jīng)過半個多世紀(jì)的發(fā)展,激光測距主要分為三大類:脈沖式激光測距法、相位式激光測距法和三角式激光測距法[7]。該系統(tǒng)選擇TOF10120 激光測距傳感器,屬于脈沖法,該傳感器采用夏普獨立創(chuàng)作的低成本CMOS 工藝的SPAD(單光子雪崩二極管),在測量過程中能夠?qū)崿F(xiàn)高速、連續(xù)、自動對焦TOF time of flight,SPAD 和TOF time of flight 使得TOF10120 具有以下優(yōu)點:1)測量精度高,可以控制在5%以內(nèi)[8];2)抗環(huán)境干擾性能強(qiáng),可工作在高紅外光的環(huán)境;3)不受待測物的反射率影響,可用于障礙物檢測。系統(tǒng)設(shè)計的測距傳感模塊接口示意圖如圖3 所示。

圖3 測距傳感模塊接口示意圖
感光模塊主要由光敏電阻LDR 和LM393 組成,其主要功能是將環(huán)境的光強(qiáng)度轉(zhuǎn)化成電信號,并傳遞給Arduino uno R3。光敏電阻是對光強(qiáng)變化非常敏感的光電轉(zhuǎn)換器件。給光敏電阻兩端加載電壓,無光照時,光敏電阻阻值很大,電路電流非常小,隨著照射到表面的光強(qiáng)變大,電阻迅速減小,通過的電流增大[9]。LDR 輸出的模擬電壓通過LM393 后,直接與Arduino uno R3 的AD0 端口連接,將模擬信號轉(zhuǎn)換成數(shù)字信號,感光模塊的電路圖如圖4 所示。

圖4 感光模塊電路圖
系統(tǒng)的轉(zhuǎn)動模塊通過各個舵機(jī)實現(xiàn)。舵機(jī)是一種角位置伺服電機(jī),主要由外殼、電機(jī)、減速器、電位器、控制電路組成,通過輸出端的電位器檢測轉(zhuǎn)動角度,實現(xiàn)精確地角度轉(zhuǎn)動控制[10-12]。根據(jù)測量的物理量,采用1~3個舵機(jī),每個舵機(jī)的旋轉(zhuǎn)范圍為0°~180°,當(dāng)2 個、3 個舵機(jī)同時使用,分別可以實現(xiàn)測距裝置二維、三維信息測量。
顯示模塊采用LM016L 液晶模塊,該液晶模塊采用HD44780 控制器,可以實現(xiàn)字符移動、閃爍等功能[13]。顯示模塊電路圖如圖5 所示。

圖5 顯示模塊電路圖
狹小空間三維信息測量系統(tǒng)的軟件設(shè)計主要有激光測距程序、光強(qiáng)測量程序、轉(zhuǎn)動部分程序和中央控制程序。
設(shè)定待測空間為一矩形,以面積測量為例,激光測距程序思路如下:將測距儀放置在空間某點,與垂直方向有一個較小的傾斜角度,程序內(nèi)預(yù)設(shè)每次旋轉(zhuǎn)角度?=1°,旋轉(zhuǎn)i、j次,系統(tǒng)初始化(旋轉(zhuǎn)次數(shù)i=0,j=0),記錄當(dāng)前測量距離li,舵機(jī)帶動測距傳感器轉(zhuǎn)動?后,停止轉(zhuǎn)動,測量此時的距離li+1,比較li與li+1,若li≥li+1,則i=i+1,j=j+1,li=li+1,第一個舵機(jī)繼續(xù)工作,每轉(zhuǎn)動?后停止工作,進(jìn)行測量比較,直到li

圖6 矩形面積測量流程圖

圖7 矩形面積測量示意圖
該部分的程序較為簡單,根據(jù)所選的光敏電阻,查閱技術(shù)參數(shù)規(guī)格書,并對其進(jìn)行修正,得到光強(qiáng)與輸出電壓關(guān)系:Lum=400×(exp(-1.364×vol))。部分程序如下:

轉(zhuǎn)動部分的作用是攜帶激光測距儀,根據(jù)Arduino uno R3 預(yù)置程序,3 個舵機(jī)相互配合,完成不同方向的距離測量。以面積測量為例,2 個舵機(jī)相互配合,實現(xiàn)360°旋轉(zhuǎn),圖7 為其測量示意圖。預(yù)設(shè)轉(zhuǎn)動次數(shù)i和j以及轉(zhuǎn)動角度,將測距儀放置在空間某點,與垂直方向有一個較小的傾斜角度,設(shè)最開始測量距離OA,在Arduino uno R3 控制下,舵機(jī)攜帶激光測距儀,每次轉(zhuǎn)動指定角度后,停止工作,測量一次距離,直到測得距離大于上次距離,第一次數(shù)據(jù)測量完成,之后再次轉(zhuǎn)動,轉(zhuǎn)動90 次后,完成第一個距離的測量,開始測量距離OC,重復(fù)上述方法,完成360°轉(zhuǎn)動測量。
中央控制模塊是整個系統(tǒng)的心臟,負(fù)責(zé)對輸入指令的判斷,并根據(jù)判斷結(jié)果,將指令傳達(dá)給各個模塊,同時接收各個模塊回傳的指令,并對此進(jìn)行整合,最后把待測信息傳送給顯示模塊。
設(shè)計采用Proteus 進(jìn)行仿真,該軟件是英國實驗室中心電子有限公司研制的一款實用的EDA 工具軟件,由廣州封彪電子科技有限公司代理[14],不僅能對模擬電路、數(shù)字電路進(jìn)行設(shè)計分析,還能夠?qū)Ω鞣N嵌入式處理器進(jìn)行仿真設(shè)計,成為電路系統(tǒng)設(shè)計不可或缺的工具[15-17],Proteus 由于其卓越的性能、強(qiáng)大的功能在業(yè)界有著很高的評價。
對設(shè)計的狹小空間三維信息測量系統(tǒng)進(jìn)行仿真。仿真過程中,利用Arduino uno 作為上位機(jī),來判斷、收發(fā)整個系統(tǒng)的指令;利用兩個PWM servo motor代替舵機(jī),實現(xiàn)360°旋轉(zhuǎn);顯示部分用Proteus 提供的LM016L 完成,實時顯示待測的物理量;感光部分采用光敏組件LDR 實現(xiàn)。距離、面積測量的仿真結(jié)果分別如圖8、圖9 所示。

圖8 距離測量的仿真結(jié)果

圖9 面積測量的仿真結(jié)果圖
該文以Arduino 開發(fā)板為基礎(chǔ),設(shè)計了一套狹小空間三維信息測量系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)空間長度、面積、體積以及光強(qiáng)度的實時精確測量,并利用Proteus 軟件進(jìn)行仿真,仿真結(jié)果表明,該系統(tǒng)滿足設(shè)計要求。