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