摘 要:在介紹空調(diào)室內(nèi)機(jī)控制器功能的基礎(chǔ)上,從軟件的規(guī)劃著手,詳細(xì)介紹了室內(nèi)機(jī)軟件的總體設(shè)計過程、詳細(xì)設(shè)計過程以及編碼的實現(xiàn),并在此基礎(chǔ)上重點給出了空調(diào)室內(nèi)機(jī)運(yùn)行模式的特點和結(jié)合這些特點如何用MPLAB集成開發(fā)環(huán)境去實現(xiàn)各運(yùn)行模式。
關(guān)鍵詞:空調(diào);控制器;單片機(jī);軟件設(shè)計
單片機(jī)軟件實現(xiàn)是單片機(jī)系統(tǒng)應(yīng)用的重點,他是在硬件設(shè)計基礎(chǔ)上實現(xiàn)程序設(shè)計的重要環(huán)節(jié)。單片機(jī)程序設(shè)計一般包括以下幾個步驟:軟件規(guī)劃、流程圖編制、代碼編寫。由于單片機(jī)系統(tǒng)具有軟硬件緊密結(jié)合的特點,因此在基于某種單片機(jī)系統(tǒng)的軟件開發(fā)時,應(yīng)充分了解該系統(tǒng)實現(xiàn)的硬件環(huán)境,同時也應(yīng)該在系統(tǒng)設(shè)計與硬件設(shè)計階段,對軟件設(shè)計有一個大體的規(guī)劃。因此,本文在介紹室內(nèi)機(jī)控制器功能的基礎(chǔ)上,重點討論如何用軟件實現(xiàn)該室內(nèi)機(jī)的功能。?
1室內(nèi)機(jī)控制器的功能
室內(nèi)機(jī)控制器主要是驅(qū)動風(fēng)門步進(jìn)電機(jī),接收來自紅外遙控器設(shè)計的指令,進(jìn)入到相應(yīng)的工作狀態(tài),并顯示運(yùn)行狀態(tài)。
室內(nèi)機(jī)控制器包括以下幾個硬件電路模塊:室內(nèi)機(jī)處理器,室內(nèi)機(jī)驅(qū)動電路,風(fēng)門步進(jìn)電機(jī),顯示板電路(LED),紅外遙控接收/發(fā)送電路,室內(nèi)機(jī)外裝置串行通信電路,溫度傳感器電路。室內(nèi)機(jī)控制電路框圖如圖1所示。
?
1.1室內(nèi)機(jī)CPU
從以上室內(nèi)機(jī)控制器包含的硬件電路模塊來看,要設(shè)計家用空調(diào)控制器在功能上要求具有2路溫度傳感器,1個步進(jìn)電機(jī)控制接口,1組PG調(diào)速風(fēng)機(jī)控制,10 個發(fā)光二極管溫度指示,紅外遙控接收接口和室外機(jī)組控制接口。選擇Microchip公司的PIC16C74單片機(jī),可以滿足以上條件,該單片機(jī)具有以下特點:
(1) 獨(dú)立分離的數(shù)據(jù)總線和14 b指令總線的“哈佛”結(jié)構(gòu),采用33條精簡指令集,指令執(zhí)行速度快,效率高。內(nèi)含4 kB程序存儲器和192 B數(shù)據(jù)存儲器,滿足設(shè)計要求。
(2) 內(nèi)置具有8路10 b A/D轉(zhuǎn)換,簡化電路設(shè)計。
(3) 3個硬件定時器,便于控制器復(fù)雜的延時保護(hù)。
1.2PG電機(jī)
PG電機(jī)內(nèi)的霍爾傳感器主要是檢測電機(jī)的轉(zhuǎn)速并反饋到CPU中,最終達(dá)到調(diào)節(jié)風(fēng)速的目的。在設(shè)計閉環(huán)風(fēng)機(jī)調(diào)速部分,可以采用簡單的二階伺服環(huán)路控制模式,在速度閉環(huán)的基礎(chǔ)上增加加速度閉環(huán)控制算法,解決風(fēng)機(jī)控制的風(fēng)速抖動問題,使得PG電機(jī)運(yùn)轉(zhuǎn)平穩(wěn)性得到大幅度提高。
2空調(diào)室內(nèi)機(jī)控制器軟件規(guī)劃
2.1軟件的總體設(shè)計
在進(jìn)行室內(nèi)機(jī)控制器軟件實現(xiàn)時,首先要進(jìn)行軟件設(shè)計,軟件設(shè)計主要基于模塊化設(shè)計思想,將軟件分解成若干功能,通過主程序?qū)⒏鬈浖O(shè)計模塊有機(jī)地組織起來。該室內(nèi)機(jī)控制器的軟件設(shè)計模塊主要包括:主程序、紅外接收模塊、運(yùn)行模塊、風(fēng)門步進(jìn)電機(jī)控制模塊、PG風(fēng)機(jī)調(diào)速模塊、運(yùn)行模式模塊、A/D轉(zhuǎn)換處理模塊。同時在設(shè)計時應(yīng)考慮以下幾類中斷:
自動按鍵中斷、風(fēng)機(jī)速度中斷,除此之外應(yīng)規(guī)劃設(shè)計2個定時器中斷:設(shè)置定時器0產(chǎn)生250ms定時中斷,定時器1產(chǎn)生125 μs定時中斷。
2.2軟件的詳細(xì)設(shè)計
對室內(nèi)機(jī)控制器在總體上進(jìn)行了模塊功能的設(shè)計后,應(yīng)對每一個模塊的實現(xiàn)進(jìn)行詳細(xì)設(shè)計,在這里以運(yùn)行模式模塊為例來討論該模塊的詳細(xì)設(shè)計過程。
空調(diào)室內(nèi)機(jī)運(yùn)行模式主要包括:自動運(yùn)行模式、制冷運(yùn)行模式、抽濕運(yùn)行模式、通風(fēng)運(yùn)行模式和制熱運(yùn)行模式。以下主要從各運(yùn)行模式特點、各模式與主程序的流程圖規(guī)劃和運(yùn)行模式編程語言的選擇與編程實現(xiàn)等3個方面介紹如何開發(fā)一個復(fù)雜工程。
2.2.1空調(diào)室內(nèi)機(jī)各運(yùn)行模式的特點
(1) 自動運(yùn)行模式進(jìn)入自動模式,LED顯示屏上自動標(biāo)志常亮,5 s后選定工作模式,5 s期間風(fēng)門、風(fēng)速、溫度可調(diào),空調(diào)根據(jù)最終設(shè)定溫度(默認(rèn)初始設(shè)定值24 ℃)與當(dāng)前室溫的差別,自動進(jìn)入制冷或制熱模式,以維持設(shè)定溫度,令室內(nèi)溫度為T,設(shè)定溫度為T0,當(dāng)T≥T0時,進(jìn)入制冷運(yùn)行;當(dāng)T<T0時,進(jìn)入制熱運(yùn)行。
(2) 制冷運(yùn)行模式制冷運(yùn)行模式溫度設(shè)定范圍為16~30 ℃(初始值24 ℃),當(dāng)T≥T0時,壓縮機(jī)、外風(fēng)機(jī)運(yùn)轉(zhuǎn);當(dāng)T<T0時,壓縮機(jī)、外風(fēng)機(jī)停止運(yùn)轉(zhuǎn);當(dāng)室內(nèi)溫度回升到高于設(shè)定溫度1.0 ℃時,壓縮機(jī)、室外風(fēng)機(jī)運(yùn)轉(zhuǎn),室內(nèi)機(jī)始終運(yùn)轉(zhuǎn),可選 擇自動、高、中、低任意一檔風(fēng)速。在自動風(fēng)速時:Δt≥2 ℃,高風(fēng);Δt≤0 ℃,低風(fēng)(其中Δt=|T-T0|);當(dāng)選擇制冷方式運(yùn)轉(zhuǎn)后,空調(diào)可按圖2所示運(yùn)行。在制冷狀態(tài)下,同時要考慮空調(diào)器自我保護(hù)的設(shè)計。例如,防止換向閥誤動作引起的異常升溫和防止凍結(jié)等。
(3) 制熱運(yùn)行模式制熱運(yùn)行模式下溫度設(shè)定范圍為16~30 ℃(初始值24 ℃),當(dāng)選定制熱運(yùn)行方式后,可按圖3所示運(yùn)行,在制熱過程中風(fēng)速可任意選擇,并在制 熱過程中考慮防冷風(fēng)控制、超負(fù)荷、吹余熱等保護(hù)功能的設(shè)置。
(4) 抽濕運(yùn)行模式當(dāng)選擇抽濕方式運(yùn)轉(zhuǎn),空調(diào)器將以制冷方式運(yùn)轉(zhuǎn)到室內(nèi)溫度達(dá)到遙控器設(shè)定的溫度為止,然后轉(zhuǎn)入抽濕方式,開3 min再停3 min,如此循環(huán)進(jìn)行。停機(jī)時,內(nèi)風(fēng)機(jī)延時30 s停止。在抽濕運(yùn)轉(zhuǎn)時,溫度可調(diào),溫度范圍設(shè)定在16~30 ℃。
(5) 通風(fēng)運(yùn)行模式在通風(fēng)運(yùn)行模式下,室外機(jī)組停止運(yùn)轉(zhuǎn),室內(nèi)風(fēng)機(jī)可選擇自動、高、中、低任意一檔風(fēng)速。當(dāng)Δt>4 ℃時,運(yùn)行高風(fēng),當(dāng)Δt<0 ℃時,運(yùn)行低風(fēng)。
2.2.2空調(diào)各運(yùn)行模式的流程圖設(shè)計
面對復(fù)雜系統(tǒng)的實現(xiàn),在程序?qū)崿F(xiàn)之前,應(yīng)依賴于流程圖使復(fù)雜的問題變得清晰易于理解,因此在分析了各運(yùn)行模式的特點后,利用結(jié)構(gòu)化分析方法將各運(yùn)行模式模塊化,然后再在模塊化的基礎(chǔ)上具體繪制各模塊的流程圖,將各功能模塊的功能進(jìn)行進(jìn)一步明確。以下給出了主程序的流程圖和制冷運(yùn)行模式的流程圖,如圖4、圖5所示。
2.2.3運(yùn)行模式編程實現(xiàn)
各模塊的流程圖畫好后,下一步的工作就是要用某種編程語言實現(xiàn)各功能模塊。在用編程語言實現(xiàn)時,選擇了Microchip公司提供的MPLAB(4.00)集成開發(fā)環(huán)境。該開發(fā)環(huán)境是Microchip公司為其PIC系列單片機(jī)專門設(shè)計的開發(fā)環(huán)境,該平臺包括編輯器、編譯環(huán)境、軟件仿真、硬件仿真,同時該環(huán)境采用Windows界面,開發(fā)設(shè)計非常方便。由于篇幅的原因這里只給出制冷運(yùn)行模塊的編程實現(xiàn)。
3結(jié)語
在基于PIC16C74單片機(jī)空調(diào)室內(nèi)機(jī)軟件的實現(xiàn)時,對該系統(tǒng)的系統(tǒng)設(shè)計與硬件設(shè)計進(jìn)行了充分的了解,并在此基礎(chǔ)上運(yùn)用結(jié)構(gòu)化程序設(shè)計的方法進(jìn)行功能分解與模塊設(shè)計,使得在編程時能達(dá)到事半功倍的效果,且有利于日后對程序的仿真和調(diào)試。
參考文獻(xiàn)
[1]何利民.MCS51單片機(jī)應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1994.
[2]史國生.交直流調(diào)速系統(tǒng)[M].北京:化學(xué)工業(yè)出版社,2002.
[3]李英順,倫淑嫻.模糊控制PID測控儀[J].儀表技術(shù)與傳感器,2003.
[4]胡漢才.單片機(jī)原理機(jī)接口技術(shù)[M].北京:清華大學(xué)出版社,1999.