摘 要:文章研究的課題是采用AVR單片機來設計中央空調風機盤管控制器。它功能簡單,通過檢測室內溫度、控制三速電機來實現。風機盤管控制器設有一個RS485通信接口,通過控制器上的按鍵來設置通訊地址,控制器具有記憶功能。
關鍵詞:AVR單片機;串行通信;遠程控制
1 系統的研究背景:主要內容及重要意義
1.1 研究背景、目的和意義
計算機監控系統是以監測控制計算機為主體,加上檢測裝置、執行機構與被監測控制對象(生產過程)共同構成的整體。在這種系統中,計算機實現了生產過程的檢測、監督和控制功能。我們通過現場設備的集中控制、遠程控制、自動控制,并且能夠通過工控機來觀察到系統運行的各項參數,實現遠程參數修改,從而使系統維護變得簡單易行。
1.2 主要研究內容
研究的對象是一種戶型中央空調控制系統的末端控制器。該控制器的核心是一片AVRMega8單片機。該類型的單片機外圍資源豐富,只用很少的外圍器件就可以構建一個小系統。它的主要作用是一方面接收上位機發送來的控制指令,直接控制空調機的運行;另一方面將末端控制器采集到的各種數據上傳到上位機,使操作人員在控制室里就可以看到各個房間的空調設備的運行情況。還可以實現房間空調溫度的遠程設定。
2 系統結構綜述
系統結構圖如下圖所示:整個系統以Atmega8為核心,外圍器件主要有MAX485芯片,兩位數碼管顯示器,LED,溫度傳感器以及信號調理電路,按鍵,繼電器。
2.1 工作原理
末端控制器的核心為一片Atmega8單片機。其主要的控制功能有:完成與路由器的串行通訊、采集環境溫度數據、兩位數碼管動態顯示、顯示制冷/采暖狀態、完成參數設定、驅動三個繼電器。控制器的各項設定參數保存在EEPROM中,從而具有記憶功能,斷電不會丟失。
2.1.1 通信部分
單片機與上位PC機的通訊是通過路由器間接實現的。每個路由器可以掛接32個溫度控制器。單片機通過串行口與路由器交換數據,一方面接收命令字,另一方面將本系統運行狀態數據上傳到路由器,進而通過路由器來實現與上位機的數據交換。
2.1.2 溫度測量部分
溫度傳感器對環境溫度進行采樣。溫度傳感器將溫度信號轉換為電信號,經信號調理放大電路將傳感器來的信號變為符合要求的電壓信號,單片機通過模/數轉換器將模擬量轉換為數字量。
2.1.3 顯示部分
單片機根據命令字判斷制冷還是采暖,然后通過相應的發光二極管顯示出來,并控制三個繼電器的動作,進而控制電機;兩位共陽極數碼管采用動態掃描方式顯示。8位段碼由PB7~PB0驅動,兩位位碼分別由PC2、PC3驅動。Mega8單片機的通用I/O口可以吸收或輸出大電流,能直接驅動LED。在正常狀態下,數碼管顯示采集到的環境溫度值。在參數設定狀態下顯示參數名稱以及參數設定值。
2.1.4 參數設定部分
通過按鍵來完成參數設定。按鍵的掃描是通過外部中斷0(INT0)在中斷服務程序中進行的。參數設定功能主要由三個按鍵來完成,分別是MOD_KEY、Z_KEY(+)、J_KEY(-)。按下MOD_KEY后,顯示”He”,表明采暖狀態,此時按下J_KEY將顯示“Co”,表明制冷狀態,同時相應的LED指示燈亮。再次按下MOD_KEY后將顯示”LC”,表示系統處于鎖定狀態,在此狀態下無法修改參數。此時按Z_KEY,系統解鎖,數碼管顯示“OP”。再次按下MOD_KEY將顯示“OK”,表示參數設定完成。
長按MOD_KEY直到LED全滅,數碼管顯示“+”,表示正溫度補償,此時按下J_KEY,數碼管將顯示“-”,表示負溫度補償;再次按下MOD_KEY,顯示“-E”,表明現在可以修改溫度補償值(0~6);再次按下MOD_KEY,顯示“BO”,此為設定溫度下限值模式;接著按下MOD_KEY,顯示“TO”,此為設定溫度上限值,再次按下MOD_KEY,將顯示“OK”,參數設定完成。
修改從機地址要滿足兩個條件:其一,溫度補償值為6;其二,設定溫度值為12。只有滿足這兩個條件,在“TO”模式后將進入“AD”模式,在此模式下可以修改從機地址。
2.2 系統軟件設計
2.2.1 串行通訊協議
每一種通訊方式都有不同的通訊協議。本系統采用的串行通訊協議如下:
(1)地址和數據采用不同的格式,地址幀采用9位數據格式,并將TxB8位置1,從機即根據接收到的RxB8位來區分地址幀和數據幀。
(2)開始時從機都初始化為接收狀態,9位傳輸方式,等待主機發送地址幀。
(3)所有的從機接收到地址幀后與本機地址號比較,若不是本機地址則仍保持初始狀態;若是本機地址,則采用8位數據格式,等待接收聯絡碼信息。
(4)聯絡碼為4個字節,前三個字節分別為:01、從機地址號、特征碼,第四個字節為前三個字節的異或值,用作判斷接收到的聯絡碼是否正確。
(5)聯絡碼接收正確后從機再將聯絡碼發送到主機。然后從機讀取聯絡碼中的特征碼來判斷是接收命令字還是發送本機狀態數據。
(6)主機發送完地址后,即等待從機發送回的聯絡碼,若正確,主機則根據聯絡碼來判斷是發送命令字還是接收從機發送來的狀態數據。
(7)命令字與從機狀態數據為8個字節,前7個字節為采樣溫度、設定溫度、狀態標志位(開關機,制冷采暖,鎖機標志,自動手動,二級加熱)、狀態標志位(波特率,二級熱,一級熱,四通閥,內風機,壓縮機)、溫度偏置、溫度斜率、從機地址,第8字節為前7個字節的異或值。
(8)為保證通訊的可靠性,聯絡碼、命令字和從機狀態數據都采用多次發送的方法。
2.2.2 串行通訊程序設計
根據制定的通訊協議,在AVRStudio開發環境下,用匯編語言編寫了串口通訊程序。程序中數據的發送和接收都采用中斷方式。Atmega8單片機的USART有三個中斷源,分別是發送緩沖器空中斷、發送完成中斷和接收完成中斷,對應有三個指示狀態的標志位發送緩沖器空標志位UDRE、發送完成標志位TXC和接收完成標志位RXC。
參考文獻
[1]孟憲章.樓宇自控系統電氣運行維修手冊
作者簡介:朱荃(1979,6-),男,籍貫:山東省濟南市,單位:山東航空集團有限公司山東航空大廈,職稱:工程師,研究方向:樓宇自動控制)。