您好,上海自動化儀表自儀銷售網歡迎您!

官方微信|聯系我們|

上自儀微信

上海自動化儀表股份有限公司,上海自動化儀表有限公司

上海自動化儀表自儀銷售網熱線:

021-62155955021-56725115

您是否在找: 上海自動化儀表廠膜片壓力表|上海自動化儀表廠不銹鋼壓力表|
上海自動化儀表四廠簡介

基于單片機的高壓調節閥智能控制器設計

來源:上海自動化儀表有限公司作者:王明武,王 楠發表時間:2020-06-03 09:51:14

 摘 要:針對適合高壓的電控調節閥非常少且價格昂貴,以及不能實時自動調節等問題,設計了一種高壓調節閥智能控制器,并從硬件設計及軟件編程方面進行了詳細介紹??刂破饕詥纹瑱C為主控制芯片,將電機、調節閥和編碼器三者連接起來,開度大小通過編碼器進行信號反饋。單片機將目標開度和當前開度進行比對以控制閥的調節方向和開度大小,并利用 PID 算法保證控制的精準度和響應度,下位機通過 RS 232總線連接至上位機,上位機用來設置系統的參數。經測試表明,該系統實現了智能閥門定位器的開度控制和故障診斷等功能。

 
引言
在現代工業生產中,用于控制水、氣、油等各種流體的閥門是不可缺少的重要設備,而電動閥門占據著主導地位,主要用于構成各種管道自動化控制系統[1?2]。傳統的電動調節閥主要由伺服放大器以及執行機構等兩部分組成。伺服放大器先將輸入信號與執行機構反饋的信號進行比較,并放大兩者之間的偏差,進而通過電機驅動閥芯轉動以改變閥門開度,存在的缺點是接收和輸出的都是模擬信號,通常會出現明顯的誤差[3?4]。特別是,對于存在有害物質以及高壓氣體的地方,一是高壓電動調節閥非常少而且價格昂貴,二是操作人員不便于進行操作手動調節閥,同時,高壓手動調節閥不能在線自動精確地調節閥門開度。因此,為了保證設備執行精度,實現安全操作,本文研究了一種針對高壓調節閥基于單片機的調節閥智能控制器,用來精確控制閥門的開度,實現開度的遠程自動在線控制。 1 結構設計針對適合高壓的電動調節閥非常少且價格昂貴,并且存在著無法在線自動調節等缺點,本文提出了一種把高壓手動調節閥改造成高壓電控自動調節閥的結構,結構示意圖如圖 1所示。
高壓電動調節閥結構示意圖
具體做法是:首先,把高壓手動調節閥的調節手柄去掉;然后,將調節軸和步進電機轉軸對接起來,聯軸器中間套裝一個增量式旋轉編碼器。
 
步進電機使用單片機驅動控制。單片機接收來自增量式編碼器的脈沖信號,該脈沖信號接入單片機計數器端口,電機每轉一圈,編碼器發出 512個脈沖。電機正轉時,編碼器 A 相超前 B 相 90°,單片機正向累計脈沖; 反之,編碼器 B相超前 A 相 90°,單片機反向累計脈沖。
閥門開度公式
式中:N 為閥門開度從最小開度調節(0%)到最大開度
(100%)需轉動的圈數;n為單片機采集的脈沖個數。由 式(1)可知,單片機通過脈沖個數即可計算出閥門的當前開度并進行實時顯示。用戶可根據實際需要進行閥門開度的調節,即通過上位單片機的人機接口輸入調節閥的目標開度,上位單片機將目標開度傳送給下位單片機,然后下位單片機計算當前開度與目標開度的差值,進而控制步進電機正向增大,或者反向減小調節閥門開度,以達到改變介質通過管道流量大小而控制壓力的目的。
 
調節閥控制器需要達到如下性能要求:
 1)能夠接收編碼器輸出的脈沖信號,為了提高控制精度,進行四細分和辨向。
2)單片機處理分析接收到的脈沖信號,根據相應的算法計算開度,并向外輸出寬度一定的信號完成調節閥開度的控制。 
3)運用人機鍵盤,對閥門的目標開度等相關參數進行設定以及調節等。
4)驅動液晶屏顯示,從而確保能夠顯示出調節閥目標開度、當前開度,以及自診斷過程中的相關參數。 
5)具備斷電保存、電流檢測、電源電壓監測、看門狗、防振蕩保護等功能。 
 
2 系統硬件設計
高壓調節閥控制系統原理框圖如圖 2 所示。從圖 2中能夠發現,該控制系統涵蓋很多模塊,分別是最小系統電路、解碼電路、電源、E2PROM、模擬量輸出電路、驅動電路、LCD 顯示、D/A 轉換和 A/D 轉換等板塊。下面將詳細地分模塊逐一闡述。
硬件系統框圖
 2.1 主控芯片與最小系統
