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