王 剛,林佳本,郭晶晶,張鑫偉 ,佟立越,白 陽,陳垂裕
(1. 中國科學(xué)院國家天文臺,北京 100101;2. 中國科學(xué)院太陽活動(dòng)重點(diǎn)實(shí)驗(yàn)室,北京 100101;3. 中國科學(xué)院大學(xué),北京 100049)
觀測是太陽物理研究中最重要的技術(shù)手段之一,自1612年伽利略開始使用望遠(yuǎn)鏡觀測太陽黑子至今,每一次太陽觀測儀器或技術(shù)的革新都極大地推動(dòng)了太陽物理學(xué)研究進(jìn)展[1]。懷柔太陽觀測基地(Huairou Solar Observation Station)是中國科學(xué)院國家天文臺的重要觀測基地之一。自1984年建站至今30余年,懷柔基地在太陽磁場與速度場的觀測研究領(lǐng)域已躋身世界前列[2-4]。太陽磁場望遠(yuǎn)鏡以及多通道太陽望遠(yuǎn)鏡[5]的研制成功,極大地推進(jìn)了國內(nèi)外實(shí)測太陽物理事業(yè)的發(fā)展。
太陽望遠(yuǎn)鏡主要由光學(xué)系統(tǒng)、機(jī)械結(jié)構(gòu)以及電子學(xué)系統(tǒng)3部分組成。為保證望遠(yuǎn)鏡的高質(zhì)量運(yùn)行,懷柔太陽觀測基地技術(shù)團(tuán)隊(duì)結(jié)合現(xiàn)有的先進(jìn)技術(shù),對望遠(yuǎn)鏡進(jìn)行了全面的升級改造[6-7]。本文介紹的多軸步進(jìn)電機(jī)控制系統(tǒng),是望遠(yuǎn)鏡電子學(xué)系統(tǒng)的重要組成部分。以懷柔多通道太陽望遠(yuǎn)鏡為例,儀器內(nèi)部采用17個(gè)步進(jìn)電機(jī)作為驅(qū)動(dòng)源,對濾光器以及偏振分析器中可移動(dòng)光學(xué)器件的空間位置進(jìn)行精確調(diào)整,以實(shí)現(xiàn)對不同波長磁敏感線的窄帶測量。步進(jìn)電機(jī)控制系統(tǒng)的準(zhǔn)確性、穩(wěn)定性以及控制效率直接影響太陽磁場觀測數(shù)據(jù)的精度和時(shí)間分辨率。
懷柔基地早期采用的步進(jìn)電機(jī)控制架構(gòu)以計(jì)算機(jī)為控制核心,集成數(shù)字輸入/輸出(I/O)卡生成控制信號,結(jié)合電機(jī)驅(qū)動(dòng)器實(shí)現(xiàn)對步進(jìn)電機(jī)的精確控制[8]。這種設(shè)計(jì)方式的不足之處在于:(1)系統(tǒng)整體復(fù)雜性較高;(2)系統(tǒng)可移植性較弱。為解決上述問題,懷柔基地研制出第2代濾光器電機(jī)控制系統(tǒng),該系統(tǒng)使用嵌入式設(shè)計(jì)理念,大幅度減少對計(jì)算機(jī)的依賴性。但由于系統(tǒng)采用控制、驅(qū)動(dòng)一體化集成設(shè)計(jì),電路專用性較強(qiáng),無法滿足對不同類型步進(jìn)電機(jī)的通用控制。為彌補(bǔ)上述兩類控制系統(tǒng)存在的不足,本文在已有研究的基礎(chǔ)上,提出了一種新的控制策略,即以嵌入式系統(tǒng)作為控制核心,配合計(jì)算機(jī)和通用型驅(qū)動(dòng)器實(shí)現(xiàn)對多軸步進(jìn)電機(jī)的控制。系統(tǒng)的設(shè)計(jì)要求是,在保證太陽望遠(yuǎn)鏡觀測過程中對多路步進(jìn)電機(jī)所有控制功能需求的前提下,降低控制系統(tǒng)的復(fù)雜度,提高系統(tǒng)的可移植性、穩(wěn)定性以及擴(kuò)展性。
本文介紹的多軸步進(jìn)電機(jī)控制系統(tǒng)整體結(jié)構(gòu)采用分離式設(shè)計(jì)(圖1),主要包括上位機(jī)、控制器以及驅(qū)動(dòng)器3個(gè)模塊。分離模塊化設(shè)計(jì)方式可有效降低系統(tǒng)的耦合度,提高系統(tǒng)的可移植性以及故障排查效率,其中,電機(jī)控制器是系統(tǒng)主要的硬件設(shè)計(jì)部分。
圖1 系統(tǒng)結(jié)構(gòu)示意圖
Fig.1 System structure diagram
使用Altera公司生產(chǎn)的Cyclon IV E型現(xiàn)場可編程門陣列作為片上系統(tǒng)構(gòu)建平臺,該芯片擁有15 408個(gè)邏輯單元、504 KB的嵌入式存儲器以及343個(gè)用戶輸入輸出接口。豐富的邏輯資源及接口數(shù)量為多路電機(jī)控制提供了硬件保障。選用NIOSII/e軟核作為系統(tǒng)的嵌入式微處理器,該處理器為哈佛結(jié)構(gòu),最高工作頻率為100 MHz/s,數(shù)據(jù)總線與地址總線采用分離式設(shè)計(jì),可在占用較少邏輯資源的前提下實(shí)現(xiàn)最優(yōu)性能。除處理器外,根據(jù)具體使用需求添加了其他知識產(chǎn)權(quán)核(Intellectual Property core, IP),以構(gòu)建完整的片上系統(tǒng)。知識產(chǎn)權(quán)核信息與功能如表1。
表1 片上系統(tǒng)知識產(chǎn)權(quán)核信息表
片上系統(tǒng)構(gòu)建屬于集成電路設(shè)計(jì)范疇,即將最終的設(shè)計(jì)結(jié)果集成至芯片內(nèi)部。由于其能力有一定的限制,需設(shè)計(jì)外圍支持電路,用以實(shí)現(xiàn)信號電平轉(zhuǎn)換以及配置信息存儲。本系統(tǒng)設(shè)計(jì)的支持電路從功能上可劃分為以下幾部分:
(1)串口通信電路:采用標(biāo)準(zhǔn)的RS232串口電路與計(jì)算機(jī)實(shí)現(xiàn)控制指令及狀態(tài)數(shù)據(jù)的信息交互;
(2)控制信號放大電路:由于現(xiàn)場可編程門陣列管腳輸出信號為3.3 V TTL電平,電壓值與驅(qū)動(dòng)器不匹配,選用74HC245芯片對控制信號進(jìn)行放大。
(3)數(shù)據(jù)存儲電路:使用鐵電存儲器FM25L256實(shí)現(xiàn)多路步進(jìn)電機(jī)位置實(shí)時(shí)存儲功能,存儲器采用I2C總線協(xié)議與片上系統(tǒng)進(jìn)行連接,通信速率可達(dá)10 MB,且不存在讀寫次數(shù)上限問題,正常工作環(huán)境中的數(shù)據(jù)保存時(shí)間為10年。
(4)信號識別電路:使用上拉電阻的方式對霍爾傳感器產(chǎn)生的跳變信號進(jìn)行增強(qiáng),使片上系統(tǒng)中的輸入/輸出核可以準(zhǔn)確識別沿跳,進(jìn)入中斷處理程序段。
對設(shè)計(jì)完成的步進(jìn)電機(jī)控制器硬件電路進(jìn)行裝配集成(圖2)??刂破靼?8路信號輸出端口、20路中斷信號輸入端口以及8路自定義擴(kuò)展口。最高可實(shí)現(xiàn)14路步進(jìn)電機(jī)同步控制。
圖2 步進(jìn)電機(jī)控制器
Fig.2 Stepper motor controller
為了降低系統(tǒng)對計(jì)算機(jī)的依賴性,提高系統(tǒng)的可移植性。本文在嵌入式軟件系統(tǒng)設(shè)計(jì)中完成了包括外部信號識別、控制信號生成、數(shù)據(jù)存儲、位置信息反饋以及路徑優(yōu)化算法的所有功能。這種設(shè)計(jì)方式可以降低計(jì)算機(jī)端軟件設(shè)計(jì)的復(fù)雜度,且有利于望遠(yuǎn)鏡自主觀測控制總系統(tǒng)的設(shè)計(jì)。由于嵌入式軟件系統(tǒng)內(nèi)容較多,本文僅介紹關(guān)鍵功能部分。
單路步進(jìn)電機(jī)所需控制信號包括:公共信號(高電平有效)、方向信號、脫機(jī)信號(低電平有效)以及脈沖信號(上跳沿有效)。利用NIOSII軟核的內(nèi)部定時(shí)器中斷處理機(jī)制,等間隔改變輸入/輸出寄存器狀態(tài)值,產(chǎn)生空比為50%的TTL脈沖電平信號。利用NIOSII對輸入/輸出寄存器狀態(tài)值進(jìn)行修改,生成其他3路控制信號。
電機(jī)控制信號軟件模塊如圖3。首先對自定義的內(nèi)部指令進(jìn)行解碼。解碼信息包括電機(jī)號、旋轉(zhuǎn)速度值、運(yùn)動(dòng)方向以及旋轉(zhuǎn)步數(shù)值。根據(jù)電機(jī)號信息使能對應(yīng)步進(jìn)電機(jī)的公共端信號、拉低脫機(jī)信號并設(shè)置方向信號電平值。然后根據(jù)旋轉(zhuǎn)速度信息對定時(shí)器周期寄存器初始值進(jìn)行設(shè)定。寄存器初值與步進(jìn)電機(jī)旋轉(zhuǎn)速度關(guān)系式為
(1)
其中,Ω(rad/s)為步進(jìn)電機(jī)旋轉(zhuǎn)角頻率;D(步/圈)為電機(jī)驅(qū)動(dòng)器細(xì)分值;CLK為系統(tǒng)工作頻率(100 MHz);n為寄存器初始設(shè)定值。完成周期設(shè)定后開啟定時(shí)器,待產(chǎn)生中斷信號后進(jìn)入中斷函數(shù)體,對脈沖信號端口寄存器狀態(tài)值進(jìn)行取反操作,從而產(chǎn)生周期性TTL脈沖信號。在波帶整移過程中,對超過旋轉(zhuǎn)波片光學(xué)周期(90°)部分進(jìn)行取余操作,優(yōu)化了電機(jī)轉(zhuǎn)動(dòng)控制,減少步數(shù),提高執(zhí)行效率。
圖3 電機(jī)信號生成模塊軟件流程
Fig.3 Motor signal generation module software flow
為提高嵌入式系統(tǒng)的集成度,本文在硬件設(shè)計(jì)部分加入了外置存儲芯片,用于保存步進(jìn)電機(jī)的位置信息。存儲芯片選用FM25L256型鐵電存儲器,支持串行外設(shè)接口(Serial Peripheral Interface, SPI)總線通信協(xié)議,存儲器陣列為8 × 237 68 bit共256 KB。在軟件設(shè)計(jì)中編寫對應(yīng)芯片驅(qū)動(dòng)模塊,以實(shí)現(xiàn)數(shù)據(jù)的讀寫操作。驅(qū)動(dòng)指令由8位操作代碼、16位地址碼以及數(shù)據(jù)構(gòu)成。設(shè)計(jì)時(shí)需申請臨時(shí)數(shù)據(jù)存儲空間,用于存放讀出或?qū)懭氲臄?shù)據(jù)。為方便其他函數(shù)的調(diào)用,將該驅(qū)動(dòng)代碼部分封裝為獨(dú)立的模塊,并留出相應(yīng)的數(shù)據(jù)接口及操作模式接口。當(dāng)步進(jìn)電機(jī)位置變動(dòng)時(shí),對其變動(dòng)后的新位置進(jìn)行存儲??刂破鲾嚯娭貑r(shí),自動(dòng)讀取斷電前保存的位置信息。除此之外,還可根據(jù)不同項(xiàng)目需求對其他配置信息進(jìn)行存儲,例如濾光器控制中的線心位置信息存儲以及定天境軸系控制中的恒動(dòng)、快動(dòng)以及慢動(dòng)速度值的存儲。
為實(shí)現(xiàn)步進(jìn)電機(jī)的閉環(huán)控制,通過霍爾傳感器標(biāo)識絕對位置(亦稱機(jī)械零位),修正電機(jī)旋轉(zhuǎn)過程中產(chǎn)生的位置誤差?;魻杺鞲衅鞅举|(zhì)是一種磁場傳感器,當(dāng)受控機(jī)械結(jié)構(gòu)上的磁塊運(yùn)動(dòng)至識別范圍時(shí),霍爾信號管腳會(huì)產(chǎn)生由高到低的電平跳變信號。利用NIOSII的外部中斷機(jī)制識別該跳變信號,進(jìn)而反饋至步進(jìn)電機(jī)控制過程。為了提高信號識別的準(zhǔn)確性,在軟件中添加了濾波代碼,消除短時(shí)強(qiáng)磁場或電源電壓波動(dòng)產(chǎn)生的干擾信號。
為驗(yàn)證本設(shè)計(jì)的功能完備性、穩(wěn)定性以及控制精度,應(yīng)用該控制系統(tǒng)完成了多通道太陽磁場望遠(yuǎn)鏡濾光器波帶控制系統(tǒng)(17路電機(jī))的設(shè)計(jì)及升級工作,并對系統(tǒng)更換后的設(shè)備進(jìn)行了相關(guān)測試驗(yàn)證。圖4為多通道望遠(yuǎn)鏡觀測波段線心位置標(biāo)定測量數(shù)據(jù),圖中橫坐標(biāo)為濾光器定標(biāo)位置相對偏移量,縱坐標(biāo)為探測器接收光強(qiáng)值。從圖4可以看出,測量曲線光強(qiáng)變化平滑,未出現(xiàn)單級波片(電機(jī))控制失效的情況;測量曲線與太陽譜線吻合度較高,已實(shí)現(xiàn)波帶整移(多通道同步控制)功能。圖5為不同波段太陽磁場測量結(jié)果,說明電機(jī)控制系統(tǒng)達(dá)到了太陽觀測系統(tǒng)所需的控制精度。目前系統(tǒng)運(yùn)行穩(wěn)定,并已承擔(dān)相關(guān)科研觀測工作。
圖4 (a) 517.3 nm,(b) 525 nm,(c) 524.7 nm線心標(biāo)定結(jié)果
Fig.4 Line center position
圖5 (a) 517.3 nm,(b) 525 nm,(c) 524.7 nm磁場測量數(shù)據(jù)
Fig.5 Solar magnetic field measurement data
采用可編程邏輯器件,結(jié)合知識產(chǎn)權(quán)核以及片上處理系統(tǒng)設(shè)計(jì)概念,實(shí)現(xiàn)了多軸步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)。在研究過程中解決了信號識別不準(zhǔn)確、數(shù)據(jù)掉電存儲以及通信過程數(shù)據(jù)丟失等問題,目前所研制的控制器單板可實(shí)現(xiàn)對12路步進(jìn)電機(jī)閉環(huán)控制,且可以多塊控制器并聯(lián)使用,縮減控制系統(tǒng)的整體體積。已使用該系統(tǒng)實(shí)現(xiàn)了懷柔觀測基地多通道太陽望遠(yuǎn)鏡濾光器波帶控制系統(tǒng)設(shè)計(jì)(17路步進(jìn)電機(jī)),新疆溫泉縣磁場望遠(yuǎn)鏡濾光器波帶控制系統(tǒng)設(shè)計(jì)以及北京師范大學(xué)太陽塔定天境軸系控制系統(tǒng)的設(shè)計(jì)。
致謝:系統(tǒng)的設(shè)計(jì)、調(diào)試過程得到國家天文臺懷柔觀測基地張洋、王丙祥、汪國萍等同事的大力支持,在此深表感謝。本系統(tǒng)研制過程中使用了國家天文臺所級公共技術(shù)服務(wù)中心高精度電子學(xué)系統(tǒng)研制測試平臺相關(guān)設(shè)備。