張 楊, 李彬華, 程向明, 楊 磊, 張益恭
(1.昆明理工大學 信息工程與自動化學院,云南 昆明 650504;2.中國科學院 云南天文臺,云南 昆明 650216;3.中國科學院 天體結構與演化重點實驗室,云南 昆明 650216;4.中國科學院 天文大科學研究中心,北京 100012)
基于PMAC的角編碼器檢測控制系統*
張 楊1, 李彬華1, 程向明2,3,4, 楊 磊2,3,4, 張益恭2,3,4
(1.昆明理工大學 信息工程與自動化學院,云南 昆明 650504;2.中國科學院 云南天文臺,云南 昆明 650216;3.中國科學院 天體結構與演化重點實驗室,云南 昆明 650216;4.中國科學院 天文大科學研究中心,北京 100012)
光杠桿角編碼器檢測裝置用于角編碼器的誤差檢測,可提高天文望遠鏡的運動控制精度。該裝置需要較高精度的轉動控制,并實現自動檢測。根據該檢測裝置的功能要求,以可編程多軸運動控制器(PMAC)為核心,設計了角編碼器檢測裝置的控制系統,搭建了控制系統的硬件平臺,編寫了控制系統的應用軟件,實現了CCD曝光與碼盤數據采集的同步。實驗結果表明:該裝置轉臺的重復定位誤差絕對值小于4″,滿足角編碼器檢測系統的要求。
運動控制; 可編程多軸運動控制器; 角度檢測; 程序設計; 角編碼器
現代天文望遠鏡需要借助角編碼器實現高精度的運動控制,隨著天文觀測要求的提高以及天文技術的進步,對于應用在天文望遠鏡中的角編碼器也提出了更高的精度要求[1,2],為了獲得高精度的測角數據,需要對角編碼器進行檢測與校正[3]。在國家自然科學基金的資助下,云南天文臺設計了一種采用光杠桿方法檢測角編碼器的裝置,通過多次小角度的測量實現整周角度檢測。采用自動化的轉臺控制技術和CCD圖像采集技術可顯著提高檢測效率[4]。
該裝置的核心是一個雙軸轉臺,兩個轉軸需要在控制系統的作用下按照特定次序依次轉動,此外,控制系統還需要完成相機曝光和角編碼器數據采集的同步。運動控制系統經過不斷發展演變,功能越來越強大,其硬件核心從最初的單片機逐步發展到可編程邏輯控制器(PLC)再到數字信號處理器(DSP)以及現場可編程門陣列(FPGA),控制能力從單軸逐步發展到多軸,系統集成度越來越高,運算速度越來越快,擴展性越來越好[5]。
根據云南天文臺角編碼器檢測裝置的要求,本文設計了一個雙軸高精度轉臺控制系統,其運動控制系統基于Delta Tau公司的可編程多軸運動控制器(programmable multi-axis motion controller,PMAC)卡構建,基于PMAC實現了角編碼器數據采集和CCD曝光的同步。
云南天文臺角編碼器檢測裝置采用雙軸形式的轉臺,上下兩個轉軸的軸線重合,用兩個步進電機分別控制其轉動。實物以及結構如圖1所示。

圖1 檢測裝置的實物與結構圖
該檢測裝置的轉臺是兩個步進電機驅動的蝸輪蝸桿轉臺,其傳動比分別為180和90,步進電機的型號為42BYG250CⅡ,角距為1.8°。待測角編碼器為雷尼紹(RENISHAW)52 mm絕對式環形光柵。
角編碼器檢測控制系統的設計要求如下:1)能夠自動完成整周檢測,其間不需要人工干預;2)可設置的檢測參數包括:單步檢測角度、單步檢測圖像數、檢測數據保存路徑等;3)具備轉臺控制調試所需的基本功能:轉速調節、定點轉動、增量轉動、零點設置及保存、自動恢復零點等;4)實時采集并顯示轉臺轉角、速度等信息;5)實時采集并顯示角編碼器的轉角讀數;6)設置轉臺限位,限位范圍為-1°~361°,且可方便取消及恢復限位;7)能夠給CCD相機發送曝光脈沖,脈沖頻率及數目可調,并能夠同步采集角編碼器讀數;8)下轉臺重復定位誤差絕對值小于4"。
針對上述要求,并結合檢測裝置轉臺電機的情況,選用了型號為DM400的雷賽步進電機驅動器。另外,由于美國Delta Tau公司的PMAC卡具有強大的運動控制能力和豐富的可擴展性[6]。選擇了以PMAC為核心來構建運動控制系統。
硬件系統以PMAC運動控制器為核心,本系統選用的具體型號為Turbo PMAC2-Eth-lite控制器(clipper)。它功能強大而且結構緊湊,可同時處理8軸的計算,具有100 Mbps以太網接口并內嵌了PID/陷波/前饋伺服算法的功能。高速響應性和高精度位置控制使其可用于絕大部分高精度運動控制的場合,比如高精度轉臺控制或者天文望遠鏡控制等[2,7]。此外,基于PMAC卡的I/O擴展設備和運動寄存器,可以方便地實現數據的實時采集[8]。
2.1 硬件系統結構
檢測控制系統的硬件結構如圖2所示,該系統主要由PMAC運動控制單元(包括Clipper卡、附件卡和轉接板)、轉臺(含電機)、步進電機驅動器、光柵角編碼器數據采集單元(包括光柵角編碼器和讀數頭)和CCD相機等組成。工作站作為控制系統的上位機,由其完成檢測系統控制的人機交互及數據采集。PMAC控制器是控制系統的下位機,主要負責轉臺的運動控制、編碼器數據采集與轉發,以及圖像數據采集的控制。

