基于可编程逻辑器件的增量式编码器信号去抖方法的实现
2016-11-03陈强,朱娜
陈 强,朱 娜
(北京航天控制仪器研究所,北京100039)
基于可编程逻辑器件的增量式编码器信号去抖方法的实现
陈强,朱娜
(北京航天控制仪器研究所,北京100039)
在伺服系统中,实时、准确地获得编码器反馈信号对伺服闭环控制至关重要。从增量式编码器的结构原理出发,分析引起其输出信号抖动的可能原因。根据D触发器逻辑功能,设计了一种基于可编程逻辑器件的增量式编码器信号去抖方法。实验结果表明,该方法能有效滤除信号的边沿抖动和干扰毛刺。
增量式编码器;D触发器;去抖方法;可编程逻辑器件
0 引言
在运动控制领域,常常需要测量角度、速度、位移等信息,光电编码器是常用的测量装置之一。光电编码器是一种通过光电转换将输出轴上的机械(几何)位移量转换为电脉冲或数字量的传感器[1]。根据光电编码器产生脉冲的方式不同,可分为增量式、绝对式和复合式3种;根据编码器运动部件的运动方式不同,又可分为旋转式和直线式2种。本文主要讨论增量式旋转光电编码器(简称:增量式编码器)。
增量式编码器码盘的基本结构如图1所示,码盘上的开孔能够使其在旋转过程中对光电发送和接收装置产生通断变化,从而可以产生相应的脉冲信号[2]。每产生1个输出脉冲信号就对应于1个位移增量,可检测某个时间段的相对位置增量,不能直接检测绝对位置信息。输出的A、B两相脉冲信号相位差90°。当逆时针运动时,A相比B相超前90°;当顺时针运动时,A相比B相滞后90°。
图1 增量式编码器码盘基本结构及输出信号波形Fig.1 Incremental encoder basic structure and output signal waveform
由于自身和使用环境等诸多因素影响,增量式编码器输出信号在进入处理电路前无法避免会混有或多或少的干扰脉冲,引起错误计数。本文分析其产生原因,提出一种基于可编程逻辑器件的增量式编码器信号去抖方法。
1 信号抖动产生原因分析
常见的增量式编码器信号抖动主要有两种原因,一种是编码器自身输出的误码脉冲,一种是在信号传输环节引入的干扰。
1.1编码器自身输出的误码脉冲
在实际应用中,由于机械振动、工作环境、电机负载等都无可避免地会产生振动,编码器会在某点位置附近往复振动,在输出信号的脉冲边缘出现抖动,产生误码。增量式编码器自身误码波形如图2所示[3-5]。
图2 增量式编码器自身误码波形Fig.2 Incremental encoder self bit error waveform
1.2信号传输环节引入的干扰
编码器通过电缆、接插件等传输环节与处理电路相连,在传输过程中难免受到外部电磁干扰的影响。干扰程度与干扰源强弱、离干扰源距离、电缆长度、走线方式、屏蔽好坏等因素有关。增量式编码器传输环节受到干扰波形图如图3所示。
图3 增量式编码器传输环节受到干扰波形图Fig.3 Incremental encoder transmission interference waveform
2 信号去抖方法原理及实现
在伺服系统中,编码器反馈信号是闭环控制的关键,不论是速度控制,还是位置控制,实时、准确地获取编码器反馈信号对整个闭环系统的控制精度、响应速度和可靠性至关重要。
在数字电路中输入高、低电平有2个极限值,分别为有效低电平的最大输入值Va,有效高电平的最小输入值Vb。例如:TTL电平,Va≤0.8V,Vb≥ 2.0V;CMOS电平,
增量式编码器的边沿抖动和干扰毛刺会使数字电路脉冲计数值大于实际值,使采集的角度值与实际值产生偏差,造成后续逻辑错误或控制运算偏差,对闭环控制系统性能产生很大危害。为了更准确地测量位移或角度值,必须在处理电路中通过有效的方法去除脉冲信号的边沿抖动和干扰毛刺。
边沿抖动和干扰毛刺的维持时间相比正常脉冲信号具有持续时间短、数量多的特征。去抖方法的基本思想是:在一定时间内对信号电平多次采样,比较采样值;当电平值保持一致时,则认为不是抖动,正常输出;当电平值前后不一致时,则认为是抖动,滤除掉。
D触发器具有以下逻辑功能:输出端Q的状态随输入端D的状态而变化;但总比输入端状态的变化慢1个时钟周期。本文在不改变硬件电路的前提下,在可编程逻辑器件芯片中使用VHDL语言,利用多个D触发器和逻辑判断去除增量式编码器信号中包含的边沿抖动和干扰毛刺。
如图4所示,编码器脉冲信号进入可编程逻辑器件后经过4个串联的D触发器,对第2、第3、第4个D触发器的输出信号Q2、Q3、Q4进行逻辑判断,有以下3种情况:
若Q2=Q3=Q4=1时,J1=1,K1=0,则OUTPUT=1;
若Q2=Q3=Q4=0时,J1=0,K1=1,则OUTPUT=0;
若Q2、Q3、Q4不完全相等时,J1=0,K1= 0,则OUTPUT保持上一状态值。
图4 增量式编码器信号去抖原理图Fig.4 Incremental encoder signal anti-jitter principle diagram
由此可见,信号经过以上电路处理后,脉冲信号必须保持4倍以上时钟信号宽度时才能正常输出。编码器脉冲信号中混入的边沿抖动和干扰毛刺的维持时间比正常脉冲信号短很多,设定合适的时钟频率,通过该去抖电路将可以基本滤出边沿抖动和干扰毛刺,获得准确的计数值。
使用时需要根据所采集增量式编码器脉冲信号的最高频率来确定合适的时钟频率。时钟频率设定过高则无法消除频率较宽的边沿抖动和干扰毛刺;设定过低则可能滤除实际的脉冲值。另外,电路中的D触发器和JK触发器会使输出信号产生延时,设计控制系统时也需要考虑延时产生的影响。
3 仿真及实验结果
本文采用Altera公司的MAX II系列CPLD芯片EPM570T100,使用Quartus II 7.2软件作为集成综合开发工具。
以采集一个12位分辨率的增量式旋转编码器为例,进行仿真和实验,验证该去抖方法的效果。该编码器旋转1圈共产生脉冲数为212=4096p/r,假设系统伺服控制的最高转速为0.5rad/s,则1s时间内产生的脉冲数最多为4096p/r×0.5rad/s=2048p/s,A、B两相信号最大频率约为f=2KHz,周期约为T=0.5ms。
根据香农采样定理,采样频率要远高于信号频率,一般取10倍以上,但不能过高。过高会将边沿抖动和干扰毛刺当作实际信号采集。通过图3可知增量式编码器边沿抖动和干扰毛刺的维持时间在4μs(250KHz)以下,经综合考虑,该电路选择时钟频率为fclk=50KHz。
设计完成后的仿真结果如图5所示,该方法可以有效滤除脉冲上的抖动和毛刺,获得规则的脉冲波形。在实际应用过程中也可以起到显著的去抖效果,如图6所示。
图5 仿真结果Fig.5 Simulation result
图6 实际信号防抖处理前后对比Fig.6 Comparison of actual signal image before and after anti-jitter treatment
4 结论
本文设计的信号去抖方法在不增加硬件电路的前提下,利用可编程逻辑器件的硬件描述语言成功去除增量式编码器信号的边沿抖动和干扰毛刺,保证了脉冲计数值的准确。同时,只需根据实际信号脉宽,合理选取时钟频率,该方法还可以扩展应用于键盘、按键、开关等信号的防抖处理。
[1]杨立溪.惯性技术手册[M].北京:中国宇航出版社,2009. YANG Li-xi.Handbook of inertial technology[M].Beijing: China Aerospace Press,2009.
[2]苏奎峰,吕强,邓志东.TMS320x28xxx原理与开发[M].北京:电子工业出版社,2009. SU Kui-feng,LV Qiang,DENG Zhi-dong.Principle and development of TMS320x28xxx[M].Beijing:Electronics Industry Press,2009.
[3]方华松,丁望来.基于FPGA的抗编码器抖动干扰的高精度编码技术[J].船电技术,2009,29(7): 15-18. FANG Hua-song,DING Wang-lai.A high performance encodingtechnologywithtwitter-interferenceelimination based on FPGA[J].Marine Electric&Electronic Engineering,2009,29(7):15-18.
[4]闫莎莎,朱世强,刘华山,等.基于CPLD的光电编码器测量系统[J].机电工程,2009,26(1):77-79. YANSha-sha,ZHUShi-qiang,LIUHua-shan,et al.Photoelectrical encoder system based on CPLD[J].Journal of Mechanical&Electrical Engineering,2009,26(1):77-79.
[5]王鹏,杜卫东,吕志刚,等.基于FPGA与FSM的高精度测角系统设计与实现[J].电子技术应用,2012,38(2):15-18. WANG Peng,DU Wei-dong,LV Zhi-gang,et al.The design and implementation of high precision angle measuring system based on FPGA&FSM[J].Application of Electronic Technique,2012,38(2):15-18.
[6]游志刚,李小波,孙志勇.一种基于CPLD的智能宽带去边沿抖动技术[J].电子测量与仪器学报,2005,19(4):15-17. YOU Zhi-gang,LI Xiao-bo,SUN Zhi-yong.A CPLD-based intelligent elimination technique for edge trembling of wideband signals[J].Journal of Electronic Measurement and Instrumentation,2005,19(4):15-17.
Realization of Anti-jitter Method for Incremental Encoder Signal Based on PLD
CHEN Qiang,ZHU Na
(Beijing Institute of Aerospace Control Devices,Beijing 100039)
In servo system,real-time and accurate access to the encoder signal is the key to the servo closed-loop control.According to the construction and principle of the incremental encoder,the possible reasons of the jitter in the output signals are analyzed.A anti-jitter method for incremental encoder signal based on PLD was designed according to the logical function of the D trigger.The experiment result shows that the edge jitter and interference burr can be filtered out effectively.
incremental encoder;D trigger;anti-jitter method;programmable logic device(PLD)
TN762
A
1674-5558(2016)03-01166
10.3969/j.issn.1674-5558.2016.05.014
陈强,男,硕士,工程师,研究方向为惯性技术应用。
2015-07-23