周會達
(南京江寧中等專業學校,江蘇南京,211110)
基于RTLinux的高精度角位置測量系統設計與實現
周會達
(南京江寧中等專業學校,江蘇南京,211110)
根據雙通道測角系統粗精耦合的原理,在RTLinux嵌入式系統中對旋轉變壓器和感應同步器兩種測量傳感器經變換輸出的數字信號進行耦合處理,并對耦合后信號的進行補償處理,實現角位置的高精度測量。
RTLinux;AD2S80A;角位置;測量系統
基于RTlinux和AD2S80A的角位置測量系統選用旋轉變壓器和感應同步器為傳感器。首先由旋轉變壓器測量1周內的粗角位置信號,由感應同步器測量1度內的高精度角位置信號。其次,利用AD2S80A軸角變換器將兩種測量傳感器輸出的模擬信號轉換為相應的數字信號。最后,根據雙通道測角系統粗精耦合的原理,在RTLinux中通過對信號的耦合和補償處理,實現1周內的高精度角位置信號測量。
基于RTlinux和AD2S80A的角位置測量系統主要包括旋轉變壓器、感應同步器、AD2S80A軸角變換器、接口轉換電路和RTlinux嵌入式處理平臺,它們之間的基本關系如圖1所示。

圖1 測量系統組成框圖
從圖1中可以看出,該測量系統首先由旋轉變壓器和感應同步器將角位置變化信號轉換為不同的模擬電信號,受限于傳感器的工作原理,這種信號不能直接表示為對應的數字信號。因此,在測量系統中的第二個部分選用由美國AD公司生產的AD2S80A軸角變換器對傳感器輸出的信號進行處理。這是一款針對旋轉變壓器和感應同步器輸出信號處理的專用芯片,一方面,它對旋轉變壓器和感應同步器輸出信號的波形失真、幅值穩定度等技術指標要求不高,有利于實現精確測角;另一方面,它的輸出信號更新速度很快(為微秒級),有利于提高數字控制方案的采樣頻率,由它處理后輸出的數字信號可以直接與通用的數字通訊接口或微處理器接口相連。考慮實際使用的RTlinux是一款基于PC的嵌入式操作系統,選用一款PCI插槽的I/O板卡采集相應的數字信號;為了節約板卡資源,降低系統成本,在AD2S80A 芯片和RTLinux嵌入式處理平臺之間添加了一塊接口轉換板。由于制造工藝的不同,旋轉變壓器輸出的電信號表示的角位置范圍大、精度低;感應同步器輸出的電信號表示的角位置范圍較小、精度高。它們中的任意一個都不能同時滿足系統高精度、絕對編碼的要求。因此,在RTlinux處理的過程中,首先需要對采集到兩路信號進行耦合處理,再根據外界基準對耦合后的信號進行補償,以消除系統機械安裝、電磁干擾等造成的測量誤差,提高測量的精度。
根據這種測量系統的組成和基本原理,在設計時可以分為硬件電路和軟件算法兩個部分。這里以某飛行姿態雙軸仿真轉臺測量系統為對象對測量系統進行設計,并給出相關的電路圖和軟件流程。
2.1測量系統的硬件電路設計
測量系統硬件電路的設計主要包括旋轉變壓器和感應同步器工作需要的激磁電路設計、AD2S80A的外圍電路設計和簡單的接口外擴電路三個部分。這里首先對硬件的通訊接口進行分析,再分別簡單介紹各個部分的電路設計。
激磁電路在設計時,先用5MHz晶振產生基波信號,再利用兩個分頻芯片CC4020和CC4017將信號轉換為AD2S80A期望的2KHz信號。AD2S80A的外圍電路設計時,主要按照AD2S80A數據手冊中的典型應用配置具體參數。接口外擴電路只需要AD2S80A 外圍電路板中加入一個DB25針的插座即可,這是由于AD2S80A輸出單元自帶鎖存寄存器,在AD2S80A外圍電路板設計時,通過板內走線的方式將對應的信號連接起來就實現了端口復用的功能。
根據測量系統的組成和工作原理,設計時選用兩片AD2S80A軸角變換器分別對旋轉變壓器和感應同步器輸出的信號進行處理。為了滿足用戶不同的設計要求,AD2S80A提供10bit、12bit、14bit和16bit四種輸出分辨率工作方式,由SC1和SC2管腳確定,輸出的接口總是為16bit。顯然,如果不加處理,單片AD2S80A就要占用板卡16位I/O端口,為滿足測量系統接口需要選擇一塊I/O為32位的板卡。為了充分利用系統資源,節省開發成本,在不影響系統功能的前提下,可以采用端口分時復用的方法,即所有2片AD2S80SA輸出信號共用一個16位I/O端口,由另外2位I/O端口負責分時選通相應的測角芯片。這樣,完成RTlinux嵌入式平臺與AD2S80A之間的數據采集就只需18位I/ O端口,一塊I/O為24位的板卡就可以滿足系統要求,實際系統中選擇臺灣泓格公司生產的PIO-D24。
2.2測量系統的軟件設計
測量系統的軟件功能主要包括兩個端口的數據采集、粗精耦合和耦合后的誤差補償三個部分。在RTlinux系統中首先用創建一個周期為1ms的周期進程,在該進程中每次都要完成一次數據采集、耦合和誤差補償的處理過程。由泓格公司生產的PIO-D24 I/O板卡寄存器地址與PC機內存地址之間是固定不變的關系,且該板卡是以字節為單位對數據進行存取操作。數據采集時,只需調用RTLinux內核下的inb()函數就能完成數據的采集。具體的流程如圖2所示。

圖2 粗精耦合和補償流程圖
選用23面棱體和自準直光管對以上設計的測量系統進行檢測。檢測的結果如圖3所示。圖中的虛線表示補償前的誤差曲線,圖中的點劃線表示補償后的誤差曲線。從圖中可以看出,補償前這種測量系統的精度在峰-峰12”左右,補償后系統的精度在±2.5’以內,充分說明這種測量系統能夠實現±2.5’以內的精度。

圖3 誤差補償曲線圖
基于RTLinux和AD2S80A的角位置測量系統,選用旋轉變壓器和感應同步器作為測量系統中的粗測和精測傳感器。利用AD2S80A軸角變換器對傳感器輸出的信號進行處理,并通過RTLinux嵌入式處理平臺對AD2S80A處理后的信號進行耦合和補償處理,最終實現角位置的高精度測量。
[1]姜復興,龐志成.慣導測試設備原理與設計[M].哈爾濱工業大學出版社,1998(2):208-216.
[2]鄒思軼.嵌入式Linux設計與應用[M].清華大學出版社,2002:5-6.
Design and implementation of high accuracy angular position measurement system based on RTLinux
Zhou Huida
(Jiangning Nanjing secondary specialized school,Nanjing Jiangsu,211110)
According to the principle of double channel angle measuring system of coarse and fine coupling,in RTLinux embedded system of resolver and inductosyn two sensor by change the output digital signal coupling treatment,and for coupling signal to compensate,angular position of high precision measurement.
RTLinux;AD2S80A;angular position;measurement system