圖2 角編碼器檢測控制系統結構圖
2.2 硬件參數配置
硬件系統搭建完成后還需要對PMAC卡進行參數配置,參數配置主要包括:脈沖+方向信號參數配置、I/0端口參數配置和讀數頭通信協議參數配置。
步進電機的脈沖加方向控制模式可通過PMAC自帶的全數字脈沖頻率調制(PFM)電路實現,其信號通過轉接板DTC—8B的1#,2#軸分別控制上轉臺和下轉臺。為了獲取這一信號,PMAC必須正確設置相關的I變量才能使PFM電路正常工作。這里需設置I7016=3,作用是設置第一個通道輸出模式為PFM。
為了實現CCD相機的圖像數據采集控制,選擇PMAC提供的通用數字輸入輸出端口(J9),該接口包括8組輸出/入端口(MO1~MO8,MI1~MI8)和1組+5 V供電端。選擇其中一組輸出端口MO1用于發送外部觸發脈沖信號。ACC—84S通過32位絕對式讀數頭將光柵數據反饋給Clipper卡,它采用BISSC通信協議方式與Clipper卡通信。本系統的兩個讀數頭采用對稱安裝的方式,用于消減轉軸的偏心誤差。
此外,PMAC提供了固化在DSP中的完整的PID控制算法,其PID參數整定的過程,采用本文作者以前的做法[7],在此不作贅述。
本控制系統的軟件需要將硬件系統的各個組成部分有機地聯系起來,按照系統的設計要求,開發出相應的功能模塊,并協調相互之間的邏輯關系,還需要提供友好的人機交互界面。在上位機軟件中還需要正確地設置與下位機通信的方式。如前所述,本系統的上位機軟件采用VC++語言編寫。
3.1 軟件主要功能設計
本系統在VS2010應用平臺上采用MFC開發了上位機軟件。上位機軟件界面如圖4所示,它主要分為上、下轉臺基本功能模式、N-1檢測功能模式和光柵數據模塊。

圖3 上位機軟件界面
該控制界面實現了儀器所需的功能,主要由6個功能模塊來完成:1)基本功能模塊:實現電機(轉臺)的轉動操作(包括增量轉動、定點轉動及停止)、回零、調速、關閉電機以及退出程序等功能。2)零點位置模塊:保存當前位置為電機的零點位置信息,并可恢復轉臺零點。3)轉臺狀態模塊:上、下轉臺的實時位置、速度、跟隨誤差信息顯示。4)N-1檢測模式:選擇下轉臺每步轉動的角度,當下轉臺轉動相應角度后,上轉臺相對于下轉臺回轉相同角度。該模塊可完成角編碼器的自動檢測。5)同步模塊:實現相機曝光控制和光柵數據采集的同步。6)實時顯示和保存模塊:實現光柵數據實時顯示及保存,設置光柵當前位置為零位以及讀取光柵的絕對位置。
對于系統的安全功能方面也做了相應的設計。對電機設置了雙重軟限位。首先是下位機限位,通過I113和I114變量分別設置轉臺正向限位為361°和轉臺負限位為-1°。其次是上位機程序限位,當上位機檢測出轉臺到了限位或者程序發生錯誤,上位機會發出Kill命令,停止電機運行。
3.2 上位機軟件流程
按角編碼器檢測控制系統的設計要求,控制軟件的主要任務是:上位機根據用戶需要的角度轉動轉臺,記錄碼盤數據和CCD光斑位置。隨后下轉臺相對于上轉臺往反方向轉動相同角度,再次記錄碼盤數據和CCD光斑位置,隨后轉臺進行下一角度的檢測。據此給出控制系統的檢測流程圖如4所示。

