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