王明武 王楠



摘? 要: 針對適合高壓的電控調(diào)節(jié)閥非常少且價格昂貴,以及不能實(shí)時自動調(diào)節(jié)等問題,設(shè)計(jì)了一種高壓調(diào)節(jié)閥智能控制器,并從硬件設(shè)計(jì)及軟件編程方面進(jìn)行了詳細(xì)介紹。控制器以單片機(jī)為主控制芯片,將電機(jī)、調(diào)節(jié)閥和編碼器三者連接起來,開度大小通過編碼器進(jìn)行信號反饋。單片機(jī)將目標(biāo)開度和當(dāng)前開度進(jìn)行比對以控制閥的調(diào)節(jié)方向和開度大小,并利用PID算法保證控制的精準(zhǔn)度和響應(yīng)度,下位機(jī)通過RS 232總線連接至上位機(jī),上位機(jī)用來設(shè)置系統(tǒng)的參數(shù)。經(jīng)測試表明,該系統(tǒng)實(shí)現(xiàn)了智能閥門定位器的開度控制和故障診斷等功能。
關(guān)鍵詞: 高壓調(diào)節(jié)閥智能控制器; 調(diào)節(jié)閥結(jié)構(gòu)設(shè)計(jì); 系統(tǒng)模塊設(shè)計(jì); 閥門開度調(diào)節(jié); 在線監(jiān)控; 系統(tǒng)參數(shù)設(shè)置
中圖分類號: TN710?34; TP138? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)11?0148?04
Design of intelligent controller of high?pressure regulating valve based on SCM
WANG Mingwu, WANG Nan
(School of Mechanical Engineering, Shaanxi University of Technology, Hanzhong 723001, China)
Abstract: Since the amount of electric control regulating valves suitable for high pressure is very small, the price is high, and the real?time automatic regulation cannot be realized, an intelligent controller of high?pressure regulating valve is designed. The hardware design and the software programming of the controller system is elaborated. The SCM (single chip microcomputer) is taken as the master control chip, the motor, regulating valve and encoder are connected, the size of the opening is fed back by the encoder. The target opening is compared with the current opening by the SCM to control the adjusting direction and opening of the control valve. The control accuracy and control responsiveness are achieved by the PID algorithm. The lower computer is connected to the upper computer by RS 232 bus, and the upper computer is used to set the system parameter. The test results show that this system can realize the functions of opening control and fault diagnosis of intelligent valve positioner.
Keywords: intelligent controller of high?pressure regulating valve; structural design of regulating valve; system module design; valve opening adjustment; on?line monitoring; system parameter setting
0? 引? 言
在現(xiàn)代工業(yè)生產(chǎn)中,用于控制水、氣、油等各種流體的閥門是不可缺少的重要設(shè)備,而電動閥門占據(jù)著主導(dǎo)地位,主要用于構(gòu)成各種管道自動化控制系統(tǒng)[1?2]。傳統(tǒng)的電動調(diào)節(jié)閥主要由伺服放大器以及執(zhí)行機(jī)構(gòu)等兩部分組成。伺服放大器先將輸入信號與執(zhí)行機(jī)構(gòu)反饋的信號進(jìn)行比較,并放大兩者之間的偏差,進(jìn)而通過電機(jī)驅(qū)動閥芯轉(zhuǎn)動以改變閥門開度,存在的缺點(diǎn)是接收和輸出的都是模擬信號,通常會出現(xiàn)明顯的誤差[3?4]。特別是,對于存在有害物質(zhì)以及高壓氣體的地方,一是高壓電動調(diào)節(jié)閥非常少而且價格昂貴,二是操作人員不便于進(jìn)行操作手動調(diào)節(jié)閥,同時,高壓手動調(diào)節(jié)閥不能在線自動精確地調(diào)節(jié)閥門開度。因此,為了保證設(shè)備執(zhí)行精度,實(shí)現(xiàn)安全操作,本文研究了一種針對高壓調(diào)節(jié)閥基于單片機(jī)的調(diào)節(jié)閥智能控制器,用來精確控制閥門的開度,實(shí)現(xiàn)開度的遠(yuǎn)程自動在線控制。
1? 結(jié)構(gòu)設(shè)計(jì)
針對適合高壓的電動調(diào)節(jié)閥非常少且價格昂貴,并且存在著無法在線自動調(diào)節(jié)等缺點(diǎn),本文提出了一種把高壓手動調(diào)節(jié)閥改造成高壓電控自動調(diào)節(jié)閥的結(jié)構(gòu),結(jié)構(gòu)示意圖如圖1所示。
具體做法是:首先,把高壓手動調(diào)節(jié)閥的調(diào)節(jié)手柄去掉;然后,將調(diào)節(jié)軸和步進(jìn)電機(jī)轉(zhuǎn)軸對接起來,聯(lián)軸器中間套裝一個增量式旋轉(zhuǎn)編碼器。
步進(jìn)電機(jī)使用單片機(jī)驅(qū)動控制。單片機(jī)接收來自增量式編碼器的脈沖信號,該脈沖信號接入單片機(jī)計(jì)數(shù)器端口,電機(jī)每轉(zhuǎn)一圈,編碼器發(fā)出512個脈沖。電機(jī)正轉(zhuǎn)時,編碼器A相超前B相90°,單片機(jī)正向累計(jì)脈沖;反之,編碼器B相超前A相90°, 單片機(jī)反向累計(jì)脈沖。
[閥門開度=nN×512×100%] (1)
式中:[N]為閥門開度從最小開度調(diào)節(jié)(0%)到最大開度(100%)需轉(zhuǎn)動的圈數(shù);[n]為單片機(jī)采集的脈沖個數(shù)。由式(1)可知,單片機(jī)通過脈沖個數(shù)即可計(jì)算出閥門的當(dāng)前開度并進(jìn)行實(shí)時顯示。
用戶可根據(jù)實(shí)際需要進(jìn)行閥門開度的調(diào)節(jié),即通過上位單片機(jī)的人機(jī)接口輸入調(diào)節(jié)閥的目標(biāo)開度,上位單片機(jī)將目標(biāo)開度傳送給下位單片機(jī),然后下位單片機(jī)計(jì)算當(dāng)前開度與目標(biāo)開度的差值,進(jìn)而控制步進(jìn)電機(jī)正向增大,或者反向減小調(diào)節(jié)閥門開度,以達(dá)到改變介質(zhì)通過管道流量大小而控制壓力的目的。
調(diào)節(jié)閥控制器需要達(dá)到如下性能要求:
1) 能夠接收編碼器輸出的脈沖信號,為了提高控制精度,進(jìn)行四細(xì)分和辨向。
2) 單片機(jī)處理分析接收到的脈沖信號,根據(jù)相應(yīng)的算法計(jì)算開度,并向外輸出寬度一定的信號完成調(diào)節(jié)閥開度的控制。
3) 運(yùn)用人機(jī)鍵盤,對閥門的目標(biāo)開度等相關(guān)參數(shù)進(jìn)行設(shè)定以及調(diào)節(jié)等。
4) 驅(qū)動液晶屏顯示,從而確保能夠顯示出調(diào)節(jié)閥目標(biāo)開度、當(dāng)前開度,以及自診斷過程中的相關(guān)參數(shù)。
5) 具備斷電保存、電流檢測、電源電壓監(jiān)測、看門狗、防振蕩保護(hù)等功能。
2? 系統(tǒng)硬件設(shè)計(jì)
高壓調(diào)節(jié)閥控制系統(tǒng)原理框圖如圖2所示。從圖2中能夠發(fā)現(xiàn),該控制系統(tǒng)涵蓋很多模塊,分別是最小系統(tǒng)電路、解碼電路、電源、E2PROM、模擬量輸出電路、驅(qū)動電路、LCD顯示、D/A轉(zhuǎn)換和A/D轉(zhuǎn)換等板塊。下面將詳細(xì)地分模塊逐一闡述。
2.1? 主控芯片與最小系統(tǒng)
控制系統(tǒng)核心是微控制器,控制器在宏晶科技公司系列單片機(jī)中進(jìn)行篩選,最終確定系統(tǒng)上位機(jī)和下位機(jī)采用型號為STC12C5A60S2單片機(jī),上位機(jī)和下位機(jī)使用串口通信。此芯片是一款高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。內(nèi)部集成了MAX810專用復(fù)位電路、2路PWM、8路高速10位A/D轉(zhuǎn)換,性能可靠易上手,完全符合本系統(tǒng)的設(shè)計(jì)要求。
MCU的主要任務(wù)包括:
1) 上位機(jī)首先利用矩陣鍵盤輸入目標(biāo)開度,并將該目標(biāo)開度值發(fā)送給下位機(jī)。
2) 下位機(jī)接收到目標(biāo)開度值,計(jì)算閥門目標(biāo)開度與當(dāng)前開度兩者之間的差值,然后根據(jù)該差值通過驅(qū)動步進(jìn)電機(jī)實(shí)現(xiàn)調(diào)節(jié)閥的開度控制。
3) 編碼器輸出的脈沖通過硬件解碼電路進(jìn)行辨向和細(xì)分,脈沖個數(shù)由下位機(jī)進(jìn)行實(shí)時采集計(jì)數(shù)。若電機(jī)正轉(zhuǎn),則脈沖個數(shù)增大;若電機(jī)反轉(zhuǎn),則脈沖個數(shù)減小。
4) 下位機(jī)最后將脈沖個數(shù)實(shí)時地發(fā)送給上位機(jī),上位機(jī)根據(jù)式(1)換算成當(dāng)前開度并在液晶屏上顯示。
5) 基于定位器原理進(jìn)行閥門自診斷。
2.2? 解碼電路設(shè)計(jì)
系統(tǒng)采用74HC系列數(shù)字邏輯器件構(gòu)建硬件解碼電路,如圖3所示。
74HC14片內(nèi)共有6路施密特觸發(fā)反相器,74HC86為2輸入端四異或門。不同型號的編碼器其旋轉(zhuǎn)一圈發(fā)出的脈沖個數(shù)[n]也有所不同,但其信號時序都相同。旋轉(zhuǎn)增量式編碼器出來的信號一般為A相、B相兩路方波信號和Z信號,采用TTL電平。A相脈沖在前,B相脈沖在后,兩路脈沖相差90°,每轉(zhuǎn)一圈發(fā)出一個Z脈沖,可作為參考機(jī)械零位。這里,順時針旋轉(zhuǎn)為正轉(zhuǎn),A相超前B相為90°;逆時針旋轉(zhuǎn)為反轉(zhuǎn),B相超前A相為90°。經(jīng)過該電路進(jìn)行解碼后,可直接細(xì)分輸出2倍脈沖信號OUT和辨向信號DIR,并可以直接與單片機(jī)相連接。
編碼器出來的信號AB經(jīng)過74HC14的第一二個反相器,其波形為相位差為90°的方波信號。74HC86第一個異或門輸出為1CP信號,CP信號為D觸發(fā)器提供了CLOCK。74HC86輸入為[A]和[A],當(dāng)[VCC]為4.5 V時,輸入信號高于3.15 V被認(rèn)為高電平,低于1.35 V時被認(rèn)為低電平,加之任何方波信號波形上升下降時間不可能為0,因此,當(dāng)信號下降到小于1.35 V而未上升到3.15 V時,其異或門輸出就為低電平。同理,第四個異或門的輸入[B]和[B]信號產(chǎn)生的CP信號與之相同。1D輸入為信號,而RESET和SET又接的是高電平,同時,有了CP信號,即可得到1Q和2Q信號,然后再經(jīng)過異或門就可以得到最終的OUT信號,如圖4所示,實(shí)現(xiàn)了對輸入信號的2倍頻。
鑒向由第二片74HC74完成,其輸入1D為74HC86的第三個異或門的輸出,即為信號[B]和[A]信號經(jīng)過異或運(yùn)算,其RESET和SET都接高電平,通過時序圖即可得到OUT信號。當(dāng)反轉(zhuǎn)時,1D信號不變,CP信號相位會向后移動半個周期,輸出恒為低電平,從而實(shí)現(xiàn)了方向信號的判別。
2.3? 驅(qū)動電路
閥門開度選用步進(jìn)電機(jī)進(jìn)行驅(qū)動,電機(jī)線圈由四相組成,即[A,B,C,D]四相,驅(qū)動方式為兩相激磁方式[5]。電機(jī)驅(qū)動模塊電路如圖5所示。
電機(jī)使用12 V工作電壓,最大電流為0.26 A,需要額外的驅(qū)動電路實(shí)現(xiàn)PWM控制。電機(jī)驅(qū)動模塊采用STC15F104將輸入的PWM波形轉(zhuǎn)換成4路方波輸出,方波進(jìn)步通過ULN2003大電流復(fù)合晶體管驅(qū)動,通過P3.0~P3.7控制各線圈的接通與切斷。電機(jī)采用四相雙四拍工作方式,通電換相的正序?yàn)锳B?BC?CD?DA;反序?yàn)锳D?DC?CB?BA。如果P3口輸出的控制信號中,0代表使繞組通電,1代表使繞組斷電,則可用4個控制字來對應(yīng)這4個通電狀態(tài),雙四拍工作方式的控制字見表1。
2.4? 上位機(jī)控制
上位機(jī)控制器采用STC12C5A60S2單片機(jī)作為控制器,其原理電路如圖6所示。
STC12C5A60S2每個I/O口驅(qū)動能力均可達(dá)到20 mA,因此,可用它直接驅(qū)動液晶顯示器或者矩陣鍵盤而不用接上拉排阻,同時可以使用獨(dú)立的串口波特率發(fā)生器,這樣給設(shè)計(jì)帶來了很大方便。上位機(jī)最小系統(tǒng)如圖6所示。U1為LCD12864液晶顯示器接口,P1為[4×4]矩陣鍵盤接口,晶振電路亦采用11.059 2 MHz晶振,P3.0和P3.1接串口電路。限于篇幅原因,串口通信、液晶顯示和矩陣鍵盤不再一一贅述。
本次系統(tǒng)設(shè)計(jì)得到的高壓調(diào)節(jié)閥控制器PCB印刷電路板如圖7所示。系統(tǒng)電路板上分別為模擬電路部分和數(shù)字電路部分,外接LCD顯示屏和人機(jī)鍵盤。實(shí)驗(yàn)儀器主要有萬能表、直流電源、示波器、仿真器等。
3? 系統(tǒng)軟件設(shè)計(jì)
3.1? 閥門開度調(diào)節(jié)
系統(tǒng)軟件開發(fā)平臺為KEIL,以C語言編程。軟件主要完成系統(tǒng)的初始化設(shè)置[6]、控制、通信、顯示等功能。系統(tǒng)中,上位機(jī)發(fā)送控制碼,下位機(jī)根據(jù)控制碼執(zhí)行相應(yīng)控制動作,并實(shí)時向上位機(jī)發(fā)送其工作狀態(tài)以供顯示。上電后,首先上下位機(jī)進(jìn)行握手通信,然后建立連接后方可進(jìn)行自動或手動控制,其系統(tǒng)軟件流程圖如圖8所示。當(dāng)單片機(jī)通過串口發(fā)送數(shù)據(jù)時,只需要將要發(fā)送的內(nèi)容直接賦給緩沖寄存器SBUF就可以了,當(dāng)單片機(jī)通過串口接收數(shù)據(jù)時,只需要緩沖寄存器SBUF中的內(nèi)容直接讀出即可。
控制方式和數(shù)據(jù)顯示都是由上位機(jī)來完成指令發(fā)送和數(shù)據(jù)接收的。當(dāng)下位機(jī)接收到命令指令后,經(jīng)過判斷來執(zhí)行相應(yīng)的動作,其中,主要指令有:手動正傳、手動反轉(zhuǎn)、自動運(yùn)行、清零和停止運(yùn)行。下位機(jī)在主函數(shù)中一直進(jìn)行掃描判斷,完成相應(yīng)的動作執(zhí)行。
上位機(jī)發(fā)送手動指令時,下位機(jī)工作在手動調(diào)節(jié)模式,而當(dāng)檢測到按鍵松開時,上位機(jī)停止發(fā)送手動指令,以實(shí)現(xiàn)閥門開度的點(diǎn)動控制。上位機(jī)發(fā)送自動指令時,下位機(jī)將工作在自動調(diào)節(jié)模式,上位機(jī)使用矩陣鍵盤輸入閥門的目標(biāo)開度,并將該目標(biāo)開度發(fā)送給下位機(jī)。下位機(jī)將該目標(biāo)開度值轉(zhuǎn)換為目標(biāo)脈沖個數(shù),然后根據(jù)當(dāng)前脈沖個數(shù)和目標(biāo)脈沖個數(shù)的差值控制電機(jī)轉(zhuǎn)動方向,即目標(biāo)脈沖個數(shù)大于當(dāng)前脈沖個數(shù),步進(jìn)電機(jī)正向轉(zhuǎn)動,當(dāng)前脈沖個數(shù)增計(jì)數(shù),閥門開度增加;反之,目標(biāo)脈沖個數(shù)小于當(dāng)前脈沖個數(shù),步進(jìn)電機(jī)反向轉(zhuǎn)動,當(dāng)前脈沖個數(shù)減計(jì)數(shù),閥門開度減小;當(dāng)前脈沖個數(shù)等于目標(biāo)脈沖個數(shù)時,即閥門已由當(dāng)前開度調(diào)節(jié)至目標(biāo)開度,電機(jī)停止調(diào)節(jié),下位機(jī)停止計(jì)數(shù)。系統(tǒng)具備正反轉(zhuǎn)互鎖和延伸切換保護(hù)功能,同時,下位機(jī)的當(dāng)前脈沖數(shù)轉(zhuǎn)換為當(dāng)前開度在上位機(jī)上進(jìn)行顯示。
3.2? 模糊PID算法
控制器使用PWM驅(qū)動步進(jìn)電機(jī),由于使用了硬件PWM發(fā)生器,單位時間內(nèi)PWM波的個數(shù)難以計(jì)算。另外,考慮到位置偏差大時,控制要求快速跟蹤,而偏差較小時,則要求提高控制精度,因此需要采用PID算法。
PID控制程序流程圖如圖9所示,如果被控量遠(yuǎn)未接近給定值,僅剛開始向給定值變化時,由于比例和積分反向,將會減慢控制過程。為了加快開始的動態(tài)過程,可以設(shè)定一個偏差范圍[v],當(dāng)偏差[e(t)<β]時,即被控量接近給定值時,就按正常規(guī)律調(diào)節(jié),而當(dāng)[e(t)≥β]時,則不管比例作用為正或?yàn)樨?fù),都使它向有利于接近給定值的方向調(diào)整,即取其值為[e(t)-e(t-1)],其符號與積分項(xiàng)一致。根據(jù)PWM相關(guān)寄存的使用方法,直接設(shè)置相應(yīng)的寄存器,PWM模塊將會產(chǎn)生頻率和占空比可調(diào)的PWM波。當(dāng)PWM模塊一旦運(yùn)行后,如果不使用軟件方法去關(guān)閉,它將一直輸出相應(yīng)參數(shù)的PWM方波,與其他程序的運(yùn)行沒有關(guān)系,從而實(shí)現(xiàn)增量式模糊PID算法的實(shí)現(xiàn)。
系統(tǒng)利用模糊PID算法,通過PID的輸出控制PWM的頻率,可加快控制的動態(tài)過程,以滿足偏差大時的快速性要求和偏差小時的精確性控制,從而達(dá)到調(diào)節(jié)電機(jī)速度和防止開度調(diào)節(jié)慣性產(chǎn)生振蕩的目的[7?10]。此外,系統(tǒng)還具備編碼器故障或急停保護(hù)、掉電保持等功能。
4? 結(jié)? 語
本文研制成功的高壓調(diào)節(jié)閥控制器,整個過程簡單直觀,能巧妙且低成本地解決高壓閥調(diào)節(jié)問題。系統(tǒng)可以對調(diào)節(jié)閥門開度進(jìn)行準(zhǔn)確控制,同時能夠?qū)崟r地在線對調(diào)節(jié)閥進(jìn)行監(jiān)控。本遠(yuǎn)程調(diào)節(jié)閥控制器適用于工業(yè)生產(chǎn)、生活需要對流體流量實(shí)現(xiàn)自動化精確控制的過程環(huán)節(jié)中,也可適用于工業(yè)生產(chǎn)諸如石化行業(yè)中的煉油裝置和合成氨裝置等有毒有害流體的遠(yuǎn)程精確控制過程中。
參考文獻(xiàn)
[1] 劉熠,趙春宇,陳大躍.閥門開度的數(shù)字化精確測量和控制[J].自動化技術(shù)與應(yīng)用,2004,23(3):65?67.
[2] 潘宇軒,董全林,張玉蓮.基于SPI驅(qū)動的智能調(diào)節(jié)閥控制系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2018,41(10):1?4.
[3] 閆孝姮,李文江.一種新型智能調(diào)節(jié)閥的設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2007(3):96?97.
[4] 張紅瑞.一種基于計(jì)算機(jī)控制的電動閥門開度顯示方法[J].閥門,2008(1):44?45.
[5] 王振鋒,周英,孫玉寧.基于單片機(jī)技術(shù)的瓦斯抽采濃度自動調(diào)節(jié)閥研究[J].煤氣與熱力,2015,47(3):135?137.
[6] 鄧秉林.單片機(jī)在閥門控制系統(tǒng)中的應(yīng)用[J].真空,2009,46(5):74?76.
[7] 楊超,劉利.電動調(diào)節(jié)閥開度控制的研究與實(shí)現(xiàn)[J].機(jī)電工程,2007,24(2):55?58.
[8] 蔡明.ZPZD3100型智能閥門定位器的原理與設(shè)計(jì)[J].自動化儀表,2008,29(11):46?49.
[9] 葉定春.PID調(diào)節(jié)器及其智能化控制技術(shù)的探討[J].煤氣與熱力,2004,24(5):256?259.
[10] 劉會森,張玉蓮,董全林.模糊PID在智能調(diào)節(jié)閥控制系統(tǒng)中的應(yīng)用[J].煤氣與熱力,2018,46(1):91?96.