周紅霞,梁 娟,楊文菊
(1.新疆工業(yè)職業(yè)技術學院 能源與電氣工程系,烏魯木齊 830022;2.新疆職業(yè)大學 機械電子工程學院,烏魯木齊 830013)
精密工程測量儀器及數據處理
周紅霞1,梁 娟1,楊文菊2
(1.新疆工業(yè)職業(yè)技術學院 能源與電氣工程系,烏魯木齊 830022;2.新疆職業(yè)大學 機械電子工程學院,烏魯木齊 830013)
針對某精密工程測量儀器中的測控系統采集外設信息、分析處理測量的數據,并集中控制各設備的需求,從系統的整體設計考慮,實現了該系統控制器的硬件電路設計以及驅動程序開發(fā)。系統硬件采用ARM9處理器AT91RM9200芯片作為控制器的核心,對控制器進行了各部分電路的設計,同時基于實際需求完成應用程序的設計并對系統的測角誤差進行分析,推導其形成機理。為了提高測量精度和方便操作,分析了系統橫軸傾斜、豎軸傾斜、視準軸傾斜等引起的測量誤差,通過建立數學模型、同時采用電子補償器對系統進行補償和校正。
ARM;CAN總線;Linux;測角誤差;電子補償器
目前,工程測量儀器的外圍設備較多,而已有產品采用星型拓撲,致使接線關系復雜,通信協議繁多,系統的生產和維護十分不便。此外,大量的連線也會導致故障急劇增加,因此需要考慮采用更為合理的拓撲結構,將眾多的設備簡潔的連接起來?,F場總線技術實現了控制層和現場總線設備層之間的數據傳輸,在保證傳輸實時性的情況下實現信息的可靠性和開放性。本文將研究現場總線技術應用于測控系統的可行性。設計的測控系統主要用于某測地儀器中,采用尋北儀獲取方向角,以北斗用戶機等方式獲取地理坐標,并利用測距組件獲取距離信息和數字測角裝置測量角度,實時地向控制終端提供信息。
1.1 系統的功能和設計要求
系統主要用于某測地儀器中,其基本工作原理為:采用尋北儀獲取方向角,以北斗等定位方式獲取所在位置地理坐標,并利用數字測角測距裝置得到角度距離,最后經解算向終端提供目標信息。系統的整體框如圖1所示。
圖1 系統整體功能框圖
根據系統的設計要求,進行硬件系統選型和軟件系統選型。系統的具體功能有:
(1)與北斗用戶機通信,確定系統所在位置地理坐標;
(2)與尋北儀通信,獲取初始北向;
(3)采集測角部件信號,獲取對瞄光軸的角度;
(4)與測距組件通信,獲取系統至目標的距離;
(5)將角度和距離信息發(fā)送至紅外熱像儀,便于紅外熱像儀在夜間測量;
(6)結合上述信息完成坐標解算、目標位置參數等的計算,計算完成后將上述信息發(fā)送給控制終端;
(7)通過鍵盤和顯示屏進行人機交互;
(8)系統完成操控和數據記錄;
(9)完成系統故障與狀態(tài)的檢測。
1.2 系統控制器硬件方案設計
系統組成框圖即如圖2所示。
圖2 系統控制器的組成
1.2.1 AT91RM9200最小系統
處理器最小系統是整個系統控制和數據處理的核心電路模塊,這部分電路是AT91RM9200芯片能夠正常運行的最小電路系統,包括中央處理AT91RM9200、處理器啟動模式選擇電路、存儲運行時數據的存儲器SDRAM、可掉電保存數據的NANDFlash和NorFlash。
1.2.2 電源模塊
通過24 V直流電源或電源適配器接入系統。考慮到體積和成本等方面的原因,因此,系統選擇低壓差線性穩(wěn)壓器(LDO型)電源產生I/O電壓3.3 V、利用開關電源產生串口的5 V以及光電編碼器的12 V。
1.2.3 復位模塊
AT91RM9200中穩(wěn)定的Reset信號由該系統中的復位電路所提供。設計采用的是常見RC復位電路,該電路完全滿足系統高可靠的復位要求。
1.2.4 串口擴展模塊
系統需要5個串口分別與測距通信組件、定位裝置、定向裝置、紅外熱像儀和控制終端通信,但是AT91RM9200除了一個調試用串口Debug UART,最多只能提供4個獨立的串口控制器。因此,本系統采用串口擴展芯片來擴展串口。
本系統利用16C554芯片進行串口擴展,1片16C554可方便的擴展成四個串行口,并利用三八譯碼器實現四個串口的地址譯碼選通。在PC主機端,設計開發(fā)了Linux設備驅動程序,,從而使得應用程序能以訪問處理器自帶串口的方式訪問擴展串口。
1.2.5 CAN總線模塊
系統考慮選擇CAN總線的拓撲結構來提高其可靠性。利用AT91RM9200的外部總線擴展CAN總線接口芯片,并通過CAN總線收發(fā)器與物理總線相連,實現與外圍設備的通信。
CAN控制器必須通過CAN總線收發(fā)器與物理總線相連,本文選用PCA82C250為CAN控制器與物理總線之間的接口。它主要為CAN總線高速通訊(高達1Mbps)應用而設計,與CAN網絡的CANH和CANL實現物理相連,使得各節(jié)點能夠與網絡進行良好的交互。用差分接收,降低射頻干擾(RFI),能夠抗寬范圍的共模干擾,抗電磁干擾(EMI),未上電的節(jié)點對總線無影響。
為了進一步提高抗干擾的能力,采用6N137高速光偶對總線信號進行隔離。由于光耦部分的電路所采用的兩個電源必須完全隔離,否則采用光耦也就失去了意義,所以采用5-5V的電源隔離模塊(B0505S)將CAN總線部分的電源和地線與其它數字電路的電源和地線隔離,分別給6N137兩端供電。
1.2.6 并口擴展模塊
由于AT91RM9200本身的I/O口有限,在與光編通信上,采用通用的82C55配合CPLD進行并口的擴充,使得AT91RM9200的I/O資源得到合理充分的利用。擴展出來的并口用來連接光電編碼器,以實現方位信息采集。
系統需要外接兩個15位并行數據輸入的設備,系統中采用2片82C55實現兩個并行輸入設備信號的分時讀入。而在AT91RM9200一側,則分配8位數據線DB[7:0]分時讀入2片82C55的數據,從而達到了分時讀入高低向和水平向2個并行輸入設備信息的目的。因為處理器與并行輸入設備數據傳遞的速度遠遠大于并行輸入設備的機械角速度,所以,這樣分時讀取數據的方法完全滿足并行輸入設備測量的實時性。
1.2.7 鍵盤接口模塊
鍵盤是系統在測量時輸入操作指令或數據的硬件,系統采用矩陣式接口設計,既能節(jié)約系統資源,同時降低系統成本。即使用AT91RM9200的通用GPIO口作為矩陣鍵盤的硬件接口,編寫相應的驅動程序以實現鍵盤輸入功能。
AT91RM9200的PB0到PB12作為與矩陣鍵盤的接口。其中PB[2:0]成為一組,作為3*10矩陣鍵盤的行電路RK[3:1];PB[12:3]成為一組,作為3*10矩陣鍵盤的列電路SK[10:1],與鍵盤的列電路和行電路相連接。按鍵的識別通常采用中斷或輪詢的方式獲取,本設計中使用輪詢的方式識別按鍵,當系統工作時,鍵盤驅動程序定時查詢鍵盤。當有鍵按下時,根據電平值判斷按下鍵位所在的行和列,據此生成鍵盤掃描值送給應用程序處理,從而實現按鍵輸入的功能。
1.2.8 顯示器接口模塊
在業(yè)界被公認的能夠代替液晶的顯示技術是OLED技術,該技術顯示屏的視角特性、發(fā)光亮度、色彩度等許多方面都優(yōu)于液晶顯示器。因此選用OLED顯示屏作為系統的顯示終端,相應的接口電路使用AT91RM9200的通用GPIO口。接口電路如圖3所示。
圖3 顯示屏與AT91RM9200接口電路
圖3中3.3 V接顯示屏的邏輯電源VDD管腳,PA[4:0]接顯示屏的控制引腳,PB[29:22]接顯示屏的八位數據線D[7:0]。
1.3 系統控制器驅動程序方案設計
Linux對外圍設備的管理繼承了UNIX的風格,即將外設對象化、文件化,像操作文件一樣來操作外圍設備,在Linux系統的/dev目錄下的每一個文件都代表連接在外圍的一個設備。在Linux下對外設進行訪問非常簡單,直接對/dev目錄下相應的設備文件進行讀寫就可以達到與讀寫設備端口相同的效果。Linux主要是通過設備文件的設備號來將設備文件與其對應的設備驅動程序關聯起來。Linux操作系統源碼中有相當大的部分就是各種通用設備的驅動程序,比如本系統控制器用到的以太網Linux系統就有很好的支持,但一些為特定系統定制的設備接口的驅動則需要單獨編寫,本系統中這類設備包括串口擴展接口、鍵盤接口、顯示屏接口、并行輸入設備接口和CAN總線接口。
1.4 系統應用程序方案設計
系統應用程序的主要功能是控制和協調系統各個設備,完成系統全部工作流程。應用程序是整個系統的核心和靈魂,因此程序的性能和研制質量是保證系統性能的前提條件。
控制器從北斗或其他方式獲取控制器所在位置信息、從尋北儀獲取初始北向信息、從測角裝置獲取對瞄光軸的角度信息、從測距組件獲取控制器至目標的距離信息;結合這些信息需要完成目標位置參數、光軸角度等的計算,并將上述信息發(fā)送到終端;另外控制器能貯存相關參數,進行相關外設的故障診斷。
根據控制器功能和開發(fā)原則,應用層軟件包括以下幾個功能模塊。
1.4.1 主模塊
該模塊是系統應用程序的核心模塊,主要完成對用戶命令的接收,實現對軟件各模塊的監(jiān)控、調用,最終計算結果發(fā)送給控制終端。
1.4.2 定位模塊
通過各種方式獲取當前控制器坐標。
1.4.3 定向模塊
通過方向測量裝置獲取控制器與目標間對瞄軸線的當前方位。
1.4.4 測距模塊
和目標進行對瞄,獲取對瞄軸線的高低方位角和水平方位角,以及控制器和目標的距離,為目標位置坐標解算做準備,同時將這些信息發(fā)送至紅外裝置,便于夜間測量。
1.4.5 發(fā)送模塊
通過采集信息解算目標的位置信息,并按照一定的協議通過串口將位置、角度和方位信息發(fā)送給控制終端。
1.4.6 鍵盤和顯示模塊
鍵盤模塊向下獲取驅動程序得到的鍵值,根據集成控制系統軟件的需要傳遞給頂層程序。顯示屏模塊是應用程序和OLED屏驅動程序的接口,為應用程序提供16*8和16*16象素的漢字和符號顯示服務。
1.5 系統誤差分析及其校正方案
系統能夠正確測得水平方向值和垂直方向值的重要條件是視準軸、橫軸、豎軸之間在測量時,應滿足一定的幾何關系,即視準軸與橫軸正交、橫軸水平、豎軸與鉛垂線一致。當這些關系不能滿足時,將分別引起視準軸誤差、橫軸傾斜誤差和豎軸傾斜誤差。
基于系統軸系誤差對角度測量的影響規(guī)律,建立數學模型,分析研究系統的補償與修正方法。根據電子補償器的工作原理,結合系統的設計,對系統進行水平度盤和垂直度盤讀數補償、改正。
2.1 電子改正
2.2 電子校正
由于系統對橫軸傾斜也需要電子補償技術,其補償原理就是Hz=Hz0+acotZ,這樣經電子補償后儀器示值就直接是Hz和Z,而不再是Hz0和Z0了。由于電子補償的計算公式是Hz=Hz0+acotZ,在系統的內存單元中存入準確的橫軸傾斜誤差值a是十分有必要的。
在系統中,也有相應的程序將橫軸傾斜誤差值a的獲取以及存入完成實現。根據橫軸傾斜的誤差對水平正倒鏡差Cr的影響公式Ch=-acotZ,水平正倒鏡差值與天頂距有關。因此電子校正的步驟為:將校正橫軸誤差值的相關程序打開,對不同高低的兩個目標按照相應步驟各做一次正倒鏡觀測,系統會根據兩個不同的Cr近似計算出橫軸誤差值a并自動存入內存。之所以需要兩個不同高低的目標點是因為還要把視準軸誤差對水平正倒鏡差的影響Cs區(qū)分出來。
2.3 電子補償
通過對儀器整平精度的提高能夠將豎軸傾斜誤差的影響降低。不過較高的要求不能通過傳統的水泡整平技術來實現,人眼的分辨力和人手的調整也都難以實現。
隨著電子技術的進步,將電子補償器應用到儀器制造上,其意義在于可以減輕測量人員的工作量并提高測量精度,豎軸的傾斜狀態(tài)αx、αy也可以實現實時測量。不過儀器中使用電子補償器的目的并不是為了實現生硬的整平,而是為了實現儀器豎軸在傾斜狀態(tài)下的誤差補償,以保證現測值并不因儀器豎軸傾斜而降低。
豎軸電子補償計算程序是根據電子補償器測得的αx、αy值和公式ΔHz=ay·cotZ、ΔZ=αx來實現的,這樣經過電子補償后儀器示值就直接是Hz和Z,而不再是Hz0和Z0了。
3.1 控制器硬件調試
首先將PCB板的電源模塊部分焊接好,采用+24 V外接方式供電,無誤后連接到板子上,用示波器測試系統的電源芯片輸出。各輸出電壓正常、波形平穩(wěn)則證明電源電路供電正常。
將最小系統連接到控制器單板上,檢查無誤后將時鐘電路模塊、復位電路模塊焊接到單板上。用示波器觀察振蕩器的振蕩頻率32 kHz左右,由此證明時鐘電路正常。
在查看復位電路的過程中,未按復位按鈕時RESET端輸出3.3 V高電平,不過在復位按鈕按下之后變?yōu)榈碗娖?,想要恢復到高電平只需松開按鈕,即復位電路正常。
3.2 控制器驅動程序調試
此部分主要是通過編寫相應設備的測試程序來對設備操作,觀察設備對用戶操作的響應來判斷對應外設接口是否工作正常。需要調試的外設接口主要是串口、CAN總線、并口、顯示屏和鍵盤。
3.2.1 串口擴展驅動程序調試
此部分串口包括除調試串口之外的五個RS232串口,調試方法是通過PC上的串口助手軟件模擬外設與本系統通信。
調試時串口底層相應程序出現異常:在/dev目錄下儲存著Linux中的串口設備文件,在開始運行驅動程序的過程中,在/dev目錄下設備名無法建立,經分析調試排除了異常,最終實現了外設與系統之間的可靠通信。
3.2.2 CAN總線驅動程序調試
因為CAN總線設備驅動程序的接口是自己定義的,包括了一些非標準的ioctl,所以為了測試上述的驅動程序編寫了一個專用的測試程序。經測試,CAN總線能夠實現對標準幀和擴展幀,數據幀和遠程幀等不同幀的通信功能。
3.2.3 并口驅動程序調試
系統并口驅動程序的調試方式是通過水平向光編和垂直向光編與本系統通信,在調試過程中,出現了無法響應光編的數據動態(tài)變化的異?,F象,經進一步完善驅動程序后,系統實現了與光編的正常通信,并能實時地顯示角度信息。
3.2.4 鍵盤驅動程序調試
鍵盤驅動程序是與應用程序的聯調,通過運行應用程序,獲取按鍵值的功能都在硬件平臺上實現。
3.2.5 OLED顯示屏驅動程序調試
OLED顯示屏驅動程序的調試是結合字庫函數編寫測試程序,其中使用OLED_ioctl()函數進行顯示中文或是英文字母的選擇,并且設定當前的輸出地址,接著使用OLED_write()函數將目標漢字或英文字母在字庫中對應的數組結構寫入OLED屏顯示RAM,測試結果說明OLED屏能夠正常顯示。
3.3 系統應用程序調試
為了驗證應用程序的可行性,編寫的應用程序先在PC104嵌入式控制器上調試,今后近一步完善后可以直接在ARM嵌入式控制器上運行。定位模塊中主要調試北斗通信,首先通過串口助手根據特定協議編寫的應用程序來模擬實現,之后與實際北斗設備進行通信,與北斗設備通信界面如圖4所示。
圖4 與北斗設備通信界面
同樣,定向模塊、測距模塊和發(fā)送模塊也都是先用相應的串口模擬軟件來模擬實現,再與實際的設備進行通信。通過對各個模塊的調試及其整個應用程序在PC104上聯調表明,整個軟件系統達到了預期的功能目標。
3.4 系統測角誤差測試
分別對系統未作電子校正和已作電子校正兩種情況進行測試,具體方法是系統在盤左位自上而下獲得幾組垂直讀數和水平讀數,接著盤右位自上而下對應位置獲得幾組垂直讀數和水平讀數,測試數據見表1和表2。
表1 系統未作電子補償水平誤差測試表
表2 系統已作電子補償水平誤差測試表
根據表中的數據可以看出當望遠鏡從垂直方向向水平方向轉動,轉動的角度越大即Z值越大,水平角的誤差就越小。對系統進行電子校正后,系統雖然還存在一定的誤差,但精度得到了很大的提高。
本文針對某測地儀器中的測控系統采集外設信息,分析處理測量的數據,并集中控制各設備的需求,從系統的整體設計考慮,實現了該系統控制器的硬件電路設計以及驅動程序開發(fā)。通過對嵌入式ARM平臺的應用實現系統控制器的設計,在功耗、成本控制、易用性、可靠性上優(yōu)于原PC104平臺的系統控制器,實現了系統控制器的小型化、集成化、智能化。同時嵌入式系統本身的可移植特點,使得只要根據系統的特殊要求,做較少的硬件改動即可應用到新的系統中。
針對現有系統外圍設備較多,接線關系復雜,通信協議繁多,系統的生產和維護都十分不便的缺點,本系統采用更為合理的CAN總線結構,簡便的鏈接各設備。該結構能夠達到控制層和現場總線設備層間實現數據傳輸的目的,一方面保證了信息的開放性以及可靠性,另一方面保證了傳輸信息的實時性。為了使系統的測角精度得到有效保證,采用電子補償裝置和專門的方法對系統的誤差進行校正和補償,在控制器中潛入了數據處理和信息融合技術,使得系統的測量誤差相對減少,而系統的可靠性得以增加。
[1] 張學珍,郭長和,姚化勝.淺析水準測量誤差來源及控制措施[J].科技資訊,2015(14):68-68.
[2] 孫艷崇.經緯儀視準軸誤差檢驗的幾種方法及其區(qū)別[J].價值工程,2014(3):70-71.
[3] 張 昊,崔永俊,沈三民,等.基于CAN總線的傳感器網絡設計[J].計算機測量與控制,2013,21(11).
[4] 王雪榮.全站儀三軸誤差檢驗探討分析[J].科技展望,2016,26(28).
[5] 陳 瑛,宋俊磊,王典洪.CAN總線在野外地震數據傳輸中的應用[J].電子技術應用,2013,39(9):34-37.
[6] 吳益飛,王志宏,陳孟馳,等.基于CAN總線的一體化角位置檢測裝置設計與實現[J].計算機測量與控制,2013,21(9):2365-2368.
[7] 韓 彬.一種基于CAN總線的高精有度角度變送器[J].現代電子技術,2014,37;419(12):103-106.
[8] 王旭東,朱蘊璞.基于ARM多處理器的CAN總線分布式控制系統設計[J].國外電子測量技術,2015(5):52-55.
Precision Engineering Measurement Instrument and Data Processing
Zhou Hongxia1, Liang Juan1, Yang Wenju2
(1.Department of energy and electrical engineering&XinJiang Industrial Vocational and Technical College,Urumqi 830022,China; 2.School of Mechatronics Engineering,Xinjiang Vocational University, Urumqi 830013,China)
According to the measurement and control system of collecting peripheral information in a measuring instrument, measuring data analysis and processing, and centralized control of the equipment needs to consider from the overall design of the system, the hardware circuit design of the system controller and driver development. At the same time, the application program of the system is designed according to the actual demand, and the angle error of the system is analyzed. In order to facilitate the operation and improve the measurement accuracy, the system of collimation axis tilt angle error, horizontal axis tilt and vertical axis tilt caused are analyzed, a mathematical model is set up and solved, while the use of electronic compensator and compensate the system.
ARM; CAN Bus; Linux; Angular error; Electronic compensator
2017-03-10;
2017-03-31。
周紅霞(1972-)女,甘肅武威人,講師,主要從事測量工程方向的研究。
1671-4598(2017)07-0320-05
10.16526/j.cnki.11-4762/tp.2017.07.080
TM417
A