基于CPLD的AGC系统位置检测接口电路设计
2012-09-19车海军杨文婧杨景明王晓广
车海军 杨文婧 杨景明 王晓广
(燕山大学工业计算机控制工程河北省重点实验室,河北 秦皇岛 066004)
0 引言
板带轧机自动厚度控制(automatic gauge control,AGC)系统的执行机构是伺服阀控制的压下油缸。板带材厚度精度一般要达到微米级,因此,对压下油缸位置的测量精度要求达到1 μm以上。在冷轧板带轧机中,缸位移测量一般采用输出信号为增量编码器形式的日本Sony磁尺和输出信号为绝对值编码器形式的美国MTS的磁滞伸缩式位移传感器。本文针对增量式编码器信号设计了AGC系统位置检测接口电路。
许多学者对增量式编码器信号处理电路[1-5]进行了研究。文献[1]~[3]分别实现了三种采用分立元件设计的增量式编码器信号处理电路,这样的设计容易产生计数误差。文献[4]利用VHDL语言,采用上升沿法来完成增量式编码器的鉴相和倍频,但在板带轧机实际工作中,信号干扰大,上升沿不易捕捉。文献[5]针对增量式编码器信号处理,提出了一种抗干扰方法。
本文采用判断状态的方法设计了AGC系统压下油缸位置检测接口电路。该电路以CPLD为主控芯片,实现了增量式编码器信号的鉴相、倍频、计数的功能;同时构建了AGC系统位置检测接口试验电路,验证了该接口电路的可行性。
1 增量式编码器特点及工作原理
增量式编码器测量精度高,构造简单,平均机械寿命可在几万小时以上,且抗干扰能力强,可靠性好,适合于长距离传输。增量式编码器直接利用光电转换原理输出三组方波A、B、Z相脉冲,其中A、B两脉冲相位相差90°[6]。当主轴正转时,A相脉冲超前 B相脉冲90°;当主轴反转时,B相脉冲超前A相脉冲90°。而Z相脉冲用于基准点的定位,编码器旋转一圈输出一个Z相脉冲。
增量式光电编码器光电码盘的脉冲周期T对应着码盘角位移θ,其量化误差为θ/2。如果将A信号或者B信号四倍频,那么计数周期就为T/4,量化误差为θ/8,增量式编码器的角位移精度就提高了四倍。因此,本文把增量式编码器输出的脉冲信号进行了四倍频处理。
2 接口电路硬件设计
由于增量式编码器输出的A、B、Z信号是符合RS-422标准的差分信号(A+、A-、B+、B -、Z+、Z -),因此,A、B、Z信号需经由高速光耦6N137转变为单端信号输入CPLD中。6N137接收信号图如图1所示。
图1 6N137接收信号电路图Fig.1 The circuit of 6N137 signal receiving
在AGC系统中,由于增量式编码器的输出有5 V(即高电平为5 V,低电平为0 V)和15 V(即高电平为15 V,低电平为0 V)两种电平标准,因此,设计了一个编码器信号电平选择开关。当开关S1拨到图中A-所示端子处时,接收5 V编码器信号;当开关S1拨到图中G所示端子处时,接收15 V编码器信号。
接口电路采用转换速率最高可达10 MB/s的高速光耦6N137接收编码器信号,使电路与外界电隔离,提高了系统的抗干扰能力。在6N137的5脚和8脚之间需要加一个0.1 μF的旁路电容。
由于需要3.3 V和5 V的直流电源,系统选用LM2596来完成编码器接口电路的供电。LM2596最大输出驱动电流为3 A,具有很好的线性和负载调节特性。电源硬件电路图如图2所示,其中,图2(a)为3.3 VDC电源电路图,图2(b)为5 VDC电源电路图。
图2 电源硬件电路图Fig.2 Hardware circuit of the power supply
3 接口电路软件设计
现阶段对AGC系统压下油缸位置进行检测时,增量式编码器的脉冲信号接收和处理主要有两种方法。
一种是单独构建鉴相、计数的硬件电路,由D触发器完成鉴相功能,再由74LS192进行计数。但实际中由分立元件来完成的电路易受干扰,并且容易产生脉冲计数累积误差[7]。
另一种是直接由单片机来完成编码器的鉴相、计数。但是这种方法会占用单片机许多CPU资源,如果有高级中断,可能会出现漏计数的情况;且单片机的工作常会受到外界的干扰,造成片内各种特殊功能寄存器产生变化,使单片机控制的系统无法工作。
本文选用复杂可编程逻辑控制器CPLD来实现增量式编码器的倍频、鉴相和计数。与上述两种方法相比,选用复杂可编程逻辑控制器CPLD的方法运算处理速度更快,可靠性和抗干扰能力更强。
经分析,增量式编码器正转时输出的脉冲A、B两信号的状态是从00到01、到11、到10,再回到00的顺序,而编码器反转时输出的A、B两信号的状态是从00到10、到11、到01,再回到00的顺序,都是经历了四个状态之后循环,并且顺序是唯一确定的。因此,可以通过判断A、B信号的前后状态变化来进行编码器的鉴相。每当判断一次状态的变化,计数器就加一或者减一。这样经历了一个周期之后,计数器进行了四次计数,从而实现了脉冲信号的四倍频。
在AGC系统运行中,增量式编码器输出的脉冲信号容易受到高频噪声和主轴的抖动干扰,通过判断脉冲信号状态的方法可以消除这两种干扰所带来的计数误差。这是因为编码器输出的脉冲信号状态是有固定规律的,而当脉冲信号的状态出现非正常变化时,计数器不计数,这样就有效地减小了信号畸变所带来的计数误差。
在CPLD中,系统采用图形与语言相结合的方法设计逻辑模块[8-10]。通过图形可以清晰地看到输入和输出的关系,而内部的逻辑子模块采用VHDL语言编制。这种自顶向下的方法有利于程序的阅读和后续的软件维护。
在位置检测接口电路的设计中,需将整个工程分为鉴相模块、计数模块和数码管显示模块几个主要部分来设计。基于CPLD的顶层模块设计图如图3所示。
图3中,rst为复位端,当rst为1时,计数清零;clk为频率为20 MHz的时钟脉冲;a、b为增量式编码器两个相差90°的输入脉冲信号;wei[7…0]和 duan[7…0]为数码管的选通端,用于数码管显示。
对图3所示工程,在CPLD开发软件QuartusⅡ9.0上进行编译。根据工程生成的report可知,在CPLD上实现编码器数据采集与处理的功能需用65个Logic Elements和22个CPLD引脚。
图3 编码器接口电路顶层模块结构图Fig.3 Structure of the top layer module of the encoder interface circuit
鉴相模块的内部VHDL程序如下。其中,a、b为编码器输出的两个脉冲信号;pulse为四倍频后的计数脉冲;updown表示编码器转动方向,当编码器正转时,updown为1,当编码器反转时,updown为0。
4 接口电路仿真
根据上述分析设计,本文在QuartusⅡ9.0环境下完成了接口电路的编码、调试以及时序仿真。仿真波形图如图4所示。
图4 仿真波形图Fig.4 Simulation waveforms
图4中:rst为复位信号;a、b为 A+、A-、B+、B -经过6N137处理之后的脉冲信号;clk为系统时钟,频率为20 MHz;count为16位二进制的计数值,图中是由4位十六进制表示。
由图4可以看出,当A脉冲超前B脉冲90°时,计数器加1;当A脉冲落后B脉冲90°时,计数器减1。仿真验证了设计电路原理的可行性。
5 试验验证
根据上述思路,构建AGC系统位置检测接口试验电路,用以验证接口电路的可行性。位置检测接口电路总体框图如图5所示。
图5 位置检测接口电路总体框图Fig.5 Overall block diagram of position detection interface circuit
试验中所用增量式编码器为德国倍加福公司的RVI58N系列的编码器,该编码器旋转一圈输出1 024个脉冲。A、B、Z信号接收电路按照第2节所介绍的电路搭建,显示电路由4位8段数码管组成。选用Altera公司的MAX3000A系列型号为EPM3128ATC100-10的CPLD作为主控芯片,将VHDL程序写入EPM3128ATC100-10中,上电运行后,转动编码器,数码管可以稳定地显示所转动的圈数。
6 结束语
本文以CPLD为主控芯片,设计了板带自动厚度控制(AGC)系统压下油缸位置检测接口电路,完成了增量式编码器的信号采集与处理,实现了鉴相、倍频、计数功能。
经试验验证,该位置检测接口电路采集和处理编码器信号速度快,抗干扰能力强,为实现高精度板带材自动厚度控制系统打下良好的基础,且本电路可移植性强,可以集成为独立的模块应用于其他工业领域。
[1]刘飞龙,裴海龙.光电脉冲编码器四倍频电路的实现及其应用[J].自动化仪表,2000,21(9):4 -6.
[2]杨秋霞,杨景明,吴晓辉.索尼礠尺的模拟显示电路[J].电力自动化设备,2004,24(4):49 -51.
[3]费伟中,沈建新,周勇.增量式光电编码器计数与接口电路设计[J].微特电机,2007,1(1):16 -18.
[4]徐建忠,何丽,俞竹青.基于VHDL的光电编码器信号处理方法[J].江苏工业学院学报,2008,20(3):43 -45.
[5]张九才,王文祥,杨显志,等.增量式编码器抗抖性研究[J].自动化仪表,2005,26(10):38 -39.
[6]方一鸣,王洪瑞,杨景明,等.增量式脉冲编码器在绝对位置测量中的应用[J].自动化仪表,1999(8):21-23.
[7]焦东岳.基于PIC单片机的AGC下位机系统设计及实现[D].秦皇岛:燕山大学,2009.
[8]王诚,吴继华,范丽珍,等.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.
[9]陈耀和.VHDL语言设计技术[M].北京:电子工业出版社,2004:1 -20.
[10]Wilson P.FPGA 设计实战[M].杜生海,译.北京:人民邮电出版社,2009:9-22.