張 楊, 李彬華, 程向明, 楊 磊, 張益恭
(1.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650504;2.中國(guó)科學(xué)院 云南天文臺(tái),云南 昆明 650216;3.中國(guó)科學(xué)院 天體結(jié)構(gòu)與演化重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650216;4.中國(guó)科學(xué)院 天文大科學(xué)研究中心,北京 100012)
基于PMAC的角編碼器檢測(cè)控制系統(tǒng)*
張 楊1, 李彬華1, 程向明2,3,4, 楊 磊2,3,4, 張益恭2,3,4
(1.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650504;2.中國(guó)科學(xué)院 云南天文臺(tái),云南 昆明 650216;3.中國(guó)科學(xué)院 天體結(jié)構(gòu)與演化重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650216;4.中國(guó)科學(xué)院 天文大科學(xué)研究中心,北京 100012)
光杠桿角編碼器檢測(cè)裝置用于角編碼器的誤差檢測(cè),可提高天文望遠(yuǎn)鏡的運(yùn)動(dòng)控制精度。該裝置需要較高精度的轉(zhuǎn)動(dòng)控制,并實(shí)現(xiàn)自動(dòng)檢測(cè)。根據(jù)該檢測(cè)裝置的功能要求,以可編程多軸運(yùn)動(dòng)控制器(PMAC)為核心,設(shè)計(jì)了角編碼器檢測(cè)裝置的控制系統(tǒng),搭建了控制系統(tǒng)的硬件平臺(tái),編寫了控制系統(tǒng)的應(yīng)用軟件,實(shí)現(xiàn)了CCD曝光與碼盤數(shù)據(jù)采集的同步。實(shí)驗(yàn)結(jié)果表明:該裝置轉(zhuǎn)臺(tái)的重復(fù)定位誤差絕對(duì)值小于4″,滿足角編碼器檢測(cè)系統(tǒng)的要求。
運(yùn)動(dòng)控制; 可編程多軸運(yùn)動(dòng)控制器; 角度檢測(cè); 程序設(shè)計(jì); 角編碼器
現(xiàn)代天文望遠(yuǎn)鏡需要借助角編碼器實(shí)現(xiàn)高精度的運(yùn)動(dòng)控制,隨著天文觀測(cè)要求的提高以及天文技術(shù)的進(jìn)步,對(duì)于應(yīng)用在天文望遠(yuǎn)鏡中的角編碼器也提出了更高的精度要求[1,2],為了獲得高精度的測(cè)角數(shù)據(jù),需要對(duì)角編碼器進(jìn)行檢測(cè)與校正[3]。在國(guó)家自然科學(xué)基金的資助下,云南天文臺(tái)設(shè)計(jì)了一種采用光杠桿方法檢測(cè)角編碼器的裝置,通過多次小角度的測(cè)量實(shí)現(xiàn)整周角度檢測(cè)。采用自動(dòng)化的轉(zhuǎn)臺(tái)控制技術(shù)和CCD圖像采集技術(shù)可顯著提高檢測(cè)效率[4]。
該裝置的核心是一個(gè)雙軸轉(zhuǎn)臺(tái),兩個(gè)轉(zhuǎn)軸需要在控制系統(tǒng)的作用下按照特定次序依次轉(zhuǎn)動(dòng),此外,控制系統(tǒng)還需要完成相機(jī)曝光和角編碼器數(shù)據(jù)采集的同步。運(yùn)動(dòng)控制系統(tǒng)經(jīng)過不斷發(fā)展演變,功能越來越強(qiáng)大,其硬件核心從最初的單片機(jī)逐步發(fā)展到可編程邏輯控制器(PLC)再到數(shù)字信號(hào)處理器(DSP)以及現(xiàn)場(chǎng)可編程門陣列(FPGA),控制能力從單軸逐步發(fā)展到多軸,系統(tǒng)集成度越來越高,運(yùn)算速度越來越快,擴(kuò)展性越來越好[5]。
根據(jù)云南天文臺(tái)角編碼器檢測(cè)裝置的要求,本文設(shè)計(jì)了一個(gè)雙軸高精度轉(zhuǎn)臺(tái)控制系統(tǒng),其運(yùn)動(dòng)控制系統(tǒng)基于Delta Tau公司的可編程多軸運(yùn)動(dòng)控制器(programmable multi-axis motion controller,PMAC)卡構(gòu)建,基于PMAC實(shí)現(xiàn)了角編碼器數(shù)據(jù)采集和CCD曝光的同步。
云南天文臺(tái)角編碼器檢測(cè)裝置采用雙軸形式的轉(zhuǎn)臺(tái),上下兩個(gè)轉(zhuǎn)軸的軸線重合,用兩個(gè)步進(jìn)電機(jī)分別控制其轉(zhuǎn)動(dòng)。實(shí)物以及結(jié)構(gòu)如圖1所示。
圖1 檢測(cè)裝置的實(shí)物與結(jié)構(gòu)圖
該檢測(cè)裝置的轉(zhuǎn)臺(tái)是兩個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)的蝸輪蝸桿轉(zhuǎn)臺(tái),其傳動(dòng)比分別為180和90,步進(jìn)電機(jī)的型號(hào)為42BYG250CⅡ,角距為1.8°。待測(cè)角編碼器為雷尼紹(RENISHAW)52 mm絕對(duì)式環(huán)形光柵。
角編碼器檢測(cè)控制系統(tǒng)的設(shè)計(jì)要求如下:1)能夠自動(dòng)完成整周檢測(cè),其間不需要人工干預(yù);2)可設(shè)置的檢測(cè)參數(shù)包括:?jiǎn)尾綑z測(cè)角度、單步檢測(cè)圖像數(shù)、檢測(cè)數(shù)據(jù)保存路徑等;3)具備轉(zhuǎn)臺(tái)控制調(diào)試所需的基本功能:轉(zhuǎn)速調(diào)節(jié)、定點(diǎn)轉(zhuǎn)動(dòng)、增量轉(zhuǎn)動(dòng)、零點(diǎn)設(shè)置及保存、自動(dòng)恢復(fù)零點(diǎn)等;4)實(shí)時(shí)采集并顯示轉(zhuǎn)臺(tái)轉(zhuǎn)角、速度等信息;5)實(shí)時(shí)采集并顯示角編碼器的轉(zhuǎn)角讀數(shù);6)設(shè)置轉(zhuǎn)臺(tái)限位,限位范圍為-1°~361°,且可方便取消及恢復(fù)限位;7)能夠給CCD相機(jī)發(fā)送曝光脈沖,脈沖頻率及數(shù)目可調(diào),并能夠同步采集角編碼器讀數(shù);8)下轉(zhuǎn)臺(tái)重復(fù)定位誤差絕對(duì)值小于4"。
針對(duì)上述要求,并結(jié)合檢測(cè)裝置轉(zhuǎn)臺(tái)電機(jī)的情況,選用了型號(hào)為DM400的雷賽步進(jìn)電機(jī)驅(qū)動(dòng)器。另外,由于美國(guó)Delta Tau公司的PMAC卡具有強(qiáng)大的運(yùn)動(dòng)控制能力和豐富的可擴(kuò)展性[6]。選擇了以PMAC為核心來構(gòu)建運(yùn)動(dòng)控制系統(tǒng)。
硬件系統(tǒng)以PMAC運(yùn)動(dòng)控制器為核心,本系統(tǒng)選用的具體型號(hào)為Turbo PMAC2-Eth-lite控制器(clipper)。它功能強(qiáng)大而且結(jié)構(gòu)緊湊,可同時(shí)處理8軸的計(jì)算,具有100 Mbps以太網(wǎng)接口并內(nèi)嵌了PID/陷波/前饋伺服算法的功能。高速響應(yīng)性和高精度位置控制使其可用于絕大部分高精度運(yùn)動(dòng)控制的場(chǎng)合,比如高精度轉(zhuǎn)臺(tái)控制或者天文望遠(yuǎn)鏡控制等[2,7]。此外,基于PMAC卡的I/O擴(kuò)展設(shè)備和運(yùn)動(dòng)寄存器,可以方便地實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)采集[8]。
2.1 硬件系統(tǒng)結(jié)構(gòu)
檢測(cè)控制系統(tǒng)的硬件結(jié)構(gòu)如圖2所示,該系統(tǒng)主要由PMAC運(yùn)動(dòng)控制單元(包括Clipper卡、附件卡和轉(zhuǎn)接板)、轉(zhuǎn)臺(tái)(含電機(jī))、步進(jìn)電機(jī)驅(qū)動(dòng)器、光柵角編碼器數(shù)據(jù)采集單元(包括光柵角編碼器和讀數(shù)頭)和CCD相機(jī)等組成。工作站作為控制系統(tǒng)的上位機(jī),由其完成檢測(cè)系統(tǒng)控制的人機(jī)交互及數(shù)據(jù)采集。PMAC控制器是控制系統(tǒng)的下位機(jī),主要負(fù)責(zé)轉(zhuǎn)臺(tái)的運(yùn)動(dòng)控制、編碼器數(shù)據(jù)采集與轉(zhuǎn)發(fā),以及圖像數(shù)據(jù)采集的控制。
圖2 角編碼器檢測(cè)控制系統(tǒng)結(jié)構(gòu)圖
2.2 硬件參數(shù)配置
硬件系統(tǒng)搭建完成后還需要對(duì)PMAC卡進(jìn)行參數(shù)配置,參數(shù)配置主要包括:脈沖+方向信號(hào)參數(shù)配置、I/0端口參數(shù)配置和讀數(shù)頭通信協(xié)議參數(shù)配置。
步進(jìn)電機(jī)的脈沖加方向控制模式可通過PMAC自帶的全數(shù)字脈沖頻率調(diào)制(PFM)電路實(shí)現(xiàn),其信號(hào)通過轉(zhuǎn)接板DTC—8B的1#,2#軸分別控制上轉(zhuǎn)臺(tái)和下轉(zhuǎn)臺(tái)。為了獲取這一信號(hào),PMAC必須正確設(shè)置相關(guān)的I變量才能使PFM電路正常工作。這里需設(shè)置I7016=3,作用是設(shè)置第一個(gè)通道輸出模式為PFM。
為了實(shí)現(xiàn)CCD相機(jī)的圖像數(shù)據(jù)采集控制,選擇PMAC提供的通用數(shù)字輸入輸出端口(J9),該接口包括8組輸出/入端口(MO1~MO8,MI1~MI8)和1組+5 V供電端。選擇其中一組輸出端口MO1用于發(fā)送外部觸發(fā)脈沖信號(hào)。ACC—84S通過32位絕對(duì)式讀數(shù)頭將光柵數(shù)據(jù)反饋給Clipper卡,它采用BISSC通信協(xié)議方式與Clipper卡通信。本系統(tǒng)的兩個(gè)讀數(shù)頭采用對(duì)稱安裝的方式,用于消減轉(zhuǎn)軸的偏心誤差。
此外,PMAC提供了固化在DSP中的完整的PID控制算法,其PID參數(shù)整定的過程,采用本文作者以前的做法[7],在此不作贅述。
本控制系統(tǒng)的軟件需要將硬件系統(tǒng)的各個(gè)組成部分有機(jī)地聯(lián)系起來,按照系統(tǒng)的設(shè)計(jì)要求,開發(fā)出相應(yīng)的功能模塊,并協(xié)調(diào)相互之間的邏輯關(guān)系,還需要提供友好的人機(jī)交互界面。在上位機(jī)軟件中還需要正確地設(shè)置與下位機(jī)通信的方式。如前所述,本系統(tǒng)的上位機(jī)軟件采用VC++語言編寫。
3.1 軟件主要功能設(shè)計(jì)
本系統(tǒng)在VS2010應(yīng)用平臺(tái)上采用MFC開發(fā)了上位機(jī)軟件。上位機(jī)軟件界面如圖4所示,它主要分為上、下轉(zhuǎn)臺(tái)基本功能模式、N-1檢測(cè)功能模式和光柵數(shù)據(jù)模塊。
圖3 上位機(jī)軟件界面
該控制界面實(shí)現(xiàn)了儀器所需的功能,主要由6個(gè)功能模塊來完成:1)基本功能模塊:實(shí)現(xiàn)電機(jī)(轉(zhuǎn)臺(tái))的轉(zhuǎn)動(dòng)操作(包括增量轉(zhuǎn)動(dòng)、定點(diǎn)轉(zhuǎn)動(dòng)及停止)、回零、調(diào)速、關(guān)閉電機(jī)以及退出程序等功能。2)零點(diǎn)位置模塊:保存當(dāng)前位置為電機(jī)的零點(diǎn)位置信息,并可恢復(fù)轉(zhuǎn)臺(tái)零點(diǎn)。3)轉(zhuǎn)臺(tái)狀態(tài)模塊:上、下轉(zhuǎn)臺(tái)的實(shí)時(shí)位置、速度、跟隨誤差信息顯示。4)N-1檢測(cè)模式:選擇下轉(zhuǎn)臺(tái)每步轉(zhuǎn)動(dòng)的角度,當(dāng)下轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)相應(yīng)角度后,上轉(zhuǎn)臺(tái)相對(duì)于下轉(zhuǎn)臺(tái)回轉(zhuǎn)相同角度。該模塊可完成角編碼器的自動(dòng)檢測(cè)。5)同步模塊:實(shí)現(xiàn)相機(jī)曝光控制和光柵數(shù)據(jù)采集的同步。6)實(shí)時(shí)顯示和保存模塊:實(shí)現(xiàn)光柵數(shù)據(jù)實(shí)時(shí)顯示及保存,設(shè)置光柵當(dāng)前位置為零位以及讀取光柵的絕對(duì)位置。
對(duì)于系統(tǒng)的安全功能方面也做了相應(yīng)的設(shè)計(jì)。對(duì)電機(jī)設(shè)置了雙重軟限位。首先是下位機(jī)限位,通過I113和I114變量分別設(shè)置轉(zhuǎn)臺(tái)正向限位為361°和轉(zhuǎn)臺(tái)負(fù)限位為-1°。其次是上位機(jī)程序限位,當(dāng)上位機(jī)檢測(cè)出轉(zhuǎn)臺(tái)到了限位或者程序發(fā)生錯(cuò)誤,上位機(jī)會(huì)發(fā)出Kill命令,停止電機(jī)運(yùn)行。
3.2 上位機(jī)軟件流程
按角編碼器檢測(cè)控制系統(tǒng)的設(shè)計(jì)要求,控制軟件的主要任務(wù)是:上位機(jī)根據(jù)用戶需要的角度轉(zhuǎn)動(dòng)轉(zhuǎn)臺(tái),記錄碼盤數(shù)據(jù)和CCD光斑位置。隨后下轉(zhuǎn)臺(tái)相對(duì)于上轉(zhuǎn)臺(tái)往反方向轉(zhuǎn)動(dòng)相同角度,再次記錄碼盤數(shù)據(jù)和CCD光斑位置,隨后轉(zhuǎn)臺(tái)進(jìn)行下一角度的檢測(cè)。據(jù)此給出控制系統(tǒng)的檢測(cè)流程圖如4所示。
圖4 系統(tǒng)主流程圖
3.3 與PMAC通信的編程接口函數(shù)
PMAC卡為用戶提供了與PC通信的接口—PComm32Pro通信驅(qū)動(dòng)程序,它是在Windows下創(chuàng)建的開發(fā)工具,有400多個(gè)功能函數(shù)可用于設(shè)定和使用[9]。為了使上、下位機(jī)成功通信,必須在上位機(jī)操作系統(tǒng)上預(yù)先安裝Pewin 32驅(qū)動(dòng)程序,安裝調(diào)試好動(dòng)態(tài)鏈接庫,使Clipper卡在該操作環(huán)境下完成注冊(cè)。
在VS2010的開發(fā)平臺(tái)下調(diào)用動(dòng)態(tài)鏈接庫可以完成角編碼器檢測(cè)系統(tǒng)的操作界面和控制功能。常用的函數(shù)有PmacRemoveDownloadFile(),PmacGet-Response(),PmacSendLine()。如PmacSendLine()函數(shù)可通過上位機(jī)在線發(fā)送命令字符串給Clipper卡。
3.4 CCD曝光與角編碼器數(shù)據(jù)采集的同步
根據(jù)設(shè)計(jì)要求,需要實(shí)現(xiàn)CCD相機(jī)曝光與角編碼器數(shù)據(jù)采集的同步。如果采用“上位機(jī)發(fā)出曝光脈沖命令后再執(zhí)行位置數(shù)據(jù)采集”的方式,由于上位機(jī)延遲的不確定性,可能導(dǎo)致十幾個(gè)毫秒到幾百個(gè)毫秒不等的不同步,所以,需要設(shè)計(jì)更加精準(zhǔn)的方式來實(shí)現(xiàn)同步功能。
由于PMAC卡下位機(jī)具有運(yùn)算速度快,且獨(dú)占運(yùn)算線程的優(yōu)勢(shì),PLC程序在每次發(fā)出觸發(fā)脈沖時(shí),由于脈沖寬度約為0.5 ms,所以,可利用這段時(shí)間由下位機(jī)緩存記錄此時(shí)的角編碼器數(shù)據(jù),在觸發(fā)完成后由上位機(jī)保存,從而實(shí)現(xiàn)CCD曝光與角編碼器數(shù)據(jù)采集的同步。
由于本運(yùn)動(dòng)控制系統(tǒng)主要針對(duì)下轉(zhuǎn)臺(tái)的控制精度提出了較高的要求,所以測(cè)試只針對(duì)下轉(zhuǎn)臺(tái)。根據(jù)測(cè)試要求編寫了特定的測(cè)試程序,由測(cè)試程序控制轉(zhuǎn)臺(tái)往返轉(zhuǎn)動(dòng)5圈,轉(zhuǎn)動(dòng)步長(zhǎng)為5°,每步間隔5 s用于角度數(shù)據(jù)采集。轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)360°后反向轉(zhuǎn)動(dòng),回到原位置即為一圈。以2個(gè)讀數(shù)頭采集的方位角位置數(shù)據(jù)的均值作為碼盤實(shí)測(cè)方位角位置。共10組數(shù)據(jù),求出后9組數(shù)據(jù)與第一組相應(yīng)數(shù)據(jù)之差作圖,得到的下轉(zhuǎn)臺(tái)重復(fù)定位誤差,結(jié)果如圖5所示。
圖5 轉(zhuǎn)臺(tái)重復(fù)定位誤差
測(cè)試結(jié)果表明:下轉(zhuǎn)臺(tái)各個(gè)測(cè)試點(diǎn)的重復(fù)轉(zhuǎn)動(dòng)定位誤差在±4″以內(nèi)。誤差的均值為0.011 9″;標(biāo)準(zhǔn)差為0.857 1″;重復(fù)誤差的均方根值為為0.856 9″。系統(tǒng)控制性能滿足設(shè)計(jì)要求。
本文從硬件、軟件兩方面介紹了基于PMAC的角編碼器檢測(cè)控制系統(tǒng)。硬件方面,以PMAC控制器為核心,利用步進(jìn)電機(jī)驅(qū)動(dòng)器控制步進(jìn)電機(jī)實(shí)現(xiàn)轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)。軟件方面,按照系統(tǒng)控制要求設(shè)計(jì)了控制軟件及界面,并實(shí)現(xiàn)了CCD曝光和角編碼器光柵讀數(shù)頭數(shù)據(jù)采集的同步。經(jīng)實(shí)測(cè),重復(fù)定位誤差在±4″以內(nèi),滿足角編碼器檢測(cè)系統(tǒng)的控制要求。目前,該控制系統(tǒng)已經(jīng)投入使用,為光機(jī)電系統(tǒng)聯(lián)調(diào)和角編碼器件的檢測(cè)奠定了基礎(chǔ)。
[1] 程景全.天文望遠(yuǎn)鏡原理和設(shè)計(jì)[M].北京:中國(guó)科學(xué)技術(shù)出版社,2003.
[2] 黃 壘,魏建彥,姜曉軍,等.基于PMAC的天文望遠(yuǎn)鏡控制系統(tǒng)研究及應(yīng)用[J].天文研究與技術(shù),2015(1):44-53.
[3] 于 海,萬秋華,王樹潔,等.光電軸角編碼器誤差檢測(cè)技術(shù)的發(fā)展動(dòng)態(tài)[J].光電子技術(shù),2013(3):145-150.
[4] 程向明,張益恭,趙志軍,等.基于光杠桿的測(cè)角器件檢定方法:中國(guó), 201310004883.9[P].2013—01—07.
[5] 郗志剛,周宏甫.運(yùn)動(dòng)控制器的發(fā)展與現(xiàn)狀[J].電氣傳動(dòng)自動(dòng)化,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] 葉 劍,李彬華,程向明,等.新型等高儀轉(zhuǎn)臺(tái)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].光學(xué)技術(shù),2015(2):171-176,180.
[8] 羅 鈞,馬先德,劉學(xué)明,等.基于光柵傳感器的三坐標(biāo)數(shù)據(jù)采集系統(tǒng)研究[J].傳感器與微系統(tǒng),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
國(guó)家自然科學(xué)基金委員會(huì)—中國(guó)科學(xué)院天文聯(lián)合基金資助項(xiàng)目(U1331109)
TP 212
A
1000—9787(2017)03—0087—04
張 楊(1989-),男,碩士研究生,主要研究方向?yàn)楦呔冗\(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。
程向明(1977-),男,通訊作者,碩士,高級(jí)工程師,碩士生導(dǎo)師,主要從事天文技術(shù)與方法方面的研究工作,E—mail:cxm@ynao.ac.cn。