控制系統核心是微控制器,控制器在宏晶科技公司系列單片機中進行篩選,最終確定系統上位機和下位機采用型號為 STC12C5A60S2 單片機,上位機和下位機使用串口通信。此芯片是一款高速、低功耗、超強抗干擾的新一代 8051 單片機,指令代碼完全兼容傳統 8051, 但速度快 8~12倍。內部集成了 MAX810專用復位電路、 2 路 PWM、8 路高速 10 位 A/D 轉換,性能可靠易上手,完全符合本系統的設計要求。
 
MCU 的主要任務包括: 
1)上位機首先利用矩陣鍵盤輸入目標開度,并將該目標開度值發送給下位機。 
2)下位機接收到目標開度值,計算閥門目標開度與當前開度兩者之間的差值,然后根據該差值通過驅動步進電機實現調節閥的開度控制。 
3)編碼器輸出的脈沖通過硬件解碼電路進行辨向和細分,脈沖個數由下位機進行實時采集計數。若電機正轉,則脈沖個數增大;若電機反轉,則脈沖個數減小。
4)下位機最后將脈沖個數實時地發送給上位機,上位機根據式(1)換算成當前開度并在液晶屏上顯示。
5)基于定位器原理進行閥門自診斷。 2.2 解碼電路設計系統采用 74HC 系列數字邏輯器件構建硬件解碼電路,如圖 3所示。
硬件解碼電路
74HC14 片內共有 6 路施密特觸發反相器,74HC86為 2 輸入端四異或門。不同型號的編碼器其旋轉一圈發出的脈沖個數 n 也有所不同,但其信號時序都相同。旋轉增量式編碼器出來的信號一般為 A 相、B 相兩路方波信號和 Z 信號,采用 TTL 電平。A 相脈沖在前,B 相脈沖在后,兩路脈沖相差 90°,每轉一圈發出一個 Z脈沖,可作為參考機械零位。這里,順時針旋轉為正轉,A 相超前B 相為 90°;逆時針旋轉為反轉,B相超前 A相為 90°。經過該電路進行解碼后,可直接細分輸出 2 倍脈沖信號OUT和辨向信號 DIR,并可以直接與單片機相連接。
 
編碼器出來的信號 AB 經過 74HC14 的第一二個反相器,其波形為相位差為 90°的方波信號。74HC86第一個異或門輸出為 1CP 信號,CP 信號為 D 觸發器提供了 CLOCK。74HC86輸入為 A 和-A,當 VCC 為 4.5 V 時,輸入信號高于 3.15 V 被認為高電平,低于 1.35 V 時被認為低電平,加之任何方波信號波形上升下降時間不可能為 0,因此,當信號下降到小于 1.35 V 而未上升到 3.15 V 時,其異或門輸出就為低電平。同理,第四個異或門的輸入 B 和-B信號產生的CP信號與之相同。1D輸入為信號, 而RESET和SET又接的是高電平,同時,有了CP信號,即可得到 1Q 和 2Q 信號,然后再經過異或門就可以得到最終的OUT信號,如圖4所示,實現了對輸入信號的2倍頻。
輸出信號時序
鑒向由第二片 74HC74 完成,其輸入 1D 為 74HC86的第三個異或門的輸出,即為信號 -B 和 -A 信號經過異或運算,其 RESET 和 SET 都接高電平,通過時序圖即可得到 OUT 信號。當反轉時,1D 信號不變,CP 信號相位會向后移動半個周期,輸出恒為低電平,從而實現了方向信號的判別。 
 
2.3 驅動電路
閥門開度選用步進電機進行驅動,電機線圈由四相組成,即 A,B,C,D 四相,驅動方式為兩相激磁方式[5]。電機驅動模塊電路如圖 5所示。
 
電機使用 12 V 工作電壓,最大電流為 0.26 A,需要額外的驅動電路實現 PWM 控制。電機驅動模塊采用STC15F104 將輸入的 PWM 波形轉換成 4 路方波輸出,方波進步通過 ULN2003 大電流復合晶體管驅動,通過P3.0~P3.7 控制各線圈的接通與切斷。電機采用四相雙四拍工作方式,通電換相的正序為 AB?BC?CD?DA;反序為 AD?DC?CB?BA。如果 P3 口輸出的控制信號中,0 代表使繞組通電,1代表使繞組斷電,則可用 4個控制字來對應這 4個通電狀態,雙四拍工作方式的控制字見表 1。
電機驅動電路雙四拍工作方式的控制字
2.4 上位機控制
上位機控制器采用 STC12C5A60S2 單片機作為控制器,其原理電路如圖 6所示。
上位機最小系統
STC12C5A60S2 每 個 I/O 口 驅 動 能 力 均 可 達 到20 mA,因此,可用它直接驅動液晶顯示器或者矩陣鍵盤而不用接上拉排阻,同時可以使用獨立的串口波特率發生器,這樣給設計帶來了很大方便。上位機最小系統如圖6所示。U1為LCD12864液晶顯示器接口,P1為4 × 4矩陣鍵盤接口,晶振電路亦采用 11.059 2 MHz 晶振, P3.0 和 P3.1 接串口電路。限于篇幅原因,串口通信、液晶顯示和矩陣鍵盤不再一一贅述。
 
