PIC16C72單片機的空調(diào)控制系統(tǒng)設(shè)計
1 控制器原理
系統(tǒng)CPU根據(jù)遙控器或按鍵輸入的命令,對采集到的溫度進行智能判斷,然后作出相應(yīng)的制冷、制熱或除溫運行。再通過接口電路,驅(qū)動壓縮機、換向閥、風(fēng)向電機和室內(nèi)風(fēng)機作相應(yīng)動作,并對溫度用LED指示。系統(tǒng)的原理框圖如圖1所示。
2 硬件設(shè)計
進行系統(tǒng)硬件框圖設(shè)計時,既要考慮編寫程序的方便、又要充分利用軟件的功能來簡化硬件結(jié)構(gòu),即做到“軟硬兼施”。
2.1 單片機的選擇
系統(tǒng)有3路溫度模擬信號輸入,還有1路電壓和1路電流模擬輸入,共5路模擬輸入要求;而模擬信號要轉(zhuǎn)換成數(shù)字信號才能用單片機CPU處理。為提高系統(tǒng)的性能價格比,應(yīng)采用含有A/D轉(zhuǎn)換器的單片機。經(jīng)過各方面的綜合比較,我們選用了美國Microchip公司的PIC16C72單片機作為控制核心。它具有5路模擬量輸入的A/D轉(zhuǎn)換器,恰好滿足系統(tǒng)的模擬輸入要求。另外,它在1塊芯片上集成了1個8位邏輯運算單元和工作寄存器、2KB程序存儲器、128個數(shù)據(jù)存儲器、3個端口(A口、B口、C口)共22條I/O線、3個定時器/計數(shù)器。另外,只有35條易學(xué)易用而高效的RISC(精簡指令集計算機)指令,同時,芯片具看門狗功能,并提供對軟件運行出錯的保護。
2.2 模擬輸入電路
本系統(tǒng)直接用熱敏電阻進行測溫,再加一級電容濾波。對外交換溫度檢測電路,因其干擾較大,特加上二極管限幅保護。對傳感器的不同電阻值,將其所對應(yīng)的不同分壓值輸入至PIC單片機的A/D轉(zhuǎn)換口,在單片機內(nèi)部轉(zhuǎn)換成數(shù)字信號。該檢測電路結(jié)構(gòu)簡單,性能價格比高。又因采用的單片機為8位,所以溫度轉(zhuǎn)換精度高,可為0.5℃,完全滿足了空調(diào)的信號檢測精度要求。
對過流信號的檢測,不用經(jīng)過比較器,節(jié)約了資源;而是采用模擬信號整流分壓后直接輸入,通過單片機自帶的A/D轉(zhuǎn)換器,每500μs對其進行一次檢測,并進行軟件比較,以確認(rèn)是否過流。
對過零電壓信號的檢測,也是采用模擬信號整流分壓后直接輸入。因兩個電壓半波的過零點都要檢測,所以用橋式整流。模擬輸入電路如圖2所示。
2.3 溫度指示電路
該電路可對設(shè)定溫度和房間溫度兩種溫度的10個溫度值進行同時指示,而且結(jié)構(gòu)簡單,僅占用2根I/O線和使用1個八位移位寄存器74LS164。方法是對設(shè)定溫度進行穩(wěn)定指示,對房間溫度進行1s間隔閃爍指示。每秒取出溫度信號。如果是21℃或30℃,則直接將相應(yīng)位置成低電平,使相應(yīng)LED燈亮,如果上22~29℃,則將溫度轉(zhuǎn)換成相應(yīng)顯示碼,通過RB6產(chǎn)生CLOCK信號,RB7串行送出顯示碼至8位移位寄存器74LS164,再進行LED指示。
2.4 室內(nèi)風(fēng)向電機控制電路
本控制系統(tǒng)的室內(nèi)風(fēng)向葉片有自動、擺動以及5種固定角度等運行狀態(tài)。為得到高精度的角度控制,我們采用DC12V四相八拍步電機驅(qū)動。步進控制電路中采用單片機的RB2、RB3、RB4、RB5作為四相(A、B、C、D)八拍環(huán)行分配時序,經(jīng)電流放大器件ULN2003功率放大后驅(qū)動步進電機運轉(zhuǎn)??刂品椒ㄊ歉鶕?jù)目標(biāo)位置和當(dāng)前位置的角度差,輸出相應(yīng)數(shù)量的脈拍數(shù),并通過輸出脈拍的不同時序來控制正反轉(zhuǎn)。
2.5 室內(nèi)風(fēng)機控制電路
制冷和制熱量的大小與室內(nèi)風(fēng)機的轉(zhuǎn)速有著密切的關(guān)系。本系統(tǒng)中室內(nèi)風(fēng)機采用雙向晶閘管移相控制,使其產(chǎn)生電壓調(diào)速。控制電路如圖3所示。在單片機內(nèi)部,根據(jù)RA5口檢測到的電壓過零點為同步信號,再通過定時器控制產(chǎn)生所需脈沖的相位和寬度,從RC1口輸出,然后經(jīng)晶體管放大、脈沖變壓器隔離輸出,再觸發(fā)雙向晶體管導(dǎo)通。為了減小脈沖變壓器的容量,輸出的是幾個連續(xù)的窄脈沖序列。
單片機系統(tǒng)RA3口對室內(nèi)風(fēng)機的速度反饋脈沖進行計數(shù),并與給定值進行比較,然后進行積分調(diào)節(jié),對速度進行閉環(huán)控制。
2.6 繼電器實時控制電路
控制信號從單片機的通用雙向I/O端口RB1、RC4和RC5經(jīng)過驅(qū)動器ULN2003放大,控制繼電器,使壓縮機、室外風(fēng)機和換向閥按要求狀態(tài)動作。
3 軟件設(shè)計
軟件設(shè)計采用模擬化處理,主控程序包括以下幾個部分:程序的初始化、試運轉(zhuǎn)、數(shù)據(jù)和信號的采集與處理、溫度LED指示、室內(nèi)風(fēng)機的閉環(huán)積分控制、室內(nèi)風(fēng)向電機的步進控制。功能子程序包括制冷、制熱、除濕、自動四種運行模式。中斷程序包括遙控接收。各種定時的中斷查詢處理、速度檢測等。系統(tǒng)的主控程序流程如圖4所示。
系統(tǒng)資源分配:定時器0用于對速度反饋脈沖計數(shù),定時器1用于遙控處理,定時器2用于其它所有定時處理。由于定時器2處理的定時有20多個,時間長短更是千變?nèi)f化,短的只有500μs,長的可達24h(小時)。根據(jù)現(xiàn)實生活中一塊手表可處理多個事件的啟示,我們設(shè)計出口斷式查詢定時法,即將基準(zhǔn)中斷時間設(shè)為最小公約數(shù)500μs,每個事件分配1個時間寄存器、1個開始定時標(biāo)志和1個定時時間到標(biāo)志,在需要定時的時候,將其開始定時標(biāo)志1置。每次500μs中斷時,對各定時標(biāo)志位進行檢測,如果為1,則對相應(yīng)的時間寄存器進行定時處理,如果定時時間到,則將相應(yīng)的定時時間到標(biāo)志置1。
軟件系統(tǒng)的制冷、制熱、除濕和自動功能子程序模塊,主要功能是根據(jù)房間溫度和設(shè)定差值,并綜合考慮其他條件,然后對壓縮機和室內(nèi)外風(fēng)扇的運行狀態(tài)進行智能控制。同時,在各模塊里進行了睡眠和保護處理
評論