??? 摘 要: 設(shè)計(jì)了一種新型汽車空調(diào)節(jié)能控制器,。通過(guò)檢測(cè)汽車行駛" title="汽車行駛">汽車行駛時(shí)的不同車況,,準(zhǔn)確有效地控制汽車空調(diào)器壓縮機(jī)的接通或斷開(kāi),可以相對(duì)提升汽車的加速功率,,把汽車減速時(shí)耗掉的機(jī)械能轉(zhuǎn)化成空調(diào)器的制冷能,。與傳統(tǒng)汽車空調(diào)控制器相比,,達(dá)到了節(jié)能改良目的。
??? 關(guān)鍵詞: 汽車空調(diào),;ADXL202傳感器" title="加速度傳感器">加速度傳感器,;DS18B20集成溫度傳感器;STC12C5410AD單片機(jī),;A/D" title="A/D">A/D轉(zhuǎn)換
?
??? 安全,、節(jié)能、環(huán)保和智能已經(jīng)成為汽車發(fā)展四個(gè)永恒的主題[1],??照{(diào)器已成為汽車不可缺少的裝置,然而汽車發(fā)動(dòng)機(jī)作為空調(diào)器的主要原動(dòng)力,,在行駛中空調(diào)器工作的同時(shí)必然消耗汽車發(fā)動(dòng)機(jī)的部分功率,,因而增加了發(fā)動(dòng)機(jī)的負(fù)荷,顯然對(duì)汽車的加速,、油耗性能有影響。當(dāng)空調(diào)器的消耗功率相對(duì)于汽車的發(fā)動(dòng)機(jī)的有效輸出功率較大時(shí),,空調(diào)器使用中對(duì)汽車的加速性能就有比較顯著的影響[2],。當(dāng)汽車處于長(zhǎng)時(shí)間爬坡而且坡度較大時(shí),有經(jīng)驗(yàn)的駕駛員往往先把空調(diào)器關(guān)掉以減輕發(fā)動(dòng)機(jī)的負(fù)荷,。
??? 傳統(tǒng)中低檔次汽車空調(diào)器的溫度控制方法是依靠簡(jiǎn)單的檢測(cè)蒸發(fā)器的溫度以控制壓縮機(jī)的起,、停來(lái)達(dá)到控制車室溫度的目的。由于汽車行駛過(guò)程中車室冷空氣流失或者經(jīng)常性地停車無(wú)法避免車門頻繁打開(kāi)造成冷能量損失,,有可能存在設(shè)定控制蒸發(fā)器的目標(biāo)值溫度已經(jīng)達(dá)到時(shí),,而車室的溫度設(shè)定目標(biāo)值仍未達(dá)到的現(xiàn)象。此時(shí)壓縮機(jī)終因蒸發(fā)器的控制溫度已達(dá)到而停止工作,,因而出現(xiàn)制冷效果不理想的弊端,。相反的情況,當(dāng)蒸發(fā)器的控制目標(biāo)值溫度值沒(méi)有達(dá)到,,而車室的溫度設(shè)定目標(biāo)值已經(jīng)達(dá)到,,又會(huì)出現(xiàn)制冷過(guò)度的現(xiàn)象,。而每當(dāng)出現(xiàn)這種情況時(shí),只有通過(guò)人工調(diào)整設(shè)定溫度予以補(bǔ)償來(lái)達(dá)到控制溫度的目的[3],。
??? 為改善汽車空調(diào)器的溫度控制方法,,增加一個(gè)加速度傳感器和車室溫度傳感器時(shí)刻監(jiān)控汽車的運(yùn)行狀態(tài)、車室溫度及蒸發(fā)器溫度,。三者統(tǒng)一協(xié)調(diào)實(shí)時(shí)地控制壓縮機(jī)起停,。實(shí)踐證明此方法可行,可以節(jié)能,、改善汽車加速性能,。
1 硬件設(shè)計(jì)
1.1 ADXL202加速度傳感器
??? ADXL202是一種低成本、低功耗,、功能完善的雙軸加速度傳感器[4],,既能測(cè)動(dòng)態(tài)加速度,又能測(cè)靜態(tài)加速度,,利用傳感器的動(dòng)態(tài)和靜態(tài)特性可以準(zhǔn)確測(cè)量出汽車行駛中的各種狀態(tài):水平加速,、爬坡、下坡等,,依據(jù)汽車的行使?fàn)顟B(tài)更能準(zhǔn)確發(fā)出控制操作,。可以輸出數(shù)字信號(hào),,其脈寬占空比" title="占空比">占空比與兩根傳感器感應(yīng)軸各自所承受的加速度成正比,。這些信號(hào)可以直接傳輸給單片機(jī),而不需A/D轉(zhuǎn)換或附加其他電路,。通過(guò)調(diào)節(jié)外接電阻RSET使輸出信號(hào)脈沖周期設(shè)定在0.5~10ms范圍內(nèi),在0g加速度時(shí)的輸出占空比為50%,。如果需要與加速度成正比的模擬電壓信號(hào),則可從XFILT和YFILT引腳輸出,。
??? ADXL202采用QC-14封裝,,引腳排列如圖1所示,它有兩個(gè)電源端(VDD)和兩個(gè)接地端(COM),,VTP為測(cè)試端,,供廠家測(cè)試芯片用。ST為自檢端,,可進(jìn)行功能自檢,,T端接電阻RSET,用于設(shè)定輸出脈沖的周期,。XFILT,、YFILT端分別接X(jué)通道、Y通道的濾波電容CX、CY,。XOUT,、YOUT依此為X通道、Y通道的占空比輸出端,,NC為空置腳,。
?
??? 設(shè)輸出信號(hào)的周期為T,其高電平持續(xù)時(shí)間為T1,,占空比為D,,利用下式求出被測(cè)加速度值(g=9.8m/s2):
???
其中,R=125MΩ,,T的單位為s,。利用單片機(jī)定時(shí)計(jì)數(shù)器可分別測(cè)出T1、T的值,,進(jìn)而求出加速度的值,。
1.2 基于DS18B20的溫度傳感器
??? DS18B20是美國(guó)DALLS公司最新推出的傳感器,用來(lái)檢測(cè)車室溫度,,具有以下優(yōu)點(diǎn):
??? (1)采用DALLS公司獨(dú)特的“單線”總線技術(shù),,通過(guò)串行通訊接口(I/O)直接輸出被測(cè)溫度,適合各種單片機(jī)或系統(tǒng)機(jī)型,。
??? (2)測(cè)溫范圍是-55℃~+125℃,,在-10℃~+85℃范圍內(nèi),可確保測(cè)量誤差不超過(guò)±0.5℃,。
??? (3)溫度分辨率可編程,。DS18B20的數(shù)字溫度輸出有9、10,、11,、和12位二進(jìn)制表示,未編程時(shí)默認(rèn)精度為12位,,通過(guò)對(duì)便箋式RAM中CONFIG寄存器的可編程溫度分辨率位R0,、R1進(jìn)行編程,可設(shè)定不同的溫度分辨率及最大轉(zhuǎn)換時(shí)間,,如表1所示。
?
??? 在芯片出廠時(shí)R1和R0均被配置為“1”,,即工作在12位模式下,。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令(44H)后,開(kāi)始啟動(dòng)轉(zhuǎn)換,,轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存在便箋RAM的第0,、1字節(jié)。在執(zhí)行讀便箋RAM命令后,可將這兩個(gè)字節(jié)的溫度值通過(guò)單線總線傳送給CPU,,高字節(jié)中的符號(hào)代表溫度值為正還是為負(fù),。
??? 以12位轉(zhuǎn)化為例,其中,,高5位為擴(kuò)展符號(hào)位,,如果測(cè)得的溫度大于0,這5位為0,,只要將測(cè)得的溫度乘以0.0625即可得到實(shí)際溫度,;如果小于0,這5位為1,,測(cè)到的溫度值需要取反加一后再乘以0.0625即可得到實(shí)際溫度,。
??? (3)內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM,扣除8位產(chǎn)品系列號(hào)和8位循環(huán)冗余校驗(yàn)碼CRC后,,產(chǎn)品序列號(hào)占48位,。出廠前就作為DS18B20唯一的產(chǎn)品序號(hào)存入其ROM中。在構(gòu)成大型溫度控制系統(tǒng)時(shí),,允許在單線總線上掛接多個(gè)DS18B20,。
??? (4)內(nèi)含寄生電源。該器件既可由單線總線供電,,也可選用外部+3.3V~+5V電源(允許電壓范圍是+3.0V~+5.5V),,進(jìn)行溫度/數(shù)字轉(zhuǎn)換時(shí)的工作電流約為1mA,待機(jī)電流僅為0.75μA,,典型功耗為+3.3mW~+5mW,。
??? (5)具有電源反接保護(hù)電路。當(dāng)電源電壓的極性接反時(shí),,能保護(hù)DS18B20不會(huì)因發(fā)熱而燒壞,,但此時(shí)芯片無(wú)法工作。
??? DS18B20引腳排列如圖2所示,。1腳為接地端,,2腳為數(shù)據(jù)輸入/輸出端(即單線總線),它屬于漏極開(kāi)路輸出,外接上拉電阻后常態(tài)下呈高電平。3腳接電源(VDD),,不用時(shí)需接地,。
?
1.3 基于采用負(fù)溫度系數(shù)(NTC)的溫度傳感器
??? 蒸發(fā)器溫度的測(cè)量傳感器采用原車的具有負(fù)溫度系數(shù)(NTC)的傳感器,其溫度范圍較寬,,溫度和電阻值的變化曲線接近線性,,有利于溫度的測(cè)量。
??? 溫度測(cè)量電路采用簡(jiǎn)單的電阻串聯(lián)分壓式,,如圖3所示,。
?
??? 系統(tǒng)裝置中Rt的標(biāo)稱阻值為1.5kΩ,,實(shí)測(cè)0℃時(shí)的電阻值為4.65kΩ,本系統(tǒng)蒸發(fā)器溫度控制在3℃~5℃之間,,電阻Rt值在4.36kΩ~3.62kΩ之間變化,。圖中R1和R2不能太大,否則經(jīng)A/D轉(zhuǎn)換后得到的數(shù)據(jù)量變化不大會(huì)影響測(cè)量的分辨率,;R1和R2也不能太小,,否則會(huì)使流過(guò)Rt的電流增大,造成Rt本身功耗增大而影響測(cè)量精度,。系統(tǒng)裝置中R1取10kΩ小型金屬膜電阻,,R2選取1kΩ的精密可調(diào)電位器,用于溫度的調(diào)零整定,。
1.4 基于模塊MAX 7219的顯示電路
??? MAX7219模塊用來(lái)實(shí)時(shí)顯示加速度,、溫度(10ms刷新一次)和溫度設(shè)定值顯示。MAX7219是8位串行共陰數(shù)碼管動(dòng)態(tài)掃描驅(qū)動(dòng)電路,,其峰值電流可達(dá)40mA,,最高串行掃描速率為10MHz,典型掃描速率為1.3MHz,,僅使用單片機(jī)3個(gè)I/O口,,即可完成對(duì)8位LED數(shù)碼的顯示控制和驅(qū)動(dòng)。線路簡(jiǎn)單,,控制方便,,外圍電路僅需要一個(gè)電阻設(shè)定峰值段電流,同時(shí)可以通過(guò)軟件設(shè)定其顯示亮度,;還可以通過(guò)級(jí)聯(lián),,完成對(duì)多于8位的數(shù)碼管的控制顯示。值得一提的是,,當(dāng)工作于關(guān)閉(SHUTDOWN)方式時(shí),,不僅單片機(jī)仍可以對(duì)其傳輸數(shù)據(jù)和修改控制方式,而且芯片耗電僅為150μA,。
??? 圖4是MAX7219的應(yīng)用電路,。LOAD端是片選端,低電平有效,,上升沿鎖存接收的最后16位串行數(shù)據(jù),。CLK端是串行時(shí)鐘輸入端。DIN端是串行數(shù)據(jù)輸入端(高位先入),,在時(shí)鐘脈沖上升沿后數(shù)據(jù)有效,,下降沿后無(wú)效,因此一個(gè)時(shí)鐘脈沖對(duì)應(yīng)一位二進(jìn)制數(shù)據(jù),。Dout端是串行數(shù)據(jù)輸出端,用于級(jí)聯(lián)輸出。ISET端是峰值段電流設(shè)定端,,外接上拉電阻,。Sega~Segdp端是段輸出,接各數(shù)碼管的a~dp段,。dig0~dig7是位輸出線,。
?
1.5 基于STC12C5410AD的主電路設(shè)計(jì)
??? 總體硬件框圖如圖5所示。主電路的設(shè)計(jì)主要是以STC12C5410AD為控制核心的處理器及其輔助電路的設(shè)計(jì),,其中包括ADXL202加速度傳感器,、DS18B20線性數(shù)字溫度傳感器、NTC熱敏電阻傳感器,、基于MAX7219串行數(shù)碼管驅(qū)動(dòng)接口電路的設(shè)計(jì),。在STC12C5410AD的內(nèi)部中具有10KB的Flash程序存儲(chǔ)器,512B的數(shù)據(jù)存儲(chǔ)器和2KB的E2PROM用戶數(shù)據(jù)存儲(chǔ)器,,8路10位精度可編程A/D轉(zhuǎn)換電路,,內(nèi)部復(fù)位監(jiān)視電路和看門狗電路。從實(shí)際設(shè)計(jì)要求出發(fā),,充分利用其內(nèi)部的硬件電路,,可以簡(jiǎn)化電路的復(fù)雜程度,提高系統(tǒng)的穩(wěn)定性,。其外圍接口輔助電路的設(shè)計(jì),,有以下幾點(diǎn)需要注意。
?
??? (1)利用單片機(jī)的定時(shí)器,、中斷功能,,單片機(jī)INT0、INT1工作于外部下降沿觸發(fā)中斷狀態(tài),,T0,、T1分別定時(shí),從而測(cè)出加速度傳感器輸出的脈寬值,,再經(jīng)過(guò)單片機(jī)計(jì)算得到加速度的瞬時(shí)采樣值,。硬件連接如圖6所示。
?
??? (2)蒸發(fā)器溫度的測(cè)量使用原車NTC負(fù)溫特性的熱敏電阻,,使用單片機(jī)8路擴(kuò)展功能中的1路A/D轉(zhuǎn)換端口,,依據(jù)硬件設(shè)計(jì)安排,選P1.7作為A/D轉(zhuǎn)換端口,。因?yàn)檎舭l(fā)器溫度的控制僅在3℃~5℃比較小的范圍內(nèi),,溫度和電壓的變化接近線性。本系統(tǒng)采用10位精度A/D轉(zhuǎn)換編程,,因此,,在沒(méi)有采取溫度補(bǔ)償措施下仍能準(zhǔn)確測(cè)出蒸發(fā)器的實(shí)際溫度,,滿足系統(tǒng)控制要求。
??? (3)利用單片機(jī)內(nèi)部Flash數(shù)據(jù)存儲(chǔ)器掉電記憶功能,,把設(shè)定的控制溫度保存,,避免單片機(jī)掉電時(shí)數(shù)據(jù)丟失。
??? (4)啟用單片機(jī)內(nèi)部看門狗功能,,提高系統(tǒng)的軟件抗干擾能力,。
??? (5)MAX7219的引腳18(Isei)為硬件亮度調(diào)節(jié)控制端,用于設(shè)定段電流峰值,,通過(guò)在+VCC和該引腳間接一電阻實(shí)現(xiàn),。一般參考資料均描述為10kΩ左右,但在實(shí)際應(yīng)用中發(fā)現(xiàn),,此電阻選30kΩ左右比較妥當(dāng),,既可以保證顯示亮度,同時(shí)又可以保證顯示的可靠性,,否則會(huì)出現(xiàn)無(wú)法正常顯示的問(wèn)題,。據(jù)估計(jì),其原因是在10kΩ條件下,,段電流過(guò)大,,導(dǎo)致上電復(fù)位期間系統(tǒng)電流過(guò)大,從而引起系統(tǒng)電壓跌落,,使系統(tǒng)復(fù)位而引起工作失常,。
??? (6)STC12C5410AD的工作電壓為3.4V~5.5V。本系統(tǒng)單片機(jī),、傳感器,、輔助電路工作電壓均為+5V。驅(qū)動(dòng)空調(diào)壓縮機(jī)電磁離合器的執(zhí)行器件選取10A/12VDC的直流繼電器,,實(shí)際壓縮機(jī)電磁離合器的工作電流僅3A~5A左右,,因此繼電器完全滿足系統(tǒng)控制輸出負(fù)荷,主電源取自原車的12V蓄電池電源,,一路直接驅(qū)動(dòng)執(zhí)行繼電器控制壓縮機(jī)電磁離合器的接通與斷開(kāi),,另一路經(jīng)穩(wěn)壓濾波后供給單片機(jī)、外圍輔助和接口電路,。因?yàn)樵谄嚿系母蓴_源比較嚴(yán)重,,為確保系統(tǒng)穩(wěn)定可靠工作,電源須經(jīng)過(guò)嚴(yán)格穩(wěn)壓和濾波處理,。電源前端串接一高頻扼流電感L,,目的是阻礙汽車發(fā)動(dòng)機(jī)工作時(shí)火花塞產(chǎn)生的電磁脈沖進(jìn)入電源影響系統(tǒng)工作,+12V電源經(jīng)高頻扼流電感L后,,經(jīng)過(guò)C2,、C3組成的低頻和高頻濾波,,再經(jīng)三端穩(wěn)壓器件(LM7805)穩(wěn)壓輸出+5V穩(wěn)壓電源,經(jīng)C4,、C5低通和高通濾波后供給系統(tǒng)工作電源,,如圖7所示。
?
2 軟件設(shè)計(jì)
2.1 主程序與STC12C5410AD的初始化
??? 由于目前流行的絕大多數(shù)仿真器均不支持STC類增強(qiáng)型內(nèi)核為8051的單片機(jī)的仿真,,因此對(duì)基于STC12C5410AD開(kāi)發(fā)的應(yīng)用程序進(jìn)行匯編(或編譯)時(shí),必須首先對(duì)STC12C5410AD的特殊功能寄存器(SFR)進(jìn)行定義,,否則無(wú)法生成所需的機(jī)器代碼,。從這個(gè)意義上說(shuō),這也是STC12C5410AD的初始化工作之一,。由于無(wú)法仿真調(diào)試,,程序的調(diào)試過(guò)程只能通過(guò)把應(yīng)用程序下載到單片機(jī)應(yīng)用板上演示方能實(shí)現(xiàn)。因此程序的調(diào)試工作是個(gè)反復(fù)而耗費(fèi)時(shí)間的過(guò)程,,需要編程者有足夠的耐心,。軟件流程圖如圖8所示,并作以下幾點(diǎn)說(shuō)明:
?
??? (1)具備4位數(shù)碼管溫度,、加速度動(dòng)態(tài)刷新顯示,,包括符號(hào)位和小數(shù)點(diǎn)位。
??? (2)設(shè)定控制溫度有斷電記憶功能,。
??? (3)空調(diào)器壓縮機(jī)運(yùn)行或停止受控于車室溫度和汽車的運(yùn)行狀態(tài),。
??? 該控制過(guò)程是:把一段時(shí)間內(nèi)采樣的加速度代數(shù)值相加,加速度的代數(shù)和就反映汽車行駛的狀態(tài),。如果加速度的代數(shù)和等于零則代表汽車處在停止或勻速運(yùn)行狀態(tài),,大于零則代表汽車處于爬坡或加速的前進(jìn)狀態(tài),小于零則代表汽車處于減速或下坡的運(yùn)行狀態(tài),。人為設(shè)定一個(gè)大于零的加速度控制目標(biāo)值,,控制目標(biāo)值可通過(guò)外部多路開(kāi)關(guān)來(lái)選擇。假如此時(shí)駕駛室溫度未達(dá)到設(shè)定溫度目標(biāo)控制值,,壓縮機(jī)還在工作中,,如果汽車正處于加速狀態(tài)并且此時(shí)單片機(jī)檢測(cè)到的加速度代數(shù)和已經(jīng)大于或等于設(shè)定的目標(biāo)控制值,則延時(shí)斷開(kāi)壓縮機(jī),。延時(shí)時(shí)間由加速度代數(shù)和與設(shè)定的加速度控制目標(biāo)值比較的大小數(shù)值量級(jí)決定,,數(shù)值量大,延時(shí)時(shí)間短,,反之則長(zhǎng),。
??? (4)人工選擇設(shè)定車室控制溫度,由外部鍵控選擇,,加速度啟控值由外部多路開(kāi)關(guān)選擇,。
??? (5)啟用單片機(jī)內(nèi)部看門狗功能,。
2.2 系統(tǒng)軟件的規(guī)劃
??? 系統(tǒng)程序主要包括以下功能模塊:
??? (1)DS18B20溫度傳感器接口模塊,分為初始化子程序" title="子程序">子程序,、寫入子程序及讀取子程序等部分,。
??? (2)基于MAX7219的顯示模塊,分為MAX7219的初始化子程序,、寫入子程序及顯示子程序部分,。
??? (3)加速度傳感器測(cè)量模塊,分為ADXL202的加速度數(shù)據(jù)處理子程序,、加速度平均值子程序,。
??? (4)蒸發(fā)器溫度測(cè)量模塊。
??? (5)設(shè)定的溫度數(shù)據(jù)讀,、寫Flash數(shù)據(jù)存儲(chǔ)器模塊,。
??? (6)按鍵設(shè)置和控制輸出模塊
??? 以上程序比較復(fù)雜,限于篇幅,,在此不再贅述,。
??? 單片機(jī)控制空調(diào)節(jié)能系統(tǒng)裝置目前已在深圳某公司生產(chǎn)。在實(shí)際應(yīng)用中,,系統(tǒng)運(yùn)行可靠穩(wěn)定,,且具備節(jié)能及相對(duì)提升汽車加速性能的效果,同時(shí)還增加了汽車加速度和溫度實(shí)時(shí)顯示功能,。雖然此裝置節(jié)油效果不是很明顯(實(shí)測(cè)根據(jù)改良車型不同節(jié)油效率在2~10%之間),,然而該裝置通過(guò)適時(shí)巧妙地控制空調(diào)壓縮機(jī)的接通或斷開(kāi),能夠相對(duì)提升汽車加速性能,。
參考文獻(xiàn)
[1] 陳志恒,,胡寧.汽車電控技術(shù)[M].北京:高等教育出版社,2003.
[2] 孫重祥,,曾志斌.汽車空調(diào)的使用維護(hù)和檢修方法[J].汽車電器,,2005,(7):39-41.
[3] 洪華.基于單片機(jī)控制的汽車空調(diào)控制器系統(tǒng)[J].家電科技,,2005,,(1):60-62.
[4] 沙占友.集成傳感器應(yīng)用[M].北京:中國(guó)電力出版社,2005.