μC/OS-II系統(tǒng)與ARM在中央空調機組控制器中的應用
隨著中央空調的普及應用,如何對中央空調機組實施有效的控制,是許多科研人員研究的重要課題。目前國內中央空調機組控制器硬件方面主要采用8位單片機為核心處理器,這種方式由于資源有限,導致人機交互不友好、機組的實時監(jiān)控性能低、整機運轉難以實現(xiàn)多機組網聯(lián)控、節(jié)能效果差。采用RISC架構的ARM微處理器具有小體積、低功耗、低成本、高性能的特點,指令執(zhí)行速度快,執(zhí)行效率高,且具有豐富的片內外圍電路,有利于簡化系統(tǒng)設計,提高系統(tǒng)可靠性。本控制系統(tǒng)選擇了Philips公司ARM7處理器LPC2210,移植了實時操作系統(tǒng)μC/OS-II,系統(tǒng)運行穩(wěn)定可靠。
本文引用地址:http://2s4d.com/article/149680.htm1 空調系統(tǒng)簡介及控制要求
中央空調由集中制冷/加熱站和空調機組兩大部分組成。前者提供系統(tǒng)所需要的冷熱源,后者通過調節(jié)冷凍水/熱蒸汽的流量及空氣風量來調節(jié)溫度,調節(jié)加濕閥來調節(jié)房間的濕度。機組的控制任務是自動調節(jié)空氣溫濕度、風速、送風量及空氣的潔凈度。系統(tǒng)中所需檢測與控制的參量為:自動檢測新風、送風、回風及被控房間溫、濕度及正壓值,表冷器/加熱器的供、回水溫度;自動檢測送、回風機及故障報警;中低效過濾器壓差狀態(tài)及超差報警;根據室外空氣狀態(tài)和室內正壓值自動調節(jié)新風、回風、排風閥開度 ;根據被控參數及設定參數自動調節(jié)表冷器、加濕器的電動調節(jié)閥的開度。
2 現(xiàn)場控制器硬件結構
如圖1所示,整個系統(tǒng)可分為ARM處理器模塊、電源模塊、各總線接口模塊、存儲模塊、人機交互模塊、模擬量輸入輸出模塊及數字量輸入輸出模塊等。
主處理器選用Philips公司生產的ARM7芯片LPC2210,該芯片是基于支持實時仿真和跟蹤的ARM7TDMI-S CPU的微控制器,最高工作頻率可達60 MHz,內部帶有16 KB RAM,多達122個通用I/O口(可承受5 V電壓),具有兩個帶16 B收發(fā)FIFO的UART,兩個完全獨立的同步串行接口SPI等豐富的外設。本系統(tǒng)中,存儲模塊由擴展的2 MB NOR Flash(SST39VF160)與8 MB PSRAM(MT45W4MW16)構成,分別使用LPC2210外部存儲器接口的Bank0和Bank1地址空間;人機交互模塊包含鍵盤和LCD兩部分,顯示和設置空調機組的運行參數及狀態(tài)??刂破髟O有8個按鍵輸入,使用I2C接口的接盤與LED驅動芯片ZLG7290進行鍵盤掃描;從USB接口用于控制器與調試計算機的通信;控制平臺設計了以RTL8019AS芯片為核心的以太網接口電路,實現(xiàn)控制器與上位監(jiān)控級計算機之間的通信;CAN總線接口可用于現(xiàn)場設備的通信;ISP接口、JTAG口為程序下載調試接口;A/D模塊采用LPC2210自帶的8路10位ADC轉換器,檢測各路溫度及濕度模擬量的輸入,構成反饋控制。D/A模塊的輸出信號作為比例放大器的輸入,控制各個調節(jié)閥門的開度大小,實現(xiàn)風量和流量控制。數字量輸入通道檢測風機的運行狀態(tài)及過濾網壓差報警信號;數字量輸出通道輸出風機、加濕器的開關控制信號??刂破魍ㄟ^對整個空調系統(tǒng)新風、回風的溫濕度、送風風機運行狀態(tài)、初中效過濾段的壓差等信號的采集,控制送風風機的變頻調速、加濕器的加濕、新風及回風閥門的開度、冷熱水閥的開度大小,以達到設定的空氣狀態(tài)。
3 現(xiàn)場控制單元的軟件設計
3.1 軟件層次與功能
控制器軟件由3部分組成:實時操作系統(tǒng)、硬件驅動程序和運行在操作系統(tǒng)之上的應用程序。實時操作系統(tǒng)采用源碼公開的μC/OS-II,基于其內核擴展的實時操作系統(tǒng)的整體結構如圖2所示。
Bootloader的主要功能是初始化必要的硬件并啟動操作系統(tǒng)。應用軟件層實現(xiàn)中央空調的相關控制任務,包括初始化任務、故障處理任務、數據通信任務、數據采集任務、機組控制任務及顯示任務。底層硬件設備控制驅動層初始化微控制器與外圍部件管腳連接的配置,建立處理器與外圍功能電路之間的關聯(lián),與具體硬件電路相關。功能部件命令接口驅動實現(xiàn)處理器各個功能模塊的運作機制,如串口、SPI、CAN等模塊,該層函數由上兩層調用。功能部件協(xié)議實現(xiàn)層提供各功能模塊初始化函數、讀寫函數以及中斷處理函數等。上兩層軟件設計與操作系統(tǒng)密切相關,利用操作系統(tǒng)管理控制任務、實現(xiàn)任務間的數據交互通信和延時等。
3.2 移植μC/OS-II
LPC2210的ARM7TDMI-S內核用ARM ADS1.2作為編譯器移植μC/OS-II。μC/OS-II的移植涉及到與處理器及編譯器相關的OS_CPU.H、OS_CPU_C.C和OS_CPU_A.S 3個文件。其包括以下內容:(1)設置OS_CPU.H頭文件中與處理器和編譯器相關的代碼,如整數、浮點數、堆棧等數據類型定義,打開或者關閉中斷函數設置,定義堆棧增長方向,任務切換的執(zhí)行代碼。(2)用C語言在OS_CPU_C.C文件中編寫若干與操作系統(tǒng)相關函數,如任務堆棧初始化函數OSTaskStkInit();μC/OS-II在執(zhí)行某些操作時調用的用戶函數,如OSTaskCreateHook()、OS-TaskDelHook()、OSTaskSwHook()、OSTaskStatHook()和OS-TimeTickHook()等。(3)在OS_CPU.ASM文件中用匯編語言編寫4個與處理器相關的函數:運行優(yōu)先級最高的就緒任務OSStartHighRdy()、任務級的任務切換函數OSCtxSw()和中斷級的任務切換函數OSIntCtxSw()和中斷服務函數OS-TickISR()。
3.3 應用程序
在μC/OS-II中,應用程序以任務形式存在,每個任務都是無限循環(huán)的,并處于以下五種狀態(tài)之一:休眠態(tài)、就緒態(tài)、運行態(tài)、掛起態(tài)和被中斷態(tài)[7]。根據中央空調的控制要求,本系統(tǒng)由以下幾個任務來實現(xiàn)。
(1)定義5個基本的信號量用于任務之間的同步:故障信號量、通信信號量、定時采集信號、機組控制信號量和顯示信號量。
(2)初始化任務Task_init()具有最高運行優(yōu)先級,優(yōu)先級Prio=10,該任務完成處理器I/O接口的初始化,向量中斷分配與設置,定時器初始化以及I2C、串口等基本功能部件的初始化工作,為后繼任務的運行做準備,只運行一次。
(3)故障處理任務Task_error()為次優(yōu)先級任務,優(yōu)先級Prio=11。當獲得Data_err_sem信號后判斷機組故障的類型,按照預先的設定進行實時故障處理,并給出報警、提示故障原因。
(4)數據通信任務Task_comminication()的優(yōu)先級Prio=12,當有數據傳送請求時便通過以太網與上位機進行通信,完成命令及數據的傳送。
(5)數據采集任務Task_collect()優(yōu)先級Prio= 13,主要完成周期性地采集各路溫度模擬量、濕度頻率量和開關量信號的輸入,為機組控制任務提供運算數據。
(6)機組控制任務Task_control()是整個系統(tǒng)任務中的核心,優(yōu)先級Prio=14。當獲得采集任務釋放的Data_Control_sem信號后,便對采集過來的各路溫濕度信號及開關量信號進行處理,輸出控制信號,完成對各個調節(jié)閥的控制;且當有故障發(fā)生時釋放故障信號量Data_err_sem。
(7)顯示任務Task_display()優(yōu)先級最低,Prio= 15。當獲得顯示信號量Data_Display_sem時任務就緒,刷新機組當前的設置參數及運行狀態(tài)。
系統(tǒng)整體軟件流程圖如圖3所示。系統(tǒng)初始化后便建立各個運行任務,啟動多任務調度機制,在各個同步信號的協(xié)調下有序運行。
3.4 數據處理算法
在機組控制任務Task_control()中需要對采集過來的各路模擬量及數字量信號進行處理,以得到合適的輸出控制信號,選取何種處理方法直接關系到控制器的控制品質。針對中央空調對象大慣性、大滯后、非線性等特性,常規(guī)PID控制無論在參數整定還是在控制精度或控制過程都存在不足。本系統(tǒng)采用基于T-S模型的模糊神經網絡參數自整定PID控制方法,利用神經網絡經訓練后可以逼近任意非線性關系特性,并綜合了PID控制與模糊控制各自的優(yōu)勢。圖4為控制系統(tǒng)結構圖,模糊神經網絡模塊根據誤差及其變換率實時地修改PID控制器的3個參數,使其處于最優(yōu)狀態(tài)。圖5為基于T-S模型神經網絡結構圖。
以溫控為例,網絡的輸入信號x1、x2分別是溫差及溫差變化率et、Δet,模糊論域分別定為[-20,20]、[-10,10],模糊子集均為:NB(負大)、NM(負中)、NS(負小)、ZE(零)、PS(正小)、PM(正中)、PB(正大),模糊規(guī)則49條,隸屬度函數為高斯函數。前件網絡輸入層直接將et、Δet送入到模糊化層計算其屬于各語言變量值模糊集合的隸屬度函數,規(guī)則層采用求積法計算出每條規(guī)則的適用度[10]。后件網絡由3個結構相同的并列子網絡組成,輸出PID控制器的3個控制參數kp、ki、kd。系統(tǒng)采集常規(guī)PID控制器工作時et、Δet輸入數據及控制參數為訓練樣本,利用誤差反傳算法訓練網絡參數:連接權pkji、隸屬度函數中心值cij及寬度δij。試驗記錄表明訓練后的控制器的動態(tài)特性與靜態(tài)特性均優(yōu)于傳統(tǒng)PID及單純模糊控制方法。
本中央空調現(xiàn)場控制器采用32位高性能ARM處理器,滿足了控制系統(tǒng)對實時監(jiān)控能力和組網通信能力的要求,簡化了系統(tǒng)設計。嵌人式操作系統(tǒng)μC/OS-II的移植保證了系統(tǒng)的實時性,多任務運行特性使所開發(fā)的控制軟件運行穩(wěn)定、可靠。
評論