8040威尼斯(中国)有限公司

您好,上海自动化仪表自仪销售网欢迎您!

官方微信|联系我们|

上自仪微信

威尼斯8040,上海自动化仪表有限公司

上海自动化仪表自仪销售网热线:

021-56413113021-56725115

您是否在找: 上海自动化仪表厂膜片压力表|上海自动化仪表厂不锈钢压力表|
上海自动化仪表四厂简介

基于单片机的高压调节阀智能控制器设计

来源:上海自动化仪表有限公司作者:王明武,王 楠发表时间:2020-06-03 09:51:14

 摘 要:针对适合高压的电控调节阀非常少且价格昂贵,以及不能实时自动调节等问题,设计了一种高压调节阀智能控制器,并从硬件设计及软件编程方面进行了详细介绍。控制器以单片机为主控制芯片,将电机、调节阀和编码器三者连接起来,开度大小通过编码器进行信号反馈。单片机将目标开度和当前开度进行比对以控制阀的调节方向和开度大小,并利用 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 结 语
本文研制成功的高压调节阀控制器,整个过程简单直观,能巧妙且低成本地解决高压阀调节问题。系统可以对调节阀门开度进行准确控制,同时能够实时地在线对调节阀进行监控。本远程调节阀控制器适用于工业生产、生活需要对流体流量实现自动化精确控制的过程环节中,也可适用于工业生产诸如石化行业中的炼油装置和合成氨装置等有毒有害流体的远程精确控制过程中。
相关产品推荐: 磁性翻板液位计超声波流量计智能雷达物位计智能电磁流量计智能压力变送器
Baidu
sogou