1 引言
調節(jié)閥電氣裝置是工業(yè)自動化系統(tǒng)中的執(zhí)行單元,廣泛應用于化工、石油、冶金、電力等行業(yè)的壓力、溫度和流量控制。它是一種以電機為動力源的機電集成現(xiàn)場設備,將控制信號轉換為相應的機械動作,控制各種閥門的打開和關閉。隨著科學技術的發(fā)展,特別是數字和信息技術的發(fā)展,閥門電氣裝置上方控制系統(tǒng)的數字化和信息化程度越來越高,電氣裝置的精度、動態(tài)特性和功能要求越來越高,如友好的人機界面、精確定位、故障診斷和總線通信等,這些性能的改進和功能的實現(xiàn)取決于閥門電氣裝置控制器。
2 工作原理
閥門電氣裝置(圖1)控制器接受上述控制系統(tǒng)的指令,控制電機的運行,驅動電氣裝置的傳動部分,并將其工作狀態(tài)信號反饋給上述系統(tǒng),以實現(xiàn)閥門位置控制。閥門電氣裝置控制器是一種嵌入式控制系統(tǒng),采用單片微處理器(MCU)以人機界面、信號輸入/輸出、電機驅動等外圍電路為核心,通過MCU控制整個系統(tǒng)運行的內部程序。MCU是整個系統(tǒng)的核心,MCU功能簡化的計算機系統(tǒng)集成在芯片上(CPU,內存、并行總線、輸入/輸出接口等。),具有體積小、功耗低、控制功能強、擴展靈活、微型化、使用方便等優(yōu)點,已廣泛應用于閥門電氣設備控制器。
600)this.style.width='600px';">
圖1 閥門電動裝置
目前的控制器MCU所使用的軟件通常采用前后工作模式(圖2)。系統(tǒng)應用程序是一個無限循環(huán)。循環(huán)中調用相應函數完成相應操作,這部分是后臺行為。中斷服務程序處理異步事件是前臺行為。一般來說,通過中斷服務保證對實時性要求較高的操作。由于中斷服務提供的信息只能在后臺程序運行到此處時處理,因此任務的響應時間取決于整個程序循環(huán)的執(zhí)行時間。
600)this.style.width='600px';">
圖2 前/后臺系統(tǒng)
♂
3 存在問題及解決方案
3.1 存在問題
隨著閥門電動裝置功能的增加和性能的提高,要求MCU同時,處理的任務越來越多,實時要求越來越高。任務數量的增加意味著程序循環(huán)時間的延長,而高實時要求對后臺程序的循環(huán)周期提出了更高的要求。如果系統(tǒng)后臺程序的循環(huán)時間超過處理實時任務的最大間隔,則無法有效保證系統(tǒng)的實時性,控制器無法正常穩(wěn)定工作。
3.2 解決方案
采用模塊化設計理念,將閥門電氣設備控制器分解為多個功能模塊,每個實時要求高或程序執(zhí)行時間長的功能模塊都是獨立的MCU控制,然后通過總線通信與主控MCU進行數據交換,即多MCU系統(tǒng)架構。
4 控制器硬件
主控制器硬件(圖3)MCU、輔助MCU、電源部分、驅動部分、位置信號檢測部分、控制信號輸入/輸出部分、人機界面部分、通信部分等電路組成。分解閥門電動裝置需要處理的相關任務,個輔助設備MCU完成對實時性要求高或使用時間過長的任務。在控制器中,由于人機界面顯示時間長,位置信號和電源檢測的實時性要求高,單獨由輔助設備組成MCU控制。主MCU通過IIC總線通信的方式及輔助MCU交換數據,協(xié)調控制系統(tǒng)。
4.1 MCU及相關電路
主MCU選用ARM7TDMI-STM32位內核單片微處理器LPC2136運行速度快,存儲容量大,IO接口豐富,有UART、SPI、IIC各種通信接口等。MCU根據不同的功能需要,分別選擇MCS-51內核8位單片微處理器LPC917、LPC922和LPC936結構簡單,性價比高IIC總線接口。
600)this.style.width='600px';">
圖3 控制器硬件結構
LPC936負責檢測當地按鈕操作、液晶顯示屏和照明顯示。當地按鈕操作采用無軸磁控開關,選用Allegro 3144霍爾效應開關保證了當地操作與控制器部隔離,保證閥門電動裝置的保護等級高于IP65.顯示器采用有機電發(fā)光(OLED)顯示器,OLED與傳統(tǒng)液晶顯示器相比,顯示器采用主動發(fā)光(自發(fā)光)技術(LCD)與高亮度相比,視角范圍大,正常工作時負荷約為50mA,功耗比LCD降低一半。
LPC922負責檢測閥門位置(圖4)。閥門位置由自制光電脈沖計數相對編碼系統(tǒng)測量,準確將電氣裝置的旋轉位移轉換為兩個正交的電脈沖信號輸入MCU,閥門的開關方向和位置由程序確定,每轉輸出360個脈沖,分辨率為1°。有充電式脫落保護電路,確保閥門位置不丟失。
LPC917負責檢測電源的相序變化和缺相運行(圖5)。它將三相交流電源(380VAC,50Hz)輸入轉VDC)輸入MCU,該程序根據三相脈沖信號之間的相位變化來判斷輸入電源相序和是否缺相運行,以確保電氣設備的開關方向與輸入電源相序無關。
♂
600)this.style.width='600px';">
圖4 位置檢測電路
600)this.style.width='600px';">
圖5 電源檢測電路
4.2 IIC總線通訊
主MCU與輔助MCU通過IIC總線連接,實現(xiàn)數據雙向傳輸,傳輸速率400Kbit/s。IIC總線是芯片間串行數據傳輸總線,2條信號線(SDA、SCL)可實現(xiàn)全雙工同步數據傳輸,便于構成多機系統(tǒng)和外圍設備擴展系統(tǒng)。使用時,設備直接掛起IIC總線由主器件發(fā)出IIC可以從地址對應IIC無需介入底層的設備進行數據傳輸IIC操作協(xié)議??刂破髦蠰PC2136為主機,LPC917、
LPC922和LPC936為從機。
5 控制器軟件
控制器軟件由LPC2136主MCU程序和LPC922、LPC917和LPC936輔助MCU子程序由四部分組成。主程序負責控制器協(xié)調,子程序負責完成各自的任務,主程序和子程序通過IIC總線交換數據。
5.1 IIC通信數據格式
主機和從機IIC總線數據由8字節(jié)組成LPC936輔助MCU通信數據格式見表1。主機和其他輔助設備MCU通訊的數據格式與此類似,只是從機地址與數據有所區(qū)別。為保證接受的數據正確無誤,對接收的數據均進行CRC校驗。CRC域是由發(fā)送端組成的兩個字節(jié),包括16位的二進制值MCU計算后加入到數據中,接收端MCU重新計算收到的數據CRC,接收CRC如果兩個域中的值比較CRC數據傳輸錯誤,數據組無效。
表1 主機/從機數據格式
600)this.style.width='600px';">
♂
5.2 LPC2136主程序
LPC2136主程序是整個控制器軟件的核心,由主循環(huán)和定期中斷子程序組成。程序主循環(huán)負責故障檢測、處理和輔助MCU進行數據交換,定期中斷子程序完成其他任務(圖6),如輸入/輸出信號檢測、(圖6)。
圖6 主程序流程框圖
600)this.style.width='600px';">
6 結語
采用多MCU的閥門電動裝置控制器既保證各個功能模塊正常工作,又大大縮短了主MCU程序循環(huán)周期使主MCU其它控制功能模塊工作穩(wěn)定可靠,提高了整個控制器的運行效率。
參考文獻
[1] P89LPC917、P89LPC922、P89LPC936數據手冊〔Z〕.廣州周立功單片機發(fā)展有限公司.
[2] 周立功,張華.深入淺出ARM7-LPC213X/214X〔M〕.北京:2005年北京航空航天大學出版社.
咨詢需求
