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