摘要:通过分析现有燃气调压器手动调压的工作原理,详细论述了如何设计开发出基于单片机的可自动调压的蜗轮丝杠精进装置,该装置使得调压精度大幅度提高,并且具有远程数据传输接口,能够实现远程测控,从而为构建复杂燃气工业系统提供一种可以借鉴的方法。
在目前的燃气调压系统中,大多使用调压器来实现系统的调压要求,但是目前的调压器控制器基本上都是手动完成,无法实现远程自动监控,给工业现场的自动控制带来了不少麻烦。另外,在一些特殊场合,也经常要求一些频繁调压,如果利用人工来实现不仅浪费许多人力资源,而且调压精度也无法满足高精度的要求。
为了提升调压器的技术含量,在不改变原有调压器控制器基本结构的情况下,通过在燃气调压器控制器上安装带有远程通讯接口的单片机控制的蜗轮丝杠精进装置,来低成本实现调压器自动调压的要求,希望这一思路给调压器行业的技术人员起到抛砖引玉的作用。
一 系统构成
该系统利用单片机来实现调压器的自动调压,其系统结构如下图所示:
图一 系统原理图
80C196KC芯片的特点如下:振荡信号频率1 6MHz,指令的运算速度更快;8个A/D通道,可以方便地实现被控对象多点电压和电流采样;具有三路脉宽调制(PWM)输出;通过CPU的串行口除了可实现异步串行口通信,还增加了同步串行口,可以支持多种标准同步串行传输协议。
该系统中通过测量调压器入口、出口侧的压力值,即入口压力信号和出口压力信号,显示在LCD屏幕上;操作者可以通过键盘来输入要求设定的出口压力值,也可以通过RS485通讯来实现设定后的压力值;CPU在接收到要求设定的压力之后,先要和入口压力值对比,如果高于入口压力值就提示设定值高于入口压力值,显示设定错误,若设定值小于入口压力值,就产生PWM方波和正转信号给步进电机驱动电路,使得蜗轮丝杠精进装置开始运动;在该装置精进过程中,出口压力到达设定值时,CPU停止发送PWM方波,完成设定压力调节。为了保护调压器控制器防止执行机构超出额定行程,在该装置上安装了一个滑动电位器来定量测定执行器顶端在整个行程中的位置,另外利用上、下限为开关来实现当滑动电位器失灵情况下的装置的保护。
二 蜗轮丝杠精进装置
蜗轮丝杠精进装置是该系统的核心部分,主要组成部分有:步进电机、蜗轮减速器、滚珠丝杠副、顶柱、滑动电位器、限位开关、箱式直线轴承和光轴等。由于调压器控制器顶柱的行程非常小,通常就在几十毫米左右,所以系统利用步进电机来精确控制旋转角度和圈数,蜗轮减速机来增大输出力矩同时减速,采用滚动丝杠副是根据数控机床的精进位移原理来实现细小位移。其原理如下图所示:
图二 机械原理图
该装置的结构是步进电机转动带动蜗轮减速机,蜗轮减速机的输出轴和滚动丝杠相联,箱式直线轴承和光轴的作用是用来固定滚珠丝杠螺帽的转动,从而使其产生垂直运动推动上端顶柱的移动。在滚珠丝杠的顶部安装一个略大于丝杠直径的圆铁片,其作用在于触发旁边支柱上安装的滑动电位器和两个限位开关。由于每次调压时,前压值都不恒定,那么顶柱的移动距离也就不恒定,这样就无法通过判断流过滑动电位器的流来进行调压,但是考虑到该装置具有远程通讯接口,上位机可以利用这些参数构建智能系统,从而建立在不同前压状况下流过滑动电位器上的电流与丝杠精进位移之间的闭环反馈,形成除了利用后压值与丝杠精进位移之间闭环反馈的第二种反馈,但该装置仍然以后压值与丝杠精进位移之间的闭环反馈为主要控制形式,第二种反馈形式可以用作数据监测或数学建模所用,不直接作用于输出。
在该装置中没有选用普通的滑动丝杠,原因是丝杠在工作时要反复地旋转,并且承受比较大的轴向力,在工作一段时间后普通丝杠就会在经常滑动的那一段上出现磨损,直接导致控制精度大幅度下降,无法满足系统性能的要求,而滚珠滑动丝杠把普通丝杠中的滑动改为滚动,使得机械性能得到很大的提高,而且其移动精度也非常地高,完全可以保证控制要求,所以选择滚动丝杠作为把旋转运动转换为直线运动的执行元件。在滚动丝杠副承选择上,采用了HIWIN的产品, 其特点是导程小,精度高,机械强度高,在实际使用中也验证了这一点。
三 控制算法
控制算法使整个系统中的灵魂,算法的优劣直接影响到整个系统的调压特性。限于篇幅所限,压力数据采集、键盘输入和LCD显示部分的控制算法略去,可以参考相关资料。这主要叙述蜗轮丝杠精进装置的控制算法。
步进电机虽然是把电脉冲信号变换为相应的角位移或直线位移的元件,它的角位移和线位移量与脉冲数成正比,转速或线速度与脉冲频率成正比;在负载能力的范围内,这些关系不因电源电压、负载大小、环境条件的波动而变化,误差不长期积累,步进电动机驱动系统可以在较宽的范围内,通过改变脉冲频率来调速,实现快速起动、正反转制动。但是,步进电机也有一些缺点,比如在低速转动时噪声和振动比较大,在该系统中步进电机的转速是比较慢的,所以就必须避免这个问题。所采取的措施是利用细分控制技术,步进电机的细分控制,从本质上讲是通过对步进电机的励磁绕组中电流的控制,使步进电机内部的合成磁场为均匀的圆形旋转磁场,从而实现步进电机步距角的细分。具体内容可以查看参考文献[1]。
在该系统中步进电机的步进角是1.50,蜗轮减速机的减速比是1/20,滚珠丝杠的导程是1.5mm,忽略考虑前面所说的步进电机细分控制,顶柱要移动0.1mm,就需要PwH方波。当然,通过软件参数的设置还可以更加精确,该系统中0.1mm已经可以完成要求。
以下是控制步进电机的流程图:
图三 控制步进电机的流程图
在实际运行中,往往对调压精度没有特别苛刻的要求,而且该装置往往是整个管道控制系统中的一部分,系统根据所铺设管道的不同,对调压特性的要求也不一样,在管道中压力的数学模型是个比较复杂的含有惯性环节的模型,如果根据系统进行数学建模,不但复杂,而且就会有许多工程中的实际因素来影响该模型的准确度,使得所建立的数学模型与实际的工程现场相去甚远,所以通常可以根据系统实际需要通过键盘或串行通讯设定允许的调压误差,从而使该精进装置更好地与其他控制系统相配合。
四 通讯
为了使该系统可以和上位机进行通讯实现远程测控,利用80C196KC的串口和MAX487芯片组成RS485通讯端口。MAX487是MAXIM公司生产的含有一个驱动器和一个接收器的用于RS485通信的差分总线小功率收发器,输入阻抗为1/4负载(>48kW)。其数据传输速率为0.25Mbps,静态工作电流为120uA,5V单电源工作。MAX487的驱动器设计成限斜方式,使输出信号边沿不至于过抖,以避免在传输线产生过多的高频分量,从而有效抑制了干扰现象。
80C196KC串行通信的软件设计可以采用查询和中断两种方式,查询方式通过访问串行口控制/状态寄存器的标志位TI和RI,检查发送寄存器SBUF(TR)是否空或者接收寄存器SBUF(RX)已经接收一帧数据。查询方式程序设计简单,但由于CPU不断查询标志位,就不能再作其他工作,所以程序效率不高,不能适合于对实时性要求高的系统,利用串行中断设计程序就可以有效地克服这些缺点。串口初始化程序完成波特率的设定,使本机处于侦听地址状态等功能。下图是中断服务程序流程图。
图四 中断服务程序流程图
集散式控制系统在工程实际运用中运用的相当广泛,系统可以通过串行通讯直接对该精进装置进行数据采集和调压控制,考虑到燃气调压器的使用场合大多距离控制室