介紹了一種基于單片機實現(xiàn)遠程溫濕度調(diào)控的智能控制系統(tǒng)。根據(jù)電力線載波傳輸和溫濕度調(diào)控的原理,闡述了系統(tǒng)的硬件框圖、模塊結(jié)構(gòu),詳細介紹了系統(tǒng)終端、編解碼單元和耦合電路模塊,并給出了系統(tǒng)軟件邏輯及流程框圖、PID溫濕度控制算法。通過本地或遠程操作實現(xiàn)對網(wǎng)絡(luò)內(nèi)的溫箱設(shè)備進行溫濕度調(diào)控,是集監(jiān)測、管理、控制于一體的智能測控設(shè)備。 以單片機為核心的控制系統(tǒng)可準確實現(xiàn)交互信息的輸入輸出,信息量大,被廣泛應(yīng)用于工控系統(tǒng)、移動電子設(shè)備中。利用電力線網(wǎng)絡(luò)作為高速數(shù)據(jù)的傳輸媒介,能夠創(chuàng)造出很高的經(jīng)濟效益和社會效益。電力線載波通訊是利用電網(wǎng)的電力線作為傳輸媒介的有線傳輸模式,作為載波通訊在同一電力變壓器范圍內(nèi)無需另外架設(shè)線路,成本低,使用方便。雙音多頻DTMF(Dual Tone Multi Frequency)信號由于具有較強的抗干擾能力和可靠的信號傳輸?shù)葍?yōu)點,已逐漸被廣泛使用。本系統(tǒng)設(shè)計采用以單片機為核心結(jié)合PID算法的智能載波溫濕控制系統(tǒng),實驗證明系統(tǒng)運行穩(wěn)定可靠。 1 P89V51單片機簡介 P89V51是PHILIPS生產(chǎn)的高性能、低功耗的8位微控制器。它具有64 KB的Flash,1 KB RAM,雙工UART通道,有很強的外部擴展能力。片上集成了存儲、控制單元,能有效地控制系統(tǒng)體積,可以很容易地嵌入設(shè)備內(nèi)部。在需交互控制的設(shè)備中,基于單片機的控制系統(tǒng)可以單獨工作,而不跟設(shè)備其他部分發(fā)生交叉影響。其低廉的成本及穩(wěn)定的工作狀態(tài)成為工控、家電、儀器儀表設(shè)計的首選。 2 電力線載波溫度控制系統(tǒng) 2.1 系統(tǒng)總體設(shè)計原理 電力線載波是一種有線傳輸方式,不需要專門的傳輸線路,只需借助通常的電力線就可以完成數(shù)據(jù)傳輸。其傳輸信號由專門的芯片產(chǎn)生,本系統(tǒng)采用DTMF信號為載體,即: 其中f1、f2為不同信號的頻率,A1、A2為兩個頻率信號的幅值。發(fā)送端通過調(diào)制耦合至電力線;接收端通過解調(diào)還原獲得傳輸信號。電力線上的信號為電源信號和載波信號的疊加。載波信號的加載和卸載也就是電源信號和載波信號的疊加和分離過程。 本系統(tǒng)以單片機為核心,系統(tǒng)包括終端模塊、控制模塊、編碼解碼模塊、耦合電路等部分,分別實現(xiàn)信息的發(fā)送、接收和處理。系統(tǒng)框圖如圖1所示。 控制單元通過接收外部鍵盤信息或傳感器信息產(chǎn)生控制信號,經(jīng)信息識別、處理后通過編解碼芯片MT8888產(chǎn)生發(fā)送端信號,經(jīng)耦合電路至電力線發(fā)送。在接收端,通過耦合電路將載波信息卸載,逆向通過MT8888解碼至控制單元,從而執(zhí)行相應(yīng)的響應(yīng)功能。 2.2 系統(tǒng)終端 采用Sensirion公司推出的可以同時測量溫度和濕度的數(shù)字式傳感器SHT15。內(nèi)部集成溫濕傳感器、A/D轉(zhuǎn)換、放大器、I2C等,不需外圍器件即可直接輸出標定的數(shù)字信號。測量穩(wěn)定、精度高,濕度精度為±2.0%RH,溫度精度為±0.5℃。將SHT15輸出的數(shù)字量做如下的轉(zhuǎn)換成實際溫濕度值。 溫箱內(nèi)部采用電熱絲和電風扇調(diào)節(jié)溫度。檢測到溫度低于設(shè)定溫度時,電熱絲通電,當溫度超過設(shè)定溫度時,電風扇通電降溫,兩者均通過繼電器實現(xiàn)工作。 按鍵模塊選用8緩沖驅(qū)動器,三態(tài)的74LS244擴展8個按鍵。按鍵沒有按下時,IO輸入被拉高為高電平;當按鍵按下時,相應(yīng)管腳被拉低,產(chǎn)生外部中斷信號,在中斷服務(wù)程序中讀按鍵信息。使能芯片,單片機通過74LS244讀取按鍵狀態(tài)。每個按鍵對應(yīng)于電力線上的各個溫箱設(shè)備,各控制設(shè)備既是主控設(shè)備也是被控設(shè)備,方便實驗員隨時調(diào)節(jié)各溫箱情況。 溫度調(diào)節(jié)模塊通過旋轉(zhuǎn)編碼器即旋鈕進行溫度調(diào)節(jié),能比較準確地設(shè)定溫度值。旋轉(zhuǎn)編碼器是通過轉(zhuǎn)軸旋轉(zhuǎn),經(jīng)內(nèi)部電路產(chǎn)生90°相位差的正、反計數(shù)脈沖,不直接改變信號,轉(zhuǎn)速越高其脈沖寬度就越窄。當旋轉(zhuǎn)編碼器正向旋轉(zhuǎn)時,A相相位超前B相90°;反向旋轉(zhuǎn)時,B相超前A相90°。編碼器旋轉(zhuǎn)時,每轉(zhuǎn)過一個柵格,A相就產(chǎn)生一個脈沖信號,觸發(fā)一次中斷,在中斷服務(wù)程序中通過判斷B相的值來確定是正轉(zhuǎn)還是反轉(zhuǎn)并計數(shù)。為了有效地消除旋轉(zhuǎn)時的抖動,編碼器產(chǎn)生的信號通過施密特觸發(fā)器整形后再接到單片機,同時在代碼中做一個相應(yīng)的延時能達到很好的效果。 為了能直觀地反映溫箱內(nèi)的環(huán)境情況,本設(shè)計增加了通用的12864液晶模塊。該液晶模塊的控制芯片為ST7920,支持繪圖、字符和漢字,在一般的應(yīng)用中足以勝任。當液晶控制碼為寫狀態(tài)時,數(shù)據(jù)通過串口發(fā)送至液晶控制單元,顯示各溫箱溫濕度值及變化趨勢,并能顯示預(yù)計溫度變化時間等信息。 2.3 編解碼模塊 編解碼電路以MT8888為核心單元,通過控制單元的控制,可以分別執(zhí)行編碼、解碼。當有按鍵操作時,單片機被喚醒進入中斷,讀旋轉(zhuǎn)編碼器變量,獲取溫度調(diào)節(jié)信息,對所選擇溫箱進行溫度設(shè)定,將數(shù)據(jù)由單片機P1口送至MT8888。MT8888工作于DTMF發(fā)送模式時,單片機發(fā)送4位BCD碼于TDR(發(fā)送數(shù)據(jù)寄存器)中控制芯片內(nèi)部分頻器合成DTMF發(fā)送信號,由8號引腳輸出經(jīng)耦合電路加載至電力線上,同時將修改信息送液晶顯示,方便管理。 在被控設(shè)備端,其原理大致與主控設(shè)備端相似。此時,MT8888工作于接收模式。通過耦合電路卸載電力線上的DTMF信號,送MT8888解碼后經(jīng)RDR(接收數(shù)據(jù)寄存器)送單片機。單片機通過中斷服務(wù)程序,在P1口獲取解碼后的BCD碼信息。通過對比接收到的數(shù)據(jù)和各終端設(shè)備設(shè)定數(shù)據(jù),判斷是否執(zhí)行操作,并返回操作信息。在整個過程中,任意終端設(shè)備均可以了解在整個電力線系統(tǒng)中其他設(shè)備的工作狀況。 2.4 電力線耦合模塊 按照低壓電力線通信耦合技術(shù)的要求,必須進行強弱電隔離,同時確保較高的載波信號加載效率。為此,本系統(tǒng)采用“電磁耦合”與“阻容耦合”相結(jié)合的“復(fù)合耦合”。載波接收耦合電路如圖2所示,變壓器在耦合載波信號的同時使通信電路與強電隔離。二極管D1、D2起限幅作用,用來保護后續(xù)電路。其調(diào)諧回路的諧振頻率應(yīng)滿足: 若將中心頻率選在460 kHz,電容取值為22 nF,經(jīng)計算可得電感L的取值在5.7 nH左右,即通過調(diào)節(jié)變壓器初級繞組電感量來調(diào)節(jié)中心頻率。變壓器T1將電力線與耦合電路的其余部分相隔離,從電力線上接收載波信號,濾除來自電力線上的干擾噪聲。 發(fā)送耦合電路如圖3所示,三極管Q1和變壓器T1組成調(diào)諧功率放大電路。同樣變壓器在耦合載波信號的同時使通信電路與強電隔離。在Q1和前級運放之間通過一個電阻R1耦合載波信號,同時避免后級電路產(chǎn)生自激振蕩,也能相應(yīng)的增加放大器的負載阻抗。前級運放輸出的信號經(jīng)R1輸入到功率放大管Q1,再經(jīng)Q1和諧振網(wǎng)絡(luò)組成的單調(diào)諧放大器放大耦合到電力線上,實現(xiàn)信號的發(fā)送。 3 控制系統(tǒng)的軟件設(shè)計 3.1 系統(tǒng)軟件結(jié)構(gòu) 系統(tǒng)軟件采用并行邏輯結(jié)構(gòu),主要分為主控部分和被控部分。根據(jù)各設(shè)備在網(wǎng)絡(luò)中的角色不同,自行切換到相應(yīng)的模式。系統(tǒng)默認為被控模式,即接收模式。系統(tǒng)程序由初始化程序、中斷程序、接收發(fā)送程序、溫度控制程序及終端人機交互程序等構(gòu)成。初始化程序包括單片機初始化、MT8888預(yù)置模式、按鍵初始化、顯示初始化等。系統(tǒng)上電后執(zhí)行初始化程序,完成后進入待機狀態(tài),等待收發(fā)中斷信號,從而判斷是否主控。當有按鍵中斷產(chǎn)生時,系統(tǒng)進入主控發(fā)送模式,通過解析按鍵信息,執(zhí)行發(fā)送動作,將溫濕度調(diào)節(jié)信號經(jīng)電力線網(wǎng)絡(luò)發(fā)送。處于被控接收模式的設(shè)備,在MT8888收到接收中斷后,耦合卸載電力線數(shù)據(jù)。通過單片機解析收到的數(shù)據(jù)信息,判斷是否是本機需要執(zhí)行的操作。若是則控制溫濕度調(diào)節(jié)模塊執(zhí)行操作,否則放棄信息。同時,每臺設(shè)備還間隔2 s將本地狀態(tài)廣播給電力線網(wǎng)絡(luò)上的其他設(shè)備。從而讓使用者可以在任一設(shè)備了解及控制所有設(shè)備。為了增強系統(tǒng)的穩(wěn)定性和抗干擾能力,單片機通過中斷信號喚醒工作,在判斷中斷信號的合法性后再執(zhí)行操作,可以避免誤操作和毛刺信號等干擾,同時利用看門狗定時器,保證了系統(tǒng)的穩(wěn)定可靠。系統(tǒng)軟件框圖如圖4所示。 3.2 PID控制算法 系統(tǒng)將傳感器采集的數(shù)據(jù)與設(shè)定值比較,通過PID算法,經(jīng)單片機發(fā)送控制量e(k)=(測量值-設(shè)定值),調(diào)節(jié)溫箱溫濕度。由于溫濕度的測控響應(yīng)緩慢有滯后性,本文采用增量PID算法,并進行簡單的調(diào)整,以克服超調(diào)和振蕩。其公式為: 本系統(tǒng)以單片機為核心,以電力線網(wǎng)絡(luò)作為傳輸通道,通過PID算法實現(xiàn)對同一網(wǎng)絡(luò)的各溫箱設(shè)備的溫濕度控制,是集監(jiān)測、管理、控制于一體的計算機測控設(shè)備。實驗證明本系統(tǒng)成本低廉,安裝調(diào)試方便,工作穩(wěn)定,抗干擾能力強。可增添其他傳感器測控模塊,適用于需要分散布局的應(yīng)用環(huán)境,有較強的實用性。 |