摘 要: 為了快速、準確地測量閉合圖形的面積,設計了由接觸式圖像傳感器(CIS)、步進電機、掃描平臺和MC9S12XS128微控制器系統組成的數字式求積儀。通過步進電機使圖像傳感器沿導桿勻速水平運動,掃描玻璃平板上白紙上的圖形。單片機采集圖像信號并進行點陣識別,根據捕捉到的兩點之間的時間間隔和圖像傳感器移動速度,通過數值積分求出圖形面積,并在液晶顯示器上顯示。實驗結果表明,完成一幅圖形的測量只需12 s,橫向和縱向分辨率分別為600 dpi和254 dpi,完全滿足實驗教學的要求。
關鍵詞: 數字式求積儀; MC9S12XS128; CIS; 步進電機; 圖形面積
求積儀是一種專供測定不規則圖形面積的儀器,廣泛應用于土地規劃、氣象、水利工程、房地產和森林管理等方面[1]。目前實驗室使用的大多是滾動式機械求積儀,任意閉合圖形的面積可以理解為在直角坐標系中的矩形微元(線性求積儀)或極坐標系中的扇形微元(極式求積儀)的累加。使用時,將重錘底部小針固定在圖紙上,描跡針按順時針方向沿封閉圖形的輪廓線移動一周,測輪和游標等組成的微測機構將測輪轉動的弧長轉換為測輪的分劃值,在計數盤與測輪游標上讀取圖形的面積。機械式求積儀的主要缺點是人工操作會帶來測量誤差, 如循跡偏差、始點重合度以及圖面粗糙度引起滾輪滑動等。現有的數字式求積儀采用光柵或光電編碼器,雖然消除了測量機構的機械誤差,但由于仍采用描跡的方法,并不能消除人為誤差。
無需描跡和自動測量最便捷的方法是采用線陣圖像傳感器電荷耦合器件CCD(Charged Couple Device)和接觸式圖像傳感器CIS(Contact Image Sensor),CCD和CIS已經被廣泛用于掃描儀和數碼攝像機等成像系統[2-3]。
與CCD相比,CIS具有尺寸小、結構緊湊、獨立LED光源、單時鐘/定時邏輯、功耗小、成本低等一系列優點[4]。為此,本文基于CIS設計了數字式求積儀。
1 數字式求積儀總體設計
通過對佳能掃描儀LIDE20進行改裝,利用掃描儀自帶的CIS、步進電機和掃描平臺,加裝基于MC9S12XS128單片機的控制系統、光電開關和LCD顯示器,構成圖1所示的數字式求積儀。
求積儀的工作方式類似于掃描儀,將具有任意圖形的白紙置于玻璃平板上,接通電源并按下啟動按鈕,在單片機的控制下,CIS將每個像素的灰度值以模擬電壓形式通過串行移位方式輸出[5]。每個像素的電壓信號經過比較放大后,由單片機的輸入捕捉模塊計量橫向兩點對應的時間,并根據采樣頻率轉換成線距。同時,單片機控制步進電機,通過傳動系統使CIS沿著導軌以固定速度勻速縱向前進,每前進一個固定距離(如0.1 mm), CIS完成一次橫向掃描。通過對所有有效網格面積進行數值積分,便可得到封閉線條的面積。
2 硬件電路設計
2.1 CIS
CIS的型號為FH7-7881,由柱狀透鏡陣列、LED 光源和線性 CMOS 圖像傳感器構成,并集成在一個條狀盒內。傳感器可掃描彩色和黑白圖像,彩色光源有紅光、藍光和綠光,本系統只用藍光。傳感器電源電壓為 3.3 V,最大電流為60 mA。掃描寬度為216 mm,分辨率為600 dpi(點數/英寸)。
2.2 步進電機及其驅動電路
二相微型步進電機通過齒輪組和帶輪來移動CIS,步距角為18°。為了滿足步進電機驅動要求,設計了驅動電路,如圖4所示。驅動芯片為THB6128,內置雙全橋MOSFET,峰值電流可達2.2 A, 工作電流1.5 A,最高耐壓36 V,具有8種細分模式。
CLK_1為脈沖信號輸入端,CW_1為正/反轉信號輸入端,ENABLE為使能信號控制端,OUT1A和OUT2A為A相OUTA輸出端,OUT1B和OUT2B為B相OUTB輸出端 。當THB6128的ENABLE引腳置1,CLK_1引腳輸入一定頻率的脈沖波時,步進電機轉動,轉速通過CLK_1引腳輸入的脈沖頻率調節,轉向由CW_1引腳的電平決定。
2.3 光電開關
導軌的兩端分別設置一個用于限位的槽型(U形)紅外光電開關,由發射管和接收管組合而成。同時,在CIS固定架上兩端分別安裝一個金屬擋片。當金屬擋片進入槽內時,發射管發射的紅外光被阻斷,接收管的輸出端將產生電平變化。光電開關輸出的電壓經過整形后,輸入到單片機外部中斷輸入引腳,分別作為CIS的起始、停止和返回位置信號,單片機據此判斷傳感器移動的兩個端點。
2.4 LCD1602顯示器
LCD顯示器用于顯示計算的圖形面積,為字符型點陣液晶顯示器組件LCD1602,可用來顯示字母、數字和符號等,顯示內容為16×2個字符。LCD1602的工作電壓為5 V,工作電流為2.0 mA。接口部分包括背光電源LED+、LED-,數據/命令選擇RS、讀/寫選擇R/W、使能信號E、雙向8位數據線D0~D7引腳等。
2.5 MC9S12XS128單片機系統
求積儀的控制電路由核心電路、CIS信號比較電路、步進電機驅動電路、LCD顯示器接口電路和光電開關信號整形電路等部分組成。其中,MC9S12XS128是高性能16位單片機,具有速度快、功能強、成本低、功耗低等特點。內部集成有128 KB的Flash存儲器,8通道24位中斷定時器,8通道16位定時器,8通道PWM波輸出和8通道12位精度的A/D轉換器,并帶有CAN、SPI和UART等通信接口[6]。
單片機產生CIS和步進電機工作時所需的各種控制信號,其中,采集觸發信號SI由輸出比較模塊產生,時鐘頻率CLK信號由脈寬調制模塊(PWM)產生,步進脈沖由實時中斷功能產生。單片機的通用I/O口PORTA與LCD顯示器的8位數據線相連,PORTB作為控制和命令口。
為了區別圖形像素的灰度值,可以把圖像信號通過A/D轉換,根據固定閾值分割算法[7],設置一個區別白色像素和黑色像素的閾值,利用軟件來判斷。本文利用硬件的方法區分圖形的有效像素點,即沒有利用單片機的片內A/D模塊對CIS輸出信號進行量化,而是設置一個門限值,采用高精度比較器LM2091將圖像信號電壓轉換成高、低電平,高電平對應白色像素,低電平對應黑色像素。通過單片機的輸入捕捉模塊對放大比較后的CIS輸出信號SIG進行捕捉計時,確定兩條線距對應的時間間隔。
3 軟件實現
數字式求積儀的軟件包括主程序、圖像采集子程序、步進電機控制子程序、各種中斷子程序以及有效網格面積計算和圖形數值積分程序等模塊。
3.1 圖像采集程序
圖像采集軟件流程圖如圖5所示。進入圖像采集程序后,首先進行PWM模塊和增強型定時器模塊(ECT)的初始化,然后產生時鐘頻率信號CLK,延時后產生采集觸發信號SI。當SI置1時,CIS不輸出信號;當SI置0時,CIS開始輸出電壓信號。輸入捕捉模塊被設置成脈沖下降沿觸發,根據是否存在兩個有效的電平跳變沿,判斷是否存在圖形的軌線。利用兩個下降沿捕捉的主定時器計數值,經過計算便得到對應的時間間隔,再根據采樣頻率換算后得到兩條黑線的間距。
3.2 步進電機控制程序
主程序通過調用驅動程序來控制步進電機,利用實時中斷產生50%占空比方波作為步進脈沖信號。在初始化實時中斷控制寄存器CRGINT_RTIE,配置實時中斷的溢出周期RTICTL后,設置中斷允許,啟動實時中斷。實時中斷溢出周期RTICTL為:
(RTS[3:0]+1)×2(RTR[6:4]+9)/OSCCLK
其中,OSCCLK為外部晶振時鐘。
當控制步進電機運動時,根據主程序設置的轉向標志,使THB6128驅動芯片CW_1引腳置成相應電平,使能控制端ENABLE置1,每當一次中斷到來時,通過I/O口改變CLK_1引腳的電平,步進電機便按照預定的方向和速度轉動。
4 實驗結果
數字式求積儀工作時處理前后的CIS信號如圖6所示。圖6(a)給出了采集觸發信號SI和CIS輸出的原始圖像信號SIG。當采集觸發信號SI為高電平時,電壓信號SIG為1 V;當SI為低電平時,白色像素對應的SIG輸出電壓大約為3.3 V,黑色像素對應的SIG輸出電壓大約為1.5 V。從圖中可以看出,在每個行掃描周期內,采集觸發信號SI低電平期間的SIG信號有兩次電平變低的過程,低電平持續時間正好對應黑線的寬度,SIG兩個下降沿的時間間隔對應兩條黑線的間距。
為了使單片機的輸入捕捉模塊能夠有效識別黑、白色像素,電壓比較器LM2901的門限電壓設置為2.2 V,處理后的圖像信號如圖6(b)所示。原先1.5 V~3.3 V的模擬電壓變化被轉變為0~5 V的脈沖,便可以觸發單片機的輸入捕捉。
在1.5 MHz的采樣時鐘下,CIS一次行掃描的時間大約需要3.4 ms,如果CIS移動0.1 mm進行一次掃描,即縱向分辨率為254 dpi,按照A4紙的幅面,理論上一幅圖面的測量最快需要10.1 s。考慮到軟件處理所需要的時間和圖像信號的穩定過程,將采集觸發信號SI的頻率設置為250 Hz,則實際測量一幅圖面的時間大約為11.88 s。如果CIS移動0.05 mm進行一次掃描,則縱向分辨率可以進一步提高到508 dpi,但測量時長也將增大一倍。
基于CIS設計了數字式求積儀,利用掃描儀自帶的CIS、步進電機與傳動系統、掃描平臺,研制了基于MC9S12XS128單片機的控制系統。
(1)利用比較電路將CIS的輸出轉換成代表兩種不同灰度值的電平,由單片機的輸入捕捉模塊測量曲線的線距,精度可達600 dpi。
(2)利用單片機的實時中斷產生步進電機的控制脈沖,實現步進電機轉速的軟件調節。但電機的轉速確定需要與掃描頻率相配合,兼顧縱向分辨率和測量時長,采集觸發信號SI的頻率設置為250 Hz,CIS移動0.1 mm進行一次掃描,使得縱向像素識別精度達到254 dpi。
(3)多次圖形測量實驗的結果表明,測量結果數值穩定,完成一次測量的時間只需12 s。與現有的數字式求積儀相比,基于CIS的數字求積儀自動掃描,消除了人為循跡所帶來的誤差,在結構和使用上更簡單,成本低,可滿足常規的圖形面積測量要求。
參考文獻
[1] 陳殿盛, 朱翠英. 滾動式數字求積儀的探討[J].光學儀器,1993,15(6):17-21.
[2] 唐亞軍,郭喜慶.基于51單片機的線陣CCD驅動設計[J]. 微型機與應用,2013,32(12):73-76.
[3] 于長青.CCD/CIS圖像處理[J].世界電子元器件,2000(12): 41-43.
[4] 程秋林,朱凱燕. 基于ARM9 的便攜式 CIS型掃描儀設計[J]. 微型機與應用, 2010,29(12):38-41.
[5] 肖軍,肖本賢. 基于FPGA和CIS的紙幣圖像采集及5/3提升小波圖像處理方法[J]. 合肥工業大學學報(自然科學版),2011,34(8):1160-1164.
[6] 吳曄,張陽,滕勤. 基于HCS12的嵌入式系統設計[M].北京:電子工業出版社, 2010.
[7] 武麗.基于圖像傳感器的黑線提取及抗干擾算法研究[J].電子技術應用,2012,38(2):88-90.