基于STM32的多色溫多星等輸出的單星模擬器設(shè)計(jì)
隨著近年來(lái)我國(guó)空間科學(xué)技術(shù)的快速發(fā)展,衛(wèi)星、載人飛船等航天器需要更高的控制精度、可靠性和更長(zhǎng)的壽命。星敏感器在各種航天器上大量應(yīng)用,其性能指標(biāo)直接影響到測(cè)量結(jié)果的可信度。單星模擬器是星敏感器的主要地面標(biāo)定設(shè)備之一,所要實(shí)現(xiàn)的功能是在實(shí)驗(yàn)室內(nèi)提供與單顆真實(shí)恒星在光度特性、光譜特性等方面趨于一致的模擬恒星[1-2]。傳統(tǒng)單星模擬器大多體積大,精度低,穩(wěn)定性不夠好,可調(diào)節(jié)色溫單一,實(shí)現(xiàn)星等范圍小[3]。本項(xiàng)目采用模塊化設(shè)計(jì),將多束不同窄帶光譜、不同強(qiáng)度的光線混合,并控制總體輸出光強(qiáng),最終實(shí)現(xiàn)不同等效黑體色溫和不同星等。
1 結(jié)構(gòu)設(shè)計(jì)
如圖1 所示,單星模擬器系統(tǒng)總體結(jié)構(gòu)由電源、光源、波段光強(qiáng)控制器、積分球、星等控制器、工控箱、PC 機(jī)7 部分組成。
1.1 光源
常見(jiàn)電光源有氙燈、鈉燈、鹵鎢燈、汞燈等。氙燈輻射光譜能量分布與日光相接近,色溫約6000K。連續(xù)光譜部分的光譜分布幾乎與燈輸入功率變化無(wú)關(guān),在壽命期內(nèi)光譜能量分布也幾乎不變。氙燈具有發(fā)光譜線寬度相對(duì)較寬、光譜穩(wěn)定性高、輻射功率單位時(shí)間變化小等優(yōu)點(diǎn),所以選擇氙燈[4-5]。
光源部分包括150W 氙燈、電源及控制器、反光罩、傳光光纖輸出耦合器等。
1.2 波段光強(qiáng)控制器
波段光強(qiáng)控制器,由光源經(jīng)光纖輸入光線擴(kuò)束準(zhǔn)直后通過(guò)由步進(jìn)電機(jī)控制的可變光闌,再經(jīng)過(guò)10%反射鏡后匯聚輸出。10%反射鏡反射光線由光電池測(cè)量光強(qiáng),通過(guò)控制板反饋控制步進(jìn)電機(jī)。要將光源分成不同波長(zhǎng)的光束,目前常見(jiàn)產(chǎn)生方式主要有發(fā)光二極管直接產(chǎn)生、電光源通過(guò)窄帶濾波片產(chǎn)生等方式,由于現(xiàn)有發(fā)光二管存在輸出光譜寬度窄(10~25 nm 半波長(zhǎng)寬度)、某些特定中心波長(zhǎng)不容易實(shí)現(xiàn)等原因,本設(shè)計(jì)中采用電光源通過(guò)窄帶濾波片產(chǎn)生。
由于需控制的窄帶光源數(shù)量較多,且各部分結(jié)構(gòu)基本相同,擬采用模塊式設(shè)計(jì),即設(shè)計(jì)13 路相同的“波段光強(qiáng)控制器”,如圖2 所示,每一路都可實(shí)現(xiàn)對(duì)光的濾波、光強(qiáng)調(diào)整、使系統(tǒng)結(jié)構(gòu)簡(jiǎn)化,減小故障率,便于測(cè)試與維修。每路為獨(dú)立易拆換單元結(jié)構(gòu),由支架、窄帶濾光片、分光鏡、光電池、可變光闌、步進(jìn)電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)器、傳光光纖輸入輸出耦合器、電信號(hào)處理模塊(實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)控制、碼盤(pán)及光電池信號(hào)處理和上位控制系統(tǒng)的RS-485 通信等功能)等部分組成,實(shí)現(xiàn)對(duì)各路色光光功率的控制,形成等效色溫。由于峰值光譜范圍中有部分到達(dá)外區(qū),需要部分控制器中光學(xué)元件采用石英材料,其中3 路紫外,10 路可見(jiàn)光或紅外。光源與波段光強(qiáng)控制器之間由一進(jìn)多出(其中石英3 路,玻璃10 路)傳光光纖連接,波段光強(qiáng)控制器與六棱鏡之間由多進(jìn)(其中石英3 路,玻璃10 路)一出傳光光纖連接。所有“波段光強(qiáng)控制器”與光源、六棱鏡、星等控制器、電
源模塊等安裝于同一平臺(tái),通過(guò)RS485 的串行方式既可與控制電箱通信,也可與工控機(jī)通信。星等控制器的結(jié)構(gòu)與波段光強(qiáng)控制器結(jié)構(gòu)大體相同,主要區(qū)別是:增加由另一步進(jìn)電機(jī)控制的衰減
片陣列,實(shí)現(xiàn)大星等范圍的調(diào)節(jié)。通過(guò)對(duì)輸出光強(qiáng)的控制實(shí)現(xiàn)不同星等,需調(diào)整范圍為~+6.5MI,采用可變光闌加衰減片陣列方式來(lái)實(shí)現(xiàn),衰減片陣列實(shí)現(xiàn)固定的大比例衰減,實(shí)現(xiàn)誤差在一個(gè)星等范圍內(nèi),可變光闌實(shí)現(xiàn)一個(gè)星等范圍內(nèi)調(diào)節(jié),可實(shí)現(xiàn)<1%的控制[6]。
2 硬件電路部分
如圖3 所示,硬件電路由主控芯片STM32,電源模塊,時(shí)鐘、晶振、復(fù)位模塊以及通信模塊組成。
2.1微處理器
微處理器是控制系統(tǒng)的核心,關(guān)系到整個(gè)系統(tǒng)的運(yùn)行情況。經(jīng)分析比較,本系統(tǒng)采用ST 公司基于
cortex-M3 內(nèi)核的STM32 處理器。cortex-M3 內(nèi)核是專(zhuān)門(mén)用于設(shè)計(jì)高性能、低功耗、低成本、實(shí)時(shí)性嵌入式應(yīng)用系統(tǒng)的處理器核,它在提升性能的同時(shí),又提高代碼密度的Thumb-2 指令集,同時(shí)也大幅度提高了中斷響應(yīng)的緊耦合嵌套向量中斷控制器的性能,所有新功能都同時(shí)具有業(yè)界最優(yōu)的功耗水平。
STM32 是32 位CPU 的微控制器,主頻可達(dá)72 MHz。有多達(dá)51 個(gè)快速I(mǎi)/O 端口,所有I/O 口均可
以映像到16 個(gè)外部中斷,幾乎所有端口都允許5 V信號(hào)輸入。每個(gè)端口都可以由軟件配置成輸出(推挽或開(kāi)漏)、輸入(帶或不帶上拉或下拉)或其他的外設(shè)功能口。2 個(gè)12 位模數(shù)轉(zhuǎn)換器,16 個(gè)外部輸入通道,轉(zhuǎn)換速率可達(dá)1 MHz,轉(zhuǎn)換范圍為0~36 V;具有雙采樣和保持功能;內(nèi)部嵌入有溫度傳感器,可方便地測(cè)量處理器溫度值[7]。7 路通用DMA存儲(chǔ)器直接訪問(wèn),可以管理存儲(chǔ)器到存儲(chǔ)器、設(shè)備到存儲(chǔ)器和存儲(chǔ)器到設(shè)備的數(shù)據(jù)傳輸,無(wú)須CPU 任何干預(yù)。通過(guò)DMA 可以使數(shù)據(jù)快速地移動(dòng),這就節(jié)省CPU 的資源來(lái)進(jìn)行其他操作。支持標(biāo)準(zhǔn)的20 腳JTAG仿真調(diào)試以及針對(duì)Cortex-M3 內(nèi)核的串行單線調(diào)試(SWD)功能。通常默認(rèn)的調(diào)試接口是JTAG 接口,內(nèi)部包含7 個(gè)定時(shí)器。
2.2 通信模塊設(shè)計(jì)
STM32 含有豐富的通信接口:3 個(gè)UART異步串行通信接口、2 個(gè)I2C 接口、2 個(gè)SPI 接口、1 個(gè)
CAN接口和1 個(gè)USB 接口,為實(shí)現(xiàn)數(shù)據(jù)通信提供了保證。
如圖4 所示,本系統(tǒng)采用UART 異步串行通信接口與PC 通信。UART 首先將接收到的并行數(shù)據(jù)轉(zhuǎn)
換成串行數(shù)據(jù)來(lái)傳輸。消息幀從一個(gè)低位起始位開(kāi)始,后面是5~8 個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開(kāi)始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。在接收過(guò)程中,UART 從消息幀中去掉起始位和結(jié)束位,對(duì)進(jìn)來(lái)的字節(jié)進(jìn)行奇偶校驗(yàn),并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。
如圖4,采用SN75LBC184 芯片,它支持64 個(gè)節(jié)點(diǎn),是一款具有瞬變電壓抑制功能的差分收發(fā)器,具有內(nèi)置高能量瞬變?cè)肼暠Wo(hù)裝置。這種設(shè)計(jì)特點(diǎn)顯著提高了抵抗數(shù)據(jù)同步傳輸電纜上瞬變?cè)肼暤目煽啃浴_@類(lèi)電路可提供可靠的低成本的直連數(shù)據(jù)線接口,不需要任何外部元件,適用于工業(yè)網(wǎng)絡(luò)系統(tǒng)。
3 軟件系統(tǒng)
3.1 控制程序
主控流程如圖5 所示,控制程序主要包括光電池A/D參數(shù)值的讀寫(xiě)和電機(jī)驅(qū)動(dòng)程序兩部分。
本設(shè)計(jì)將ADS1.2 集成開(kāi)發(fā)環(huán)境作為軟件開(kāi)發(fā)工具,它是ARM 公司推出的ARM 核為控制器開(kāi)發(fā)
工具,是由包含匯編器、C/C++編譯器和連接器的代碼生成工具[8]。
3.2 界面
為了方便靈活地設(shè)置參數(shù),并調(diào)試電路板中各項(xiàng)控制數(shù)值,使用delphi7 編寫(xiě)“單星模擬器控制界
面”。由于上位機(jī)CPU 與下位機(jī)(ARM)的工作頻率相差很大,且控制無(wú)高速要求,為保證通信可靠性,軟件對(duì)通信設(shè)定了一系列延時(shí),例如當(dāng)下位機(jī)超過(guò)300 ms 無(wú)應(yīng)答時(shí),軟件才判定通信為超時(shí)。如圖6 所示,界面既可進(jìn)行色溫設(shè)置、星等設(shè)置、系統(tǒng)全面診斷、初始化等總體操作,又可通過(guò)超級(jí)校驗(yàn)碼驗(yàn)證后對(duì)各個(gè)單獨(dú)的模塊進(jìn)行具體調(diào)試。色溫碼盤(pán)表、色溫光強(qiáng)表、星等碼盤(pán)表可進(jìn)行讀寫(xiě)操作,寫(xiě)在下一次上電生效。并可以隨時(shí)保存當(dāng)前數(shù)據(jù)到上位機(jī),生成txt 文本,可隨時(shí)查閱修改,同時(shí)能從上位機(jī)讀取歷史保存數(shù)據(jù)。
4 結(jié)束語(yǔ)
為實(shí)現(xiàn)實(shí)驗(yàn)室內(nèi)模擬特定恒星光譜特性,設(shè)計(jì)了這臺(tái)單星模擬器,采用模塊化設(shè)計(jì),將光源分成多束不同光譜、不同強(qiáng)度的光線,再混合并控制總體輸出光強(qiáng),最終實(shí)現(xiàn)不同色溫和不同星等。理論和實(shí)驗(yàn)表明,它能完成現(xiàn)場(chǎng)測(cè)試工作,并且在可靠性方面有了較大提高,成本也大大降低。