鄭錦紅
摘 要:本文介紹一種基于單片機(jī)溫控風(fēng)扇的控制系統(tǒng)設(shè)計(jì)方案。巧妙地利用單片機(jī)技術(shù),可控硅技術(shù),溫度傳感器技術(shù),軟件技術(shù), 達(dá)成設(shè)計(jì)目標(biāo)。硬件系統(tǒng)采用臺(tái)灣松翰科技生產(chǎn)的SN8P2722作為微處理器,利用高精度熱敏傳感器對(duì)室內(nèi)溫度的探測(cè)并適時(shí)顯示當(dāng)前溫度值,通過(guò)控制可控硅的導(dǎo)通,從而實(shí)現(xiàn)對(duì)電風(fēng)扇進(jìn)行溫度調(diào)速控制。軟件系統(tǒng)則采用模塊設(shè)計(jì)即主程序,定時(shí)程序,溫度顯示程序,電機(jī)調(diào)速等程序。著重討論溫控相關(guān)程序的設(shè)計(jì)并給出流程圖和相關(guān)程序,該系統(tǒng)把智能自動(dòng)調(diào)節(jié)技術(shù)用于家用電器的控制中,系統(tǒng)利用軟件技術(shù)實(shí)現(xiàn)了風(fēng)速調(diào)級(jí)和關(guān)機(jī)控制,從而提高了系統(tǒng)的抗干擾性能和穩(wěn)定性。
關(guān)鍵詞:SN8P2722 時(shí)序 自動(dòng)控制
一、 課題設(shè)計(jì)意義
目前也有溫控風(fēng)扇,但普遍地風(fēng)扇的溫控優(yōu)點(diǎn)依然沒(méi)有,甚至其控制效果不明顯,仍僅限于關(guān)掉風(fēng)扇電機(jī),所以沒(méi)有得到足夠的市場(chǎng)反映,這是因?yàn)槠洚a(chǎn)品大多直接采用普通熱敏電阻作為溫控元件,電路溫控范圍窄、風(fēng)扇啟動(dòng)頻繁。不能由人自由設(shè)定溫度上下限,不能從容地自動(dòng)控制電扇電機(jī)的起停或轉(zhuǎn)速的快慢。本設(shè)計(jì)則采用高精度熱敏傳感器對(duì)溫度采樣并進(jìn)行A/D轉(zhuǎn)換,強(qiáng)大的八位單片機(jī)作為數(shù)據(jù)處理裝置,用相應(yīng)的驅(qū)動(dòng)電路控制電機(jī)的轉(zhuǎn)速或起停,從而實(shí)現(xiàn)電扇的智能化溫控。
二、系統(tǒng)
(一)系統(tǒng)功能概述
本設(shè)計(jì)以精簡(jiǎn)指令集單片機(jī)SN8P2722為核心,通過(guò)高精度NTC傳感器對(duì)室內(nèi)環(huán)境溫度進(jìn)行數(shù)據(jù)采集,用單片機(jī)處理,從而建立一個(gè)完整的控制系統(tǒng)。使電風(fēng)扇隨溫度的變化而自動(dòng)變換檔位,實(shí)現(xiàn)“溫度較低,風(fēng)力較弱,溫度較高,風(fēng)力較大”的功能。另外,用戶也可以通過(guò)鍵盤控制面板,設(shè)定電風(fēng)扇在一定范圍內(nèi)的最低工作溫度,當(dāng)溫度低于所設(shè)置最低溫度時(shí),電風(fēng)扇將自動(dòng)關(guān)閉,當(dāng)高于此溫度上限時(shí)電風(fēng)扇又將重新啟動(dòng)。
(二)系統(tǒng)原理
硬件系統(tǒng)采用模塊設(shè)計(jì)思想,該電路由溫度傳感電路、電機(jī)控制電電路、電源時(shí)鐘、顯示電路、看門狗電路等組成。而軟件系統(tǒng)則先進(jìn)行系統(tǒng)功能分析,后采用結(jié)構(gòu)化設(shè)計(jì),采取模塊設(shè)計(jì)。
三、總體硬件設(shè)計(jì)
(一)總體硬件設(shè)計(jì)
根據(jù)要求,選用臺(tái)灣SONIX(松翰)公司的SN8P2722作為中央處理器,具有2K*16bits程序ROM、128*8bits內(nèi)存RAM、內(nèi)部包含有16MHz RC振蕩電路和復(fù)位電路、WDT看門狗定時(shí)器、8bits時(shí)鐘定時(shí)器、5通道12bits ADC,18個(gè)雙向可編程I/O,輸入I/O可編程設(shè)置弱上拉電阻。其硬件能符合整個(gè)控制系統(tǒng)的要求,不需要外接其他存儲(chǔ)器芯片復(fù)位電路和定時(shí)器件,整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價(jià)比高。
該硬件電路由阻容降壓電源電路、紅外遙控接收電路、溫度傳感電路、數(shù)碼顯示和鍵盤掃描電路,電機(jī)控制與驅(qū)動(dòng)電路等組成。
1.阻容降壓電路設(shè)計(jì)
由于本系統(tǒng)是小電流控制系統(tǒng),另外出于成本考慮,選用阻容降壓式電源給系統(tǒng)供電(如右圖所示)。由于阻容降壓式電源是浮地的,全波整流雖然可以獲得稍大的電流,但是穩(wěn)定性和安全性要比半波整流更差。
2.紅處遙控接收電路設(shè)計(jì)
紅外遙控器是利用紅外線發(fā)射一連串的二進(jìn)制脈沖碼進(jìn)行傳遞信息,是一種無(wú)線、非接觸控制技術(shù),具有抗干擾能力強(qiáng),編碼及解碼容易,信息傳輸可靠,對(duì)環(huán)境影響小,成本低優(yōu)點(diǎn),本系統(tǒng)選用NEC協(xié)議的遙控器。
3.溫度傳感器電路設(shè)計(jì)
風(fēng)扇使用環(huán)境溫度一般在16℃~45℃ ,溫度范圍窄,選用高精度的熱敏傳感器,并經(jīng)過(guò)SN8P2722內(nèi)部進(jìn)行ADC轉(zhuǎn)換,得到12位分辨率的二進(jìn)制數(shù)值,再由MCU計(jì)算處理,得到精度達(dá)到0.1℃的溫度值。
4.溫度顯示與控制模塊設(shè)計(jì)
顯示面板選用3位8段共陰極LED數(shù)碼管,為節(jié)省MCU的有限資源,與鍵盤組成矩陣形式共享IO端口,通過(guò)動(dòng)態(tài)掃描輸出顯示內(nèi)容和動(dòng)態(tài)掃描輸入讀取鍵盤的鍵值。
(二)系統(tǒng)工作原理
本系統(tǒng)利用高精度NTC傳感器感應(yīng)到室內(nèi)環(huán)境溫度變化轉(zhuǎn)換成電壓信號(hào),濾波后直接輸入到MCU單片機(jī)IO端口,經(jīng)過(guò)MCU內(nèi)部ADC模數(shù)轉(zhuǎn)換為數(shù)字信號(hào),單片機(jī)處理溫度數(shù)字信號(hào),顯示在LED數(shù)碼管面板上,在溫控模式下通過(guò)實(shí)時(shí)環(huán)境溫度對(duì)風(fēng)扇進(jìn)行自動(dòng)控制。
當(dāng)掃描到有按鍵按下或接收遙控信號(hào),則對(duì)按鍵或遙控做出響度應(yīng)和處理,可以開(kāi)啟或關(guān)閉電風(fēng)扇;開(kāi)啟或關(guān)閉導(dǎo)風(fēng)輪;工作模式設(shè)置,可選擇正常模式、自然風(fēng)模式、睡眠模式和溫控自動(dòng)模式;定時(shí)關(guān)機(jī)設(shè)置,可定時(shí)0~9小時(shí);風(fēng)速檔位設(shè)置,正常模式下有高、中、低三檔風(fēng)速調(diào)節(jié)。
溫控模式下,風(fēng)扇的三檔物理調(diào)速通過(guò)軟件設(shè)計(jì)實(shí)現(xiàn)0~7檔調(diào)速。當(dāng)設(shè)定為溫控模式時(shí)進(jìn)入溫度自動(dòng)控制,MCU集到當(dāng)前實(shí)時(shí)環(huán)境溫度與預(yù)設(shè)的檔位溫度值比較,并選擇相對(duì)應(yīng)檔位,單片機(jī)自動(dòng)控制系統(tǒng)開(kāi)始工作。
四、主程序摸塊
根據(jù)風(fēng)扇系統(tǒng)各種功能相對(duì)獨(dú)立的特點(diǎn),采用結(jié)構(gòu)化設(shè)計(jì)軟件設(shè)計(jì)的總體思想由于整個(gè)系統(tǒng)要求實(shí)時(shí)性很高,因此系統(tǒng)必須快速響應(yīng)輸入,執(zhí)行相應(yīng)功能。整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),按其功能分為不同級(jí)別的程序模塊,采用中斷方式和分時(shí)掃描方式,滿足快速響應(yīng)的要求。
(一)系統(tǒng)軟件主程序匯編代碼如下
Startup:
call SystemInitialize // 調(diào)用系統(tǒng)初始化程序
call ClearRam // 調(diào)用內(nèi)存清空程序
call TimeDelay200 // 調(diào)用延時(shí)200ms程序
MainLoop:
call KeypadScan // 調(diào)用按鍵掃描程序
call RemoterScan // 調(diào)用遙控掃描程序
call TemperatrueCheck // 調(diào)用溫度轉(zhuǎn)換程序
call WorkRoutine // 調(diào)用工作模式程序
jmp MainLoop
(二)溫度控制程序設(shè)計(jì)
溫度控制程序是在溫控自動(dòng)模式下執(zhí)行的工作程序。依據(jù)采集到環(huán)境溫度的高低,控制風(fēng)扇的自動(dòng)運(yùn)行、暫停、關(guān)機(jī)和轉(zhuǎn)速調(diào)整,來(lái)改變風(fēng)量的有無(wú)或強(qiáng)度,以適合人的生理需求。
(三)溫度轉(zhuǎn)換和處理程序設(shè)計(jì)
溫度測(cè)量通過(guò)硬件電路把溫度信號(hào)轉(zhuǎn)變?yōu)橹绷麟妷盒盘?hào),由MCU內(nèi)置ADC電路采樣、量化和編碼,轉(zhuǎn)換成12-bits的二進(jìn)制數(shù)據(jù),通過(guò)溫度傳感器溫度與電阻的關(guān)系列表,查表獲得當(dāng)前溫度。程序由溫度轉(zhuǎn)換處理程序和溫度查表程序組成,通過(guò)連續(xù)讀取32次溫度采樣數(shù)值,求和后計(jì)算平均值,通過(guò)平均值的軟件濾波方法,減少采樣過(guò)程中的瞬時(shí)干擾,影響溫度采集的準(zhǔn)確性。
(四)溫度比較
風(fēng)扇控制由采集到的實(shí)時(shí)環(huán)境溫度值,與預(yù)設(shè)的溫度值比較,處于相應(yīng)溫度區(qū)間,速度索引設(shè)置相應(yīng)的檔位值。
五、結(jié)束語(yǔ)
本系統(tǒng)硬件電路比較簡(jiǎn)單,很多功能都是由軟件完成,抗干擾性較強(qiáng),只是溫控程序處理模塊在處理溫度輸入時(shí),由于SN8P2722單片機(jī)內(nèi)存資源有限,沒(méi)有對(duì)32組數(shù)據(jù)進(jìn)行排序并去掉最大值和最小值后,再進(jìn)行平均值計(jì)算,導(dǎo)致不能濾掉尖峰脈沖對(duì)溫度檢測(cè)的干擾,對(duì)溫度檢測(cè)的準(zhǔn)確性有一定的影響。但是因?yàn)樵跍囟葯z測(cè)電路加入了∏型濾波硬件電路,所以尖峰脈沖對(duì)溫度檢測(cè)的準(zhǔn)確性影響可以忽略。
[參考文獻(xiàn)]
[1] 胡漢文. 微型計(jì)算機(jī)原理與系統(tǒng)設(shè)計(jì)[M].清華大學(xué)出版社,2004.
[2] 梁宗裕,等.新潮小家電電路圖冊(cè)[M].機(jī)械工業(yè)出版社,2002.
[3] 何小艇.電子系統(tǒng)設(shè)計(jì) [M]浙江大學(xué)出版社,2004.
[4] 陳明熒,單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M]清華大學(xué)出版社,2004.