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