本次系統設計得到的高壓調節閥控制器 PCB 印刷電路板如圖 7 所示。系統電路板上分別為模擬電路部分和數字電路部分,外接 LCD 顯示屏和人機鍵盤。實驗儀器主要有萬能表、直流電源、示波器、仿真器等。
PCB 印刷電路板
 
3 系統軟件設計
3.1 閥門開度調節
系統軟件開發平臺為 KEIL,以 C 語言編程。軟件主要完成系統的初始化設置[6]、控制、通信、顯示等功能。系統中,上位機發送控制碼,下位機根據控制碼執行相應控制動作,并實時向上位機發送其工作狀態以供顯示。上電后,首先上下位機進行握手通信,然后建立連接后方可進行自動或手動控制,其系統軟件流程圖如圖 8 所示。當單片機通過串口發送數據時,只需要將要發送的內容直接賦給緩沖寄存器 SBUF 就可以了,當單片機通過串口接收數據時,只需要緩沖寄存器 SBUF 中的內容直接讀出即可。
系統軟件流程圖
控制方式和數據顯示都是由上位機來完成指令發送和數據接收的。當下位機接收到命令指令后,經過判斷來執行相應的動作,其中,主要指令有:手動正傳、手動反轉、自動運行、清零和停止運行。下位機在主函數中一直進行掃描判斷,完成相應的動作執行。
 
上位機發送手動指令時,下位機工作在手動調節模式,而當檢測到按鍵松開時,上位機停止發送手動指令,以實現閥門開度的點動控制。上位機發送自動指令時,下位機將工作在自動調節模式,上位機使用矩陣鍵盤輸入閥門的目標開度,并將該目標開度發送給下位機。下位機將該目標開度值轉換為目標脈沖個數,然后根據當前脈沖個數和目標脈沖個數的差值控制電機轉動方向,即目標脈沖個數大于當前脈沖個數,步進電機正向轉動,當前脈沖個數增計數,閥門開度增加;反之,目標脈沖個數小于當前脈沖個數,步進電機反向轉動,當前脈沖個數減計數,閥門開度減??;當前脈沖個數等于目標脈沖個數時,即閥門已由當前開度調節至目標開度,電機停止調節,下位機停止計數。系統具備正反轉互鎖和延伸切換保護功能,同時,下位機的當前脈沖數轉換為當前開度在上位機上進行顯示。 
 
3.2 模糊 PID 算法
控制器使用 PWM 驅動步進電機,由于使用了硬件PWM 發生器,單位時間內 PWM 波的個數難以計算。另 外,考慮到位置偏差大時,控制要求快速跟蹤,而偏差較小時,則要求提高控制精度,因此需要采用 PID 算法。
PID 控制程序流程圖
PID 控制程序流程圖如圖9所示,如果被控量遠未接近給定值,僅剛開始向給定值變化時,由于比例和積分反向,將會減慢控制過程。為了加快開始的動態過程,可以設定一個偏差范圍 v,當偏差| e ( t ) | < β時,即被控量接近給定值時,就按正常規律調節,而當| e ( t ) | ≥ β時,則不管比例作用為正或為負,都使它向有利于接近給定值的方向調整,即取其值為| e ( t ) - e ( t - 1 ) |,其符號與積分項一致。根據PWM相關寄存的使用方法,直接設置相應的寄存器,PWM 模塊將會產生頻率和占空比可調的 PWM波。當PWM模塊一旦運行后,如果不使用軟件方法去關閉,它將一直輸出相應參數的 PWM 方波,與其他程序的運行沒有關系,從而實現增量式模糊 PID 算法的實現。
 
系統利用模糊 PID 算法,通過 PID 的輸出控制 PWM的頻率,可加快控制的動態過程,以滿足偏差大時的快速性要求和偏差小時的精確性控制,從而達到調節電機速度和防止開度調節慣性產生振蕩的目的[7?10]。此外,系統還具備編碼器故障或急停保護、掉電保持等功能。
 
4 結 語
本文研制成功的高壓調節閥控制器,整個過程簡單直觀,能巧妙且低成本地解決高壓閥調節問題。系統可以對調節閥門開度進行準確控制,同時能夠實時地在線對調節閥進行監控。本遠程調節閥控制器適用于工業生產、生活需要對流體流量實現自動化精確控制的過程環節中,也可適用于工業生產諸如石化行業中的煉油裝置和合成氨裝置等有毒有害流體的遠程精確控制過程中。
15选5开奖号码查询