基于CAN總線的樓宇恒壓變頻供水監控系統設計與實現
在CAN總線通信功能中硬件電路設計中,采用了PHILIPS公司的獨立CAN通信控制器SJA1000和CAN總線接口TJA1040組成的CAN總線接口電路如圖3所示。CAN總線節點的發送與接收是通過事先設置驗收碼和驗收屏蔽碼可以控制智能節點從總線上接收哪些數據或命令。SJA1000由微控制器89C51通過8位地址數據復用總線和讀寫控制信號進行控制。SJA1000的中斷請求信號INT端連接至89C51的外部中斷輸入INT0端,CAN通信控制器可通過中斷與微控制器進行數據傳輸。SJA1000的發送輸出端TX0與接收輸入端RX0、RX1分別經高速集成光電耦合器6N137隔離后與CAN總線接口芯片TJA1040相連,6N137中的光敏器件采用了光敏二極管,可以滿足高速數字信號的傳輸,實現了CAN總線與節點間的隔離傳輸,有助于提高節點裝置的安全性和可靠性。
圖4參數自整定模糊控制PID控制器的結構圖
模糊控制是一種以模糊集合論、模糊語言變量與模糊邏輯推理為基礎的計算機數字控制。模糊控制器由三部分組成:模糊化、模糊推理和解模糊。由于恒壓供水調速系統由水泵、電機、變頻器等多個環節所組成,整個系統涉及較多的參數,部分參數在系統運行過程中是變化的。水泵工作特性具有很強的非線性,管路水頭的變化以及電力負載及其特性的變化等都將導致水泵運行工況點的改變,從而改變了系統參數。對于這樣的控制對象,常規的PID控制器難以保證系統在任何工況條件下始終具有最佳的控制性能。本文采用參數自整定模糊PID算法,以誤差e和誤差變化率ec作為輸入,可以滿足不同時刻偏差e和誤差變化率ec。參數自整定模糊控制PID的參數自整定思想就是先找出控制器的3個參數KP、KI和KD與偏差e和偏差變化率ec之間的模糊關系,在運行中通過不斷的檢測e和ec并將它們作為控制器的輸入,由控制器根據模糊控制規則對3個參數進行在線調整,以滿足不同e和ec對控制器參數的不同要求,從而使被控對象具有良好的動、靜態性能。對PID參數自調整的要求,利用模糊控制規則對PID參數進行修改便構成了參數自整定模糊控制PID系統。參數自整定模糊控制PID控制器的結構如圖4所示。
在供水控制的過程中,由于時間滯后現象存在,對系統的控制性能產生不利影響,尤其是時滯較大時。在供水系統中,時滯現象導致系統的動態性能較差。雖然模糊PID控制大大減小了系統參數變化對系統控制性能的影響,但是它沒有從根本上解決系統的大時滯問題。在設計供水系統的模糊PID控制器的過程中,我們通過引入Smith預估控制,將兩者結合起來設計了具有Smith補償的模糊PID控制器,取得了較好的應用效果。
圖5 系統主程序流程圖
供水系統現場控制器的軟件設計大體可以分為三個部分:一部分為初始化,包括單片機的初始化和CAN控制器的初始化;第二部分為現場水壓的采樣、運算和控制輸出;另一部分為作為CAN節點要完成的自身數據發送和來自其他節點(包括上位監控計算機)的控制命令與參數。具體實現上系統軟件有主程序、定時器T0中斷程序、外部CAN通訊INT0中斷程序三部分構成。主程序主要完成系統初始化、鍵盤掃描、模糊PID運算、水位故障處理等,如圖5所示。
在本設計中定時器T0中斷是本供水系統進行現場控制中重要的程序,包括管網壓力采樣、管網壓力顯示、中值濾波、CAN發送子程序等模塊程序。定時器T0當工作于模式1時,最大定時時間為65.536ms,為了實現定時1s。定時器T0中斷的流程圖如圖6所示。現場控制器采樣的管網壓力,如果要進行遠程監視的話,必須通過通訊總線把壓力值傳送到上位機中,同時,現場控制器也應該接受來自上位機的控制命令,例如:緊急情況下,上位機發出的停止水泵運行的命令等,由于控制信息實時性的要求。本設計中采用了INT0中斷方式作為CAN通訊接收信息的程序。INT0中斷程序流程圖如圖7所示。
評論