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