圖4 系統主流程圖
3.3 與PMAC通信的編程接口函數
PMAC卡為用戶提供了與PC通信的接口—PComm32Pro通信驅動程序,它是在Windows下創建的開發工具,有400多個功能函數可用于設定和使用[9]。為了使上、下位機成功通信,必須在上位機操作系統上預先安裝Pewin 32驅動程序,安裝調試好動態鏈接庫,使Clipper卡在該操作環境下完成注冊。
在VS2010的開發平臺下調用動態鏈接庫可以完成角編碼器檢測系統的操作界面和控制功能。常用的函數有PmacRemoveDownloadFile(),PmacGet-Response(),PmacSendLine()。如PmacSendLine()函數可通過上位機在線發送命令字符串給Clipper卡。
3.4 CCD曝光與角編碼器數據采集的同步
根據設計要求,需要實現CCD相機曝光與角編碼器數據采集的同步。如果采用“上位機發出曝光脈沖命令后再執行位置數據采集”的方式,由于上位機延遲的不確定性,可能導致十幾個毫秒到幾百個毫秒不等的不同步,所以,需要設計更加精準的方式來實現同步功能。
由于PMAC卡下位機具有運算速度快,且獨占運算線程的優勢,PLC程序在每次發出觸發脈沖時,由于脈沖寬度約為0.5 ms,所以,可利用這段時間由下位機緩存記錄此時的角編碼器數據,在觸發完成后由上位機保存,從而實現CCD曝光與角編碼器數據采集的同步。
由于本運動控制系統主要針對下轉臺的控制精度提出了較高的要求,所以測試只針對下轉臺。根據測試要求編寫了特定的測試程序,由測試程序控制轉臺往返轉動5圈,轉動步長為5°,每步間隔5 s用于角度數據采集。轉臺轉動360°后反向轉動,回到原位置即為一圈。以2個讀數頭采集的方位角位置數據的均值作為碼盤實測方位角位置。共10組數據,求出后9組數據與第一組相應數據之差作圖,得到的下轉臺重復定位誤差,結果如圖5所示。

圖5 轉臺重復定位誤差
測試結果表明:下轉臺各個測試點的重復轉動定位誤差在±4″以內。誤差的均值為0.011 9″;標準差為0.857 1″;重復誤差的均方根值為為0.856 9″。系統控制性能滿足設計要求。
本文從硬件、軟件兩方面介紹了基于PMAC的角編碼器檢測控制系統。硬件方面,以PMAC控制器為核心,利用步進電機驅動器控制步進電機實現轉臺轉動。軟件方面,按照系統控制要求設計了控制軟件及界面,并實現了CCD曝光和角編碼器光柵讀數頭數據采集的同步。經實測,重復定位誤差在±4″以內,滿足角編碼器檢測系統的控制要求。目前,該控制系統已經投入使用,為光機電系統聯調和角編碼器件的檢測奠定了基礎。
[1] 程景全.天文望遠鏡原理和設計[M].北京:中國科學技術出版社,2003.
[2] 黃 壘,魏建彥,姜曉軍,等.基于PMAC的天文望遠鏡控制系統研究及應用[J].天文研究與技術,2015(1):44-53.
[3] 于 海,萬秋華,王樹潔,等.光電軸角編碼器誤差檢測技術的發展動態[J].光電子技術,2013(3):145-150.
[4] 程向明,張益恭,趙志軍,等.基于光杠桿的測角器件檢定方法:中國, 201310004883.9[P].2013—01—07.
[5] 郗志剛,周宏甫.運動控制器的發展與現狀[J].電氣傳動自動化,2005(3):10-14.
[6] Delta Tau Data System Incorporated.Turbo PMAC /PMAC2 software reference manual[EB/OL]. http:∥www.deltatau-china.com/,2010.
[7] 葉 劍,李彬華,程向明,等.新型等高儀轉臺運動控制系統設計[J].光學技術,2015(2):171-176,180.
[8] 羅 鈞,馬先德,劉學明,等.基于光柵傳感器的三坐標數據采集系統研究[J].傳感器與微系統,2010,29(4):38-40.
[9] Delta Tau Data System Incorporated.Pcomm32 PRO software reference manual[EB/OL].http:∥www.deltatau-china.com/files/zlxz/PCOMM32-PRO.pdf.2010.
PMAC-based control system for error detection of angular encoders*
ZHANG Yang1, LI Bin-hua1, CHENG Xiang-ming2,3,4, YANG Lei2,3,4, ZHANG Yi-gong2,3,4
(1.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China; 2.Yunnan Observatory,Chinese Academy of Sciences,Kunming 650216,China; 3.Key Laboratory for the Structure and Evolution of Celestial Objects,Chinese Academy of Sciences,Kunming 650216,China; 4.Center for Astronomical Mega-Science,Chinese Academy of Sciences,Beijing 100012,China)
The light lever detector can be used to detect error of angular encoder so as to improve precision of motion control of astronomical telescope.The device needs to achieve high precision of rotation control and automatic detection.According to the functional requirements of the detecting device,the control system of the angle encoder detection device is designed based on the programmable multi-axis motion controller(PMAC),hardware platform of the system is built,and the application software of the control system is compiled,and the synchronous between the CCD camera and data acquisition and exposure the encoder is implemented.Experimental results indicate that absolute value of repetitive positioning error of the turntable is less than 4″,which meet the requirements of the encoder detection system.
motion control; programmable multi-axis motion controller(PMAC); angle detection; programming; design angular encoder
10.13873/J.1000—9787(2017)03—0087—04
2017—01—16
國家自然科學基金委員會—中國科學院天文聯合基金資助項目(U1331109)
TP 212
A
1000—9787(2017)03—0087—04
張 楊(1989-),男,碩士研究生,主要研究方向為高精度運動控制系統設計與實現。
程向明(1977-),男,通訊作者,碩士,高級工程師,碩士生導師,主要從事天文技術與方法方面的研究工作,E—mail:cxm@ynao.ac.cn。