指針式儀表數(shù)據(jù)智能采集系統(tǒng)設(shè)計
摘要 系統(tǒng)采用ADSP—BF533+FPGA EP1C6T144C8架構(gòu),可實(shí)現(xiàn)圖像采集、指針儀表識別與讀數(shù)、數(shù)據(jù)傳輸?shù)裙δ?。DSP通過對采集到的圖像進(jìn)行灰度變換、邊沿檢測以及Hough變換等處理后,實(shí)現(xiàn)對指針式儀表表盤的識別、指針定位和讀數(shù)計算,以及指針讀數(shù)的存儲和傳輸。系統(tǒng)可通過串口實(shí)現(xiàn)組網(wǎng)測量與數(shù)據(jù)傳輸。FPGA接收DSP的指令,實(shí)現(xiàn)對COMS攝像頭采集控制、鍵盤掃描以及各器件的片選信號產(chǎn)生等功能。利用計算機(jī)SQL Server數(shù)據(jù)庫技術(shù)編寫上位機(jī)程序,可對測量數(shù)據(jù)進(jìn)行管理和備份。
關(guān)鍵詞 DSP技術(shù);Hough變換;SQL Serve;數(shù)據(jù)采集;ADSP-BF533
指針式儀表因具有結(jié)構(gòu)簡單、維護(hù)方便、不受電磁場干擾、可靠性高、價格便宜等優(yōu)點(diǎn),被廣泛應(yīng)用于科學(xué)實(shí)驗和生產(chǎn)中。儀表檢測部門和儀表觀測單位在對儀表進(jìn)行觀測時,其讀數(shù)通常由人工完成。由于人員視覺誤差引起讀數(shù)誤差,且讀數(shù)速度較慢、勞動強(qiáng)度大、觀測周期長、工作效率低、易造成讀數(shù)精度低、可靠性差、重復(fù)率高等問題。同時,指針式儀表長期使用后,由于表面污損也給人工讀數(shù)帶來了困難。因此,如何實(shí)現(xiàn)指針式儀表的自動判讀,提高觀測效率和觀測精度,就成為需要解決的問題。
隨著數(shù)字信號處理和數(shù)字圖像處理技術(shù)的不斷發(fā)展,應(yīng)用這兩種技術(shù)設(shè)計指針式儀表智能識別的方法受到人們關(guān)注,本文采用DSP技術(shù),基于Hough變換的思想,開發(fā)了一套指針式儀表數(shù)據(jù)智能采集系統(tǒng),實(shí)踐證明該系統(tǒng)具有讀數(shù)效率高、讀數(shù)準(zhǔn)確、可靠性高等優(yōu)點(diǎn)。
1 研究現(xiàn)狀
20世紀(jì)60年代后,隨著數(shù)字圖像處理、模式識別、計算機(jī)技術(shù)和人工智能理論的不斷發(fā)展,機(jī)器視覺技術(shù)取得了較大進(jìn)步,在許多領(lǐng)域獲得了廣泛應(yīng)用。所謂機(jī)器視覺技術(shù),主要用計算機(jī)模擬人的視覺功能,從客觀事物的圖像中提取信息,進(jìn)行處理并加以理解,最終用于實(shí)際檢測、測量和控制。
自動化生產(chǎn)過程中,機(jī)器視覺系統(tǒng)已廣泛應(yīng)用于工況監(jiān)視、成品檢驗和質(zhì)量控制等領(lǐng)域。機(jī)器視覺系統(tǒng)的特點(diǎn)是可以提高生產(chǎn)的柔性和自動化程度。在一些不適合于人工作業(yè)的危險工作環(huán)境或人工視覺難以滿足要求的場合,常用機(jī)器視覺替代人工視覺,同時在大批量工業(yè)生產(chǎn)過程中,用機(jī)器視覺檢測方法可以提高生產(chǎn)效率和生產(chǎn)的自動化程度,是實(shí)現(xiàn)計算機(jī)集成制造的基礎(chǔ)技術(shù)。
指針式儀表的測定工作中存在頻繁而大量的指針與刻度位置的視覺比較工作,這正是機(jī)器視覺技術(shù)可以發(fā)揮優(yōu)勢的領(lǐng)域。目前,在指針式儀表檢定方面使用自動化檢定裝置的產(chǎn)品較少,基本采用常規(guī)的檢測方法。自動化檢定裝置作為研究方向一直在進(jìn)行之中,若自動檢定系統(tǒng)研制成功并投入使用,將降低測試人員的勞動強(qiáng)度和人為因素造成的測量不確定性,對保證檢定的準(zhǔn)確可靠具有重要意義。
國內(nèi)較早進(jìn)行指針式儀表圖像識別的是哈爾濱工業(yè)大學(xué)的李鐵橋等,主要是對壓力表進(jìn)行了研究。王三武等人研究了水表多刻度盤的圖像識別檢定系統(tǒng)。李寶樹等提到了識別指針刻度線,但這些研究都未脫離指針偏角的識別方法。再就是一些針對羅經(jīng)、轎車部分儀表、飛機(jī)座艙零位儀表等的識別方案及設(shè)計。上述研究表明,指針式儀表自動讀數(shù)識別的研究方法主要獲取指針的角度,根據(jù)角度關(guān)系計算出儀表的讀數(shù)。與人工讀數(shù)的方法不同,沒有根據(jù)指針與其最靠近的兩條刻度的位置關(guān)系來計算讀數(shù),避免了在讀數(shù)準(zhǔn)確性上的不足。
文中設(shè)計了基于Hough變換的指針式儀表智能采集系統(tǒng),實(shí)現(xiàn)了圖像采集、處理、存儲、顯示讀數(shù)、通信等功能,并將最終數(shù)據(jù)遞交上位機(jī)數(shù)據(jù)庫保存,如圖1所示。
2 系統(tǒng)硬件設(shè)計
根據(jù)實(shí)際需要,指針式儀表數(shù)據(jù)智能采集系統(tǒng)需要完成圖像采集、處理、存儲、輸出、讀數(shù)、通信等功能,對數(shù)據(jù)處理能力有較高要求。Blackfin系列處理器是AD公司和Intel公司針對高速嵌入式數(shù)字處理共同開發(fā)的高性能嵌入式DSP,其中ADSP—BF533當(dāng)時鐘頻率為600 MHz時性能達(dá)到1 200 MMACs,能很好滿足數(shù)字控制器處理能力的要求。因此,采用BF533為核心處理器,以SDRAM、Flash、CMOS圖像傳感器、RS485串行總線分路器等為外圍電路,構(gòu)建指針式儀表識別器平臺。
2.1 DSP內(nèi)核電源電路模塊
DSP—BF533采用動態(tài)電源管理技術(shù)降低芯片功耗。芯片的VRout引腳提供了片上PWM開關(guān)控制。因此只需在外部連接一個基本的開關(guān)電源電路即可實(shí)現(xiàn)電源電壓的動態(tài)調(diào)節(jié)。采用AMS117—3.3將5 V電壓轉(zhuǎn)換為3.3 V。根據(jù)開關(guān)電源原理,采用VRout引腳控制場效應(yīng)管FDS9431的通斷調(diào)節(jié)輸出電壓DSP_VDD_INT。電路連接,如圖2所示。
2.2 Flash存儲電路模塊
由于DSP—BF533內(nèi)部沒有程序存儲器,因此需要外接Flash實(shí)現(xiàn)對程序的存儲。另外,程序運(yùn)行中的計算結(jié)果和工作狀態(tài)等也需要掉電保存。DSP—BF533的EBIU單元提供了異步存儲接口(Asynchronous Memory Interface),可以實(shí)現(xiàn)對CFI標(biāo)準(zhǔn)的Flash的讀寫。電路中采用Fla-sh AM29LV800作為程序器和工作數(shù)據(jù)存儲器。將EBIU接口的AMS0作為片選信號,AWE和AOE信號作為讀寫控制信號,地址總線與數(shù)據(jù)總線連接到EBIU的地址總線與數(shù)據(jù)總線,Reset引腳連接系統(tǒng)復(fù)位信號。電路連接如圖3所示。
2.3 TFT LCD顯示電路模塊
TFT LCD采用PT035TN01 24位真彩液晶,分辨率為320×240。加電后,DSP通過SPI口初始化液晶,將數(shù)據(jù)格式設(shè)置為8位數(shù)據(jù)總線模式,在3個時鐘周期內(nèi)分別提供R,G,B三色信號。DSP以DMA的方式通過PPI口向LCD發(fā)送R,G,B數(shù)據(jù),采用定時器Timerl與Timer2產(chǎn)生VS與HS同步信號,實(shí)現(xiàn)對LCD的掃描。DSP與LCD的電路連接,如圖4所示。
2.4 COMS攝像頭電路模塊
圖像采集是指針識別的前提,為了使指針角度識別有較高的精度需要圖像有較高的分辨率。經(jīng)過Maflab仿真,圖像分辨率在800×600時,具有0.5°分辨率。電路中選用TGA130V10模組,此模組采用OV9653 COMS傳感器,最大分辨率支持1 280×1 024。該模組通過SCCB總線配置OV9653。配置完成后,OV9653可按VGA或SVGA方式輸出YUV信號。COMS攝像頭與FPGA相連,通過FPGA模擬SCCB總線配置OV9653,并完成圖像數(shù)據(jù)的傳輸。Reset與PWDN信號由FPGA提供。COMS端口連接如圖5所示。
2.5 閃光燈連接電路
為了使儀器能在較黑暗的環(huán)境下工作,電路中設(shè)計了閃光電路。閃光燈光源采用白光LED,通過Maxim公司的MAX1583為LED提供閃光所需的瞬間大電流。DSP通過SPI口向FPGA發(fā)送閃光燈操作指令,F(xiàn)PGA譯碼后通過設(shè)置Mode1與Mode2來控制MAX1583進(jìn)行相應(yīng)操作。電路連接如圖6所示。
2.6 RS485連接模塊
設(shè)計中采用RS485作為系統(tǒng)與上位機(jī)的通信接口。在工業(yè)自動化控制中,需要對一些表盤的數(shù)據(jù)實(shí)時監(jiān)控。采用RS485接口可以快速地組成一個監(jiān)控網(wǎng)絡(luò),網(wǎng)絡(luò)中每個識別儀有自己特定的ID,上位機(jī)循環(huán)發(fā)送各個識別儀的ID即可獲得每個表盤的實(shí)時數(shù)據(jù)。電路中采用Maxim公司的MAX13433作為RS485收發(fā)轉(zhuǎn)換器。MAX13433是全雙工的RS485收發(fā)器,允許直接低壓ASIC與FPGA連接,無需額外器件。收發(fā)器工作電壓3~5V,邏輯接口工作電壓1.62~5V。設(shè)計中均采用3.3 V電壓。DSP的UART_RX和UART_TX引腳分別與MAX13433的RO與DI相連,F(xiàn)PGA提供RS485_ DE與RS485_RE信號分別與MAX13433的DE與RE相連。DSP通過SPI口向FPGA發(fā)送指令,F(xiàn)PGA譯碼后輸出對應(yīng)的RS485_DE與RS485_RE控制器件的收發(fā),實(shí)現(xiàn)RS485總線傳輸。電路連接如圖7所示。
3 系統(tǒng)軟件設(shè)計
指針式儀表數(shù)據(jù)智能采集系統(tǒng)的軟件設(shè)計包括兩大部分:DSP軟件設(shè)計和上位機(jī)軟件設(shè)計。AD公司的DSP開發(fā)環(huán)境VisualDSP++Developm-ent界面良好、功能強(qiáng)大、支持C語言開發(fā),故DSP軟件使用VisualDSP++5.O軟件設(shè)計平臺。
上位機(jī)程序采用數(shù)據(jù)庫技術(shù),采用Delphi7.0軟件設(shè)計平臺。指針式儀表智能采集系統(tǒng)采用C語言編程,主要包括主程序、鍵盤處理子程序、指針識別與讀數(shù)計算子程序、串口通訊子程序,各程序模塊的實(shí)現(xiàn)確保了系統(tǒng)的可行性和可靠性。
3.1 主程序流程圖
主程序流程如圖8所示。系統(tǒng)加電后初始化,對各外設(shè)進(jìn)行初始化配置,按任意鍵進(jìn)入測量狀態(tài),測量模式有兩種,分為自動定時測量模式和手動測量模式。在各模式下,用戶根據(jù)實(shí)際需求測量數(shù)據(jù)。
3.2 鍵盤處理子程序流程圖
鍵盤處理子程序流程圖如圖9所示,系統(tǒng)設(shè)計時,考慮到為使用方便,盡量減少了按鍵。測量模式選擇,閃光燈模式選擇,選擇模式內(nèi)容各包含兩種,默認(rèn)為手動測量模式,不閃光測量模式。時間間隔設(shè)置采用三選一,用戶無需自己輸入。數(shù)據(jù)傳輸采用一鍵傳輸模式,配合確認(rèn)鍵使用。
3.3 指針識別與讀數(shù)計算流程圖
指針識別與讀數(shù)計算子程序主要完成儀表的讀數(shù)和計算功能,最終讀數(shù)的精確度和誤差由此過程決定。程序先將彩色圖像轉(zhuǎn)換為灰度圖像,再通過Sobel算子對灰度圖像進(jìn)行邊沿分割的方法對圖像進(jìn)行邊緣檢測,利用Hough變換的基本思想確定指針位置,根據(jù)儀表量程計算儀表實(shí)際讀數(shù)。流程如圖10所示。
3.4 串口通訊子程序
串口通訊子程序流程如圖11所示,當(dāng)用戶按數(shù)據(jù)傳輸鍵并確認(rèn)時,系統(tǒng)讀取按一定存儲規(guī)則存儲在Flash中的數(shù)據(jù),并按照相應(yīng)的組合算法,通過串口發(fā)送16進(jìn)制數(shù)據(jù),直到將所有數(shù)據(jù)發(fā)送完,發(fā)送一個發(fā)送結(jié)束的標(biāo)志。上位機(jī)接收完數(shù)據(jù)后,會給系統(tǒng)回發(fā)接收數(shù)據(jù)成功的標(biāo)志,此時系統(tǒng)自動清除Flash中的數(shù)據(jù)。
4 結(jié)束語
結(jié)合VisualDSP集成開發(fā)環(huán)境和串口接收數(shù)據(jù)軟件,對指針式儀表數(shù)據(jù)智能采集系統(tǒng)進(jìn)行了編程、軟件調(diào)試及硬件仿真。結(jié)果表明,該系統(tǒng)結(jié)構(gòu)緊湊、穩(wěn)定性好、采集數(shù)據(jù)準(zhǔn)確可靠、價格低廉。