,,
(北京空間機(jī)電研究所 先進(jìn)光學(xué)遙感技術(shù)北京市重點(diǎn)實驗室,北京100094)
空間相機(jī)溫控系統(tǒng)的控溫精度和可靠性對保證空間相機(jī)正常工作有著重要意義[1]。為使相機(jī)光學(xué)系統(tǒng)維持在穩(wěn)定的溫度水平以保障成像品質(zhì),一般重要部件都采用直接或間接的主動控溫加熱回路,即根據(jù)反饋的控溫點(diǎn)測量溫度精確補(bǔ)償熱量損失,實現(xiàn)關(guān)鍵部件溫度的精確控制[2]。
相機(jī)控溫系統(tǒng)的性能主要取決于3個方面:系統(tǒng)結(jié)構(gòu)、熱敏電阻的溫度解算精度和溫控策略。本文主要介紹一種通用的溫控系統(tǒng)軟件設(shè)計和實現(xiàn)方法,描述了空間相機(jī)溫控系統(tǒng)的結(jié)構(gòu),結(jié)合測溫精度、測溫范圍、存儲空間、工作量等綜合因素選擇最優(yōu)的溫度標(biāo)定與解算方法,結(jié)合系統(tǒng)特性和控溫精度選擇合適的溫控策略,并介紹了軟件實現(xiàn)方法以及設(shè)計實現(xiàn)過程需要注意的問題。實踐證明,該方法適用于空間相機(jī)溫控系統(tǒng)軟件的設(shè)計與實現(xiàn)。
空間相機(jī)溫控系統(tǒng)由相機(jī)控溫儀、相機(jī)主體、主體測溫接口和主體控溫接口等構(gòu)成,溫控系統(tǒng)組成原理圖如圖1所示。其中相機(jī)控溫儀是空間相機(jī)溫控系統(tǒng)的核心,一般包括管理CPU電路模塊、測溫及控溫電路模塊、供電模塊。管理CPU電路采用51系列單片機(jī)80C32作為處理核心,由于80C32具有良好的穩(wěn)定性和多次使用經(jīng)驗,其在空間相機(jī)溫控系統(tǒng)乃至航天領(lǐng)域中都有著廣泛的應(yīng)用,CPU電路與衛(wèi)星數(shù)管分系統(tǒng)總線接口采用1553B或CAN總線形式,衛(wèi)星為控溫儀提供一次電源接口。
圖1 空間相機(jī)溫控系統(tǒng)組成原理圖
系統(tǒng)的測溫原理是根據(jù)熱敏電阻在不同溫度具有不同的電阻值來確定對應(yīng)溫度值[3]。為了便于測量,將熱敏電阻Rx串聯(lián)一個10 kΩ的精密電阻進(jìn)行分壓,同時為了消除電纜長度、環(huán)境溫度等因素的影響,系統(tǒng)采用兩個標(biāo)準(zhǔn)精密電阻R0和R1對熱敏電阻的測量值進(jìn)行校正,其中A/D轉(zhuǎn)換電路采用AD1674,并選擇12位量化,以獲得高精度的測量值。CPU通過控制相應(yīng)通道,啟動A/D轉(zhuǎn)換裝置,讀取Rx、R0和R1的電壓采集值Vx、V0和V1,并采用式(1)對Vx進(jìn)行校正,以消除誤差,其中V0s、V1s為標(biāo)準(zhǔn)回路R0、R1的電壓測量值,Vx0為校正后的電壓值。
(1)
圖2為測溫控溫原理圖,CPU通過測溫點(diǎn)上熱敏電阻的電壓值獲取溫度,與設(shè)定溫度進(jìn)行比較,判斷是否需要加熱,并通過控溫驅(qū)動電路控制加熱片的通斷將溫度控制在目標(biāo)溫度。
圖2 測溫控溫原理圖
溫度標(biāo)定與解算是控溫流程中的重要環(huán)節(jié),只有該環(huán)節(jié)做到精確才能保證測溫精度,進(jìn)而保證控溫的精度[4]。
空間相機(jī)溫控系統(tǒng)的測溫流程一般分為以下3步:
① 進(jìn)行A/D采集、校正和濾波,獲得當(dāng)前溫度下的穩(wěn)定電壓碼U;
② 根據(jù)標(biāo)定所得的R-U轉(zhuǎn)換系數(shù),解算出該電壓碼對應(yīng)的熱敏電阻阻值R;
③ 根據(jù)熱敏電阻自身特性參數(shù),計算出熱敏電阻對應(yīng)的溫度T。
熱敏電阻是一種電阻值隨溫度變化的電子元件,工程實踐中經(jīng)常用到的是MF61和B6兩種類型的熱敏電阻,這兩種熱敏電阻T-R的換算關(guān)系如式(2)和式(3)所示。由公式可知,溫度值越高熱敏電阻值越低,該類型的熱敏電阻為負(fù)系數(shù)熱敏電阻。其中T為攝氏溫度,R為熱敏電阻阻值,a、b、c為給定的換算系數(shù),由于該系數(shù)為廠家給定的表示熱敏電阻特性的參數(shù),所以認(rèn)為通過該系數(shù)換算出的溫度T和電阻值R的誤差是極小的、可以忽略的。那么,通過標(biāo)定得到R-U的轉(zhuǎn)換系數(shù),就成為決定測溫精度的關(guān)鍵步驟。
(2)
(3)
由于電路、器件及熱敏電阻的特性存在的細(xì)微差異,所以在精度要求較高的情況下,R-U的轉(zhuǎn)換關(guān)系無法簡單用同一個公式表示。常用到的溫度標(biāo)定與解算方法有查表法和多項式擬合法兩種。但是由于查表法需要存儲各個測溫點(diǎn)的電壓U和電阻值R的對應(yīng)關(guān)系,溫度間隔選取過大,則影響測溫精度,溫度間隔選取過小,則需要存儲大量數(shù)據(jù)。在測溫路數(shù)多,測溫范圍大的情況下,需要占用的程序存儲空間相當(dāng)可觀。另外在測溫精度要求較高的情況下,該方法也無法滿足精度要求。多項式擬合法可以很好地解決上述問題,是普遍被采用的一種方法[4]。根據(jù)式(2)和式(3)的反函數(shù)可以求得在特定溫度點(diǎn)下對應(yīng)的熱敏電阻阻值的合集,在工程實踐中,根據(jù)測溫精度的要求進(jìn)行溫度間隔的選取。
多項式擬合法標(biāo)定過程一般分為以下3步:
① 選取標(biāo)定溫度點(diǎn)T的合集,并計算取得各個溫度點(diǎn)對應(yīng)的熱敏電阻阻值R;
② 使用精密電阻箱模擬熱敏電阻接入測溫電路,測得各個阻值下對應(yīng)的電壓碼U;
③ 使用MATLAB中polyfit(x,y,n)函數(shù)[5-6],對電壓碼U和電阻值R進(jìn)行多項式擬合,根據(jù)測溫誤差和存儲空間確定合適的擬合次數(shù),從而確定R-U的擬合系數(shù)。
以某型號控溫儀為例,要求測溫精度在0~30 ℃范圍內(nèi)優(yōu)于±0.2 ℃,在-40~0 ℃、30~70 ℃范圍內(nèi)優(yōu)于±0.5 ℃。由于測溫精度要求不同,并且測溫范圍較廣,根據(jù)實踐經(jīng)驗,采取分段擬合結(jié)合差值擬合的方法。
分段擬合:根據(jù)測溫精度將測溫范圍分為3段,為-40~0 ℃、0~30 ℃和30~70 ℃。
差值擬合:將測溫點(diǎn)以1 ℃為間隔進(jìn)行標(biāo)定,在得到標(biāo)定數(shù)據(jù)后,在-40~0 ℃、30~70 ℃范圍內(nèi)通過線性差值得到每0.5 ℃的電壓數(shù)據(jù),在0~30 ℃范圍內(nèi)通過線性差值得到每0.2 ℃的電壓數(shù)據(jù),這樣不僅保證了測溫精度,也大大減少了標(biāo)定工作量。
以某一路控溫回路0~30 ℃溫度區(qū)間為例,對數(shù)據(jù)進(jìn)行了多項式擬合,擬合次數(shù)分別為1~10次,根據(jù)擬合系數(shù)計算出測溫誤差,如表1所列。從表1中可以看出,3次及3次以上的擬合誤差均在允許范圍內(nèi),4~10次的擬合誤差明顯優(yōu)于3次擬合,但是4~10次擬合之間的誤差并沒有明顯區(qū)別。選取合適擬合次數(shù)的原則是在滿足精度要求的前提下,兼顧數(shù)據(jù)存儲量和計算量。4次擬合需要存儲5個浮點(diǎn)型的數(shù)據(jù),10次擬合需要存儲11個浮點(diǎn)型的數(shù)據(jù),因此選取4次擬合更為合適。使用4次擬合所得系數(shù)計算0~30 ℃各溫度點(diǎn)的誤差,各個溫度點(diǎn)的誤差均在-0.03~0.02 ℃之間,優(yōu)于±0.2 ℃的要求,如圖3所示。
表1 0~30 ℃區(qū)間1~10次擬合誤差(單位:℃)
圖3 4次擬合條件下0~30 ℃各溫度點(diǎn)測溫誤差
在空間相機(jī)溫控系統(tǒng)中,一般包含多個控溫回路,選擇合適的溫控策略是保證控溫精度的關(guān)鍵環(huán)節(jié)。目前,常用的溫控策略有開關(guān)控制、比例控制和PID控制,工程實踐中經(jīng)常用到的溫控策略是開關(guān)控制結(jié)合比例控制或者開關(guān)控制結(jié)合PID控制。無論采用哪種溫控策略,都需要確定一個固定的控溫周期t,在當(dāng)前周期輸出上一周期計算出的加熱時間,并計算出所有控溫回路的加熱時間,在下一周期進(jìn)行輸出??販刂芷趖需要根據(jù)測控溫回路數(shù)進(jìn)行合理的選擇,一般在滿足熱控需求的條件下,應(yīng)大于所有回路的測溫周期。如果選擇的控溫周期過小,則可能在當(dāng)前周期計算加熱時間的時候,使用的是上一周期的溫度量,導(dǎo)致連續(xù)兩個控溫周期內(nèi)輸出的加熱時間相同,增加了CPU無用的操作;如果選擇的控溫周期過大,則溫度的變化不能及時進(jìn)行反饋,影響控溫效果。
開關(guān)控制方法:如果當(dāng)前溫度低于設(shè)定溫度,則下一控溫周期加熱時間為控溫周期t;如果當(dāng)前溫度高于設(shè)定溫度,則下一控溫周期加熱時間為0。
比例控制方法:根據(jù)當(dāng)前溫度和控溫閾值上下限的關(guān)系求得加熱時間,其中Tmax、Tmin、Tcur分別為控溫閾值上下限和當(dāng)前溫度,計算方法見式(4)。
(4)
(5)
開關(guān)比例控制方法或開關(guān)PID控制方法:如果當(dāng)前溫度在控溫閾值上下限之外,則采用開關(guān)控制;如果當(dāng)前溫度介于控溫閾值上下限之間,則采用比例控制或PID控制,PID控制的設(shè)定溫度應(yīng)為控溫閾值上下限的中心值。
開關(guān)比例控制是一種通用的控制方法,具有控制簡單、成熟可靠的優(yōu)點(diǎn),對大多數(shù)控溫對象都有較好的控溫效果。開關(guān)PID控制方法具有響應(yīng)速度快、調(diào)節(jié)動作迅速、消除穩(wěn)態(tài)誤差,并預(yù)測誤差的變化趨勢、避免嚴(yán)重超調(diào)等優(yōu)點(diǎn),但要達(dá)到良好的控溫效果,需要對PID參數(shù)在真實環(huán)境中進(jìn)行參數(shù)整定,其工作量明顯大于開關(guān)比例控制方法。在實際應(yīng)用中,可以根據(jù)控溫精度要求和控溫效果來選擇不同的溫控策略。
以某型號控溫儀為例,要求0~30 ℃范圍內(nèi)測溫精度優(yōu)于±0.2 ℃,該型號采用的是開關(guān)比例控制方法,如表2所列,選取9個不同控溫點(diǎn)為例,在各個控溫點(diǎn)下的控溫效果都滿足要求。
表2 不同控溫點(diǎn)下的控溫效果 (單位:℃)
溫控系統(tǒng)軟件的實現(xiàn)方法是在主程序中循環(huán)采集更新各個測溫回路的溫度量,溫度屬于緩慢變化量,不需要極高的實時性,結(jié)合各種數(shù)字處理方法的優(yōu)缺點(diǎn),軟件采用了去極值平均濾波法,在消除偶然脈沖干擾和周期性干擾的同時,在一定程度上作數(shù)據(jù)平滑處理,根據(jù)溫度量的緩變特性,增加遞推平均濾波環(huán)節(jié),進(jìn)一步加強(qiáng)濾波效果。溫度采集模塊流程如圖4所示。
為了保證控溫效果和控溫周期,各個回路的加熱時間計算和輸出都要求及時準(zhǔn)確,所以這部分工作應(yīng)該在定時器中斷中完成。對于每一路控溫回路,根據(jù)當(dāng)前控溫回路的溫度值和設(shè)定溫度的關(guān)系決定下一周期的加熱時間。通常將控溫周期等分成若干個時間片,根據(jù)加熱時間在各個時間片內(nèi)輸出加熱或不加熱。為防止溫控系統(tǒng)軟件在軌運(yùn)行期間輸出異常,影響控溫效果,需要在每個時間片對所有回路的加熱狀態(tài)輸出,將異常情況的影響控制在一個時間片內(nèi)。整個控溫過程就是循環(huán)執(zhí)行上述步驟。控溫模塊流程如圖5所示。
圖4 溫度采集模塊流程圖
圖5 控溫模塊流程圖
以某型號控溫儀為例,其含有96個控溫回路,處理器采用單片機(jī)80C32[7-9],主頻為12 MHz,定時器中斷執(zhí)行時間主要受控溫回路數(shù)量影響。由于控溫儀軟件除了測控溫功能之外,還需要與衛(wèi)星進(jìn)行總線通信,如果長時間處理定時器中斷服務(wù)程序,可能會導(dǎo)致指令接收響應(yīng)延遲,甚至丟失指令。在控溫回路較多的情況下,可以將該程序功能再進(jìn)行細(xì)化,使其分配到多個更小的時間片中,使軟件既能滿足執(zhí)行指令要求,又能保證控溫的實時性。
董婷、柴鳳萍(工程師),李愷(高級工程師):主要研究方向為空間遙感相機(jī)軟件設(shè)計。