數字溫度傳感器DS18B20在衛(wèi)星電源系統(tǒng)中的應用
0 引言
衛(wèi)星電源系統(tǒng)主要用來為整個衛(wèi)星的正常運行提供穩(wěn)定的電源。它是衛(wèi)星電能產生、儲存、變換、調節(jié)、傳輸分配和管理的重要分系統(tǒng)。其基本功能是通過物理和化學過程將太陽的光能、核能或化學能轉化為電能,并根據需要對電能進行存儲、調節(jié)和變換,然后向衛(wèi)星其它各分系統(tǒng)不間斷供電。我國的衛(wèi)星大都采用太陽能/蓄電池供電系統(tǒng)。蓄電池充電終壓控制采用電壓-溫度補償法,即V-T曲線控制。蓄電池溫度傳感器傳統(tǒng)上一般選用熱電耦或鉑電阻。模擬電路硬件控制是溫度補償的常用方法,已經在我國各種型號的衛(wèi)星上獲得成功應用。
為加快我國衛(wèi)星電源分系統(tǒng)的數字化設計。充分體現(xiàn)數字電路體積小、重量輕、功耗低、適應性強和可靠性高等優(yōu)點,提高電源分系統(tǒng)的電能重量比,本文以DS18B20作為溫度傳感器,并采用單片機控制系統(tǒng)進行數據的采集、計算、調節(jié)及V-T曲線控制。
1 V-T曲線控制原理
V-T曲線的控制關系為:V=N(Vs-kT)
式中:Vs為電壓狀態(tài)值;T為溫度;k為溫度系數;N為補償系數。
如溫度T上升,電壓V下降,這表明此時蓄電池升高,需要調節(jié)充電電壓使溫度降低,這就是V-T曲線補
償。其具體方法是采用V-T曲線跟蹤補償方案來控制蓄電池的充電終止電壓,然后通過測量蓄電池組的端電壓和單體溫度,以預設的溫度補償電壓曲線確定充電結束狀態(tài)。同時在充電器內部設置保護性充電終止電壓控制,以在電源控制計算機出現(xiàn)故障時停止對蓄電池充電,從而保證蓄電池組的安全。
2 數字溫度傳感器DS18B20
2.1 DS18B20的主要特點
DS18B20是美國DALLAS公司繼DS1820之后推出的增強型單總線數字溫度傳感器。它在測溫精度、轉換時間、傳輸距離、分辨率等方面都比DS1820有所改進。DS18B20的主要特點如下:
◇采用單總線方式,僅需一根信號線與CPU連接即可傳送串行數據,且不需要外部元件;
◇每個芯片都有惟一編碼,多個DS18B20芯片可以并聯(lián)在一根總線上,故可實現(xiàn)多點測溫; ◇測溫范圍為-55~125℃,分辨率為12位;
◇測溫結果的數字量位數為9~12位,并可編程選擇;
◇可用數據線供電,也可用外部電源。
2.2 DS18B20的結構及功能
DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其管腳排列如圖1所示。圖中,GND為地;I/O為數據輸入/輸出端(即單線總線),該腳為漏極開路輸出,常態(tài)下呈高電平;VDD是外部+5 V電源端,不用時應接地。
DS18B20的內部結構主要包括寄生電源、溫度傳感器、64位激光ROM、高速暫存器、用于存儲用戶設定的溫度上下限值的TH和TL觸發(fā)器、存儲與控制邏輯、8位循環(huán)冗余校驗碼發(fā)生器等七部分。其中ROM由64位二進制數字組成,它由生產廠家光刻而成,共分為8個字節(jié),字節(jié)0的內容是該產品的廠家代號28H,字節(jié)1~6的內容是48位器件序列號,字節(jié)7是ROM前56位校驗碼。每個DS18B20的64位序列號均不相同,它可以看作是該DS18B20的地址序列碼。ROM的作用是使每一個DS18B20都各不相同,這樣,就可以在一根總線上掛接多個DS18B20。
DS18B20溫度傳感器主要用于對溫度進行測量,數據可用16位符號擴展的二進制補碼讀數形式提供,并以0.0625℃/LSB形式表示。具體的溫度和數字量的關系如表1所列。
2.3 DS18B20的工作時序
根據DS18B20的通信協(xié)議,用主機控制DS18B20以完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。每一步操作必須嚴格按照時序規(guī)定進行。DS18B20的工作時序包括初始化時序、寫時序和讀時序。
2.4 DS18B20使用注意事項
主機控制DS18B20完成溫度轉換時,在每一次讀寫之前,都要對DS18B20進行復位,而且該復位要求主CPU要將數據線下拉500μs,然后釋放。DS18B20收到信號后將等待16~60μs左右,之后再發(fā)出60~240μs的低脈沖。主CPU收到此信號即表示復位成功。實際上,較小的硬件開銷需要相對復雜的軟件進行補償。由于DS18B20與微處理器間采用串行數據傳送方式,因此,在對DS18B20進行讀寫編程時,必須嚴格地保證讀寫時序,否則,將無法正確讀取測溫結果。
對于在單總線上所掛DS18B20的數量問題,一般人們會誤認為可以掛任意多個DS18B20,而在實際應用中并非如此。若單總線上所掛DS18B20超過8個時,則需要解決微處理器的總線驅動問題,因此,在進行蓄電池單體多點測溫系統(tǒng)設計時該問題要加以注意。
連接DS18B20的總線電纜是有長度限制的。試驗中,當采用普通信號電纜且其傳輸長度超過50 m時,讀取的測溫數據將發(fā)生錯誤。而將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150 m,如采用帶屏蔽層且每米絞合次數更多的雙絞線電纜,則正常通信距離還可以進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的,因此,在用DS18B20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。
在DS18B20測溫程序設計中,當向DS18B20發(fā)出溫度轉換命令后,程序總要等待DS18B20的返同信號。這樣,一旦某個DS18B20接觸不好或斷線,在程序讀該DS18B20時就沒有返回信號,從而使程序進入死循環(huán)。因此,在進行DS18B20硬件連接和軟件設計時,應當給予足夠的重視。
3 數字V-T曲線控制系統(tǒng)
3.1 硬件設計
本設計選用美國Atmel公司的增強型Flash單片機AT89S52作為主處理器來完成主要的測控任務,A999S52內嵌的8 KB Flash ROM可在軟硬件上兼容AT89C52,但其最大的特點是集成了ISP接口,因而可直接在目標板上進行在
線編程。另外,設計中選用DALLAS公司的DS18B20作為溫度測量單元,其單總線上掛接的DS18B20采用外接VCC方式(而未用寄生供電),進行多點測量;模數轉換采用ADI公司的AD574,精度為12 bit。其系統(tǒng)硬件組成如圖2所示。
3.2 軟件計
本系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉換命令子程序、計算溫度子程序、顯示數據刷新子程序等。編程時必須嚴格按照DS18B20的時序規(guī)定進行。尤其需要注意的是,在多點溫度測量中,由于多個DS18B20掛在一條總線上,為識別不同的器件,在系統(tǒng)安裝之前,應將主機逐個與DS18B20掛接,以讀出其序列號。具體是由主機先給DS18B20發(fā)一個復位脈沖,在DS18B20發(fā)回響應脈沖給主機后,主機再發(fā)讀ROM命令(代碼33H),并發(fā)一個15μs左右的脈沖,接著再讀取DS18B20序列號的一位,并用同樣方法讀取序列號的每一位。其V-T曲線控制系統(tǒng)主程序和測溫子程序分別如圖3和圖4所示。
4 系統(tǒng)抗干擾設計
為了該系統(tǒng)能夠穩(wěn)定可靠地工作,本系統(tǒng)還應對其進行抗干擾設計。具體應從以下幾個方面人手進行設計:
?。?) 電源線加粗,合理走線、接地,三總線分開。使用完全光耦隔離方法來提高抗干擾能力,減少互感振蕩,光耦應選擇高速器件;
(2) CPU、RAM、ROM等主芯片應在VCC和GND間接電解及瓷片電容,以去掉高低頻干擾;
?。?) 應采用獨立系統(tǒng)結構,并減少接插件與連線,以提高可靠性,減少故障率;
?。?) 在外部供電的輸入口應加二極管橋抑制電路,以防止逆向電流的出現(xiàn),同時也使得內外電路的地線隔離,從而起到抗干擾作用;
?。?) 加復位電壓檢測電路可防止復位不充分從而CPU就工作的現(xiàn)象,尤其在有EEPROM器件時,復位不充分會改變EEPROM的內容;
?。?) 在單片機空單元寫上00H,并在最后放跳轉指令到ORG 0000H,可防止程序跑飛。
5 結束語
應用AT89S52單片機和DS18B20嵌入式數字溫度傳感器等設計的V-T曲線控制補償系統(tǒng),可以方便地進行數據采集、計算和調節(jié)。試驗結果表明,該控制系統(tǒng)完全可以達到設計要求,以實現(xiàn)數字化的數據采集、數據處理和控制要求。該方法與傳統(tǒng)的模擬硬件控制系統(tǒng)相比,可以很好地解決衛(wèi)星電源分系統(tǒng)的小型化、高精度、高可靠性和低功耗等問題??梢灶A見,該設計方案在我國的航天領域將有很大的作為。