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