基于FPGA的光电编码器四倍频电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2006-11
作者简介:钞靖(1983—),女,硕士研究生,研究方向为数控系统及其运动控制等。
基于FPG A 的光电编码器四倍频电路设计
钞 靖,王小椿,姜 虹
(北京交通大学机电学院,北京100044)
摘要:分析光电编码器四倍频原理,提出了一种基于可编程逻辑器件FPG A 对光电编码器输出信号倍频、鉴相、计数的具体方法,有利于提高被控对象的测量精度和控制精度。
关键词:FPG A;光电编码器;四倍频
中图分类号:TP212.14 文献标识码:B 文章编号:1006-2394(2007)06-0017-02
Fourfold Frequency M ulti pli ca ti on C i rcu it D esi gn of I ncre m en t a l
O pto 2electr i c Encoder Ba sed on FPGA
CHAO J ing,WANG Xiao 2chun,J I A NG Hong
(Mechanical and Electrical Contr ol Engineering Depart m ent,Beijing J iaot ong University,Beijing 100044,China )
Abstract:This article researches on the incre mental op t o 2electric encoder and analyze its f ourf old frequency multi 2p licati on p rinci p le,it gives a method based on FPG A t o multi p ly the signal of the incre mental op t o 2electric encoder,dif 2ferentiates its phase and counts its nu mber,the contr oled object πs p recisi on of measure and contr ol can be heightened .
Key words:FPG A;incre mental op t o 2electric encoder;f ourf old frequency multi p licati on
1 引言
光电编码器是一种高精度的角位置测量传感器,由于其具有分辨率高、响应速度快、体积小、输出稳定等特点,被广泛应用于电机伺服控制系统中。
通常,光电编码器可分为绝对式和增量式两种
[2]。
在数控机
床伺服电机的位置检测装置中一般采用增量式光电编码器,将其安装在电机轴的非负载端,跟随电机轴转动,其反馈信号则通过驱动器传递给运动控制器,构成对伺服电机的闭环控制。
本文根据四倍频的基本原理,利用可编程逻辑器件FPG A 设计了一种对于增量式光电编码器的四倍频电路,其结构简单、性能可靠,可提高被控对象的测量精度和控制精度。
2 四倍频电路设计原理
增量式光电编码器实际上是一种旋转式角位移检测装置,它根据轴所转过的角度,输出一系列脉冲,能将机械转角变换成电脉冲,其输出信号如图1所示。
A 、B 两相信号是相位相差90°的正交方波脉冲串,每
个脉冲代表被测对象旋转了一定的角度,A 、B 之间的相位关系则反映了被测对象的旋转方向,即当A 相超
前B 相,转动方向为正转;当B 相超前A 相,转动方向为反转。
Z 信号是一个代表零位的脉冲信号,可用于调零、对位。
(a )编码器正转输出
(b )编码器反转输出
图1 光电编码器输出信号
对于每个确定的编码器,每转过固定角位移θ,就
对应一个脉冲信号,故其量化误差为θ/2。
若将A 或B 信号四倍频,则在此θ角位移内,就会产生4个脉冲信号,其量化误差下降为θ/8,从而使光电编码器的角位移测量精度提高4倍。
由于伺服系统中编码器的转速具有不可预见性,造成脉冲周期T 具有不确定的特点,从而无法使用锁相环等常用倍频方案。
详细观察图1可发现,在脉冲周期T 内,A 、B 两相信号共产生了四次变化,尽管T 不确定,但由于A 、B 两相方波信号之间相位关系确定,使这四次变化在相位上平均分布。
・
71・2007年第6期 仪表技术
图4 四倍频、
鉴相及计数电路原理图
图5 四倍频及鉴相电路仿真波形
(下转第21页)
如果利用这四次变化产生四倍频信号,则可以实现光电编码器测量精度的提高。
分析发现,四倍频设计的关键在于鉴别出A 、B 信号的上升沿和下降沿。
鉴别信号上升沿和下降沿的方法很多,但其实质都一样,其原理如图2所示。
输入信号与其延时信号异或后,就可得到倍频信号。
而对于延时的处理方法也很多,如图3所示。
微分型电路其信噪比小,抗干扰性差,积分型电路可以提高信噪比,但和微分型电路一样有致命的缺点:当输入信号频率高时,电容充放电不及时,导致输出信号严重变形;对于各路倍频电路来说,电阻和电容的参数不可能完全一致,所以倍频后的各路脉冲宽度不等,而且宽度的调节也比较困难。
本设计中采用的数字型延时电路(寄存器延时)可以很好地克服以上延时电路的缺点,延时的时间和各路倍频的脉冲宽度由时钟控制,倍频后的脉冲宽度均匀一致。
(a )倍频原理
(b )倍频波形
图2 倍频电路原理图
(a )微分型
(b )积分型
(c )数字型
图3 延时电路
3 光电编码器四倍频电
路设计
在FPG A 中设计4倍频、鉴相电路一般有两种方法:一种是两路输出:一路输出方向,一路输出脉
冲;另一种也是两路输出,一路输出正向脉冲,一路输出反向脉冲。
本文采用的是后一种方法,这种方法可以方便的利用FPG A 中参数化宏功能模块库LP M 中的计数器l pm _counter 对经过倍频、鉴相
后的脉冲计数。
如图4所示,这里我们采用4个D 触发器锁存输入信号A 、B 的当前状态及原状态,CLK 为周期至
少小于编码器脉冲最小周期1/4的同步时钟,经三个异或门和两个与门后输出的正反向四倍频计数脉冲AOUT 及BOUT 的逻辑表达式为:
[AOUT]=(Q n +11 Q n +14)&[(Q n +11 Q n +14) (Q n +12 Q n +1
3)]
[BOUT]=(Q n +12 Q n +13)&[(Q n +11 Q n +14) (Q n +12 Q n +1
3)]
其中:Q n +1
1=A Q n +1
3
=B Q n +1
2
=Q n 1 Q n +1
4
=Q n
3
如前所述,这里通过(Q n +11 Q n +14) (Q n +1
2
Q n +1
3
)这三个异或运算来实现4倍频,对应的两个与门
用来实现鉴相。
将经过倍频、鉴相后的脉冲信号作为l pm _counter 计数器的时钟信号,就可实现对脉冲信号的计数。
4 仿真结果
利用ALTERA 的开发工具Max +p lus Ⅱ,输入电路原理图,编译后仿真图形如图5所示,仿真中CLK 周期为125ns,A 、B 的周期为1000ns 。
当A 相超前B 相时,AOUT 输出四倍频脉冲,DA [7..0]为编码器正转时四倍频脉冲个数;反之,BOUT 输出脉冲,DB [7..0]为反转时四倍频脉冲个数。
利用DA [7..0]与DB [7..0]就可方便的实现编码器的可逆计数。
・
81・仪表技术 2007年第6期
4.1 压缩比
该算法将12bit 的波形采样数据压缩为6bit,压缩比为2。
4.2 压缩时间
测井仪采用AT89C52单片机,工作频率为
16MHz,单字节指令运行时间为(1/16)×12=0.75μs 。
工作时,单片机在发送一个字的时间内,大约可以
执行230条指令。
除去发送和读数的开销,还有160条指令的空余度。
使用上述编码压缩一个字约需要130条单字节指令(仅考虑压缩和数据整理的开销),满足单片机的运算能力要求,能够完成实时压缩的要求。
4.3 失真度的要求
通过对采集的多个数据样本进行统计,使用本压缩算法而造成的失真数据个数小于7.62%。
由图4的误差曲线观察(上面两个波形分别为原始波形和解压缩后的波形,下面的波形为误差曲线),失真度很小。
我们已对部分测井资料采用该方法压缩,并由测井公司对其进行资料解释,其结果符合使用要求。
图4 6bit ADPC M 编码
从图5可以看到普通的ADPC M 编码无法阻止误
差的传播(上面两个波形为原始波形和解压缩后的波形,下面的波形为误差曲线。
为了能在图中突出体现传播效应,加入误码时采取极端措施,在某一点处连续加入大量的大数值误码),图6采用过零检测后可以使误差的传播限制在一个很小的区间里,但这是以牺牲压缩率(增加一位极性位)为代价的。
图5 不带过零检测的ADPC M
编码
图6 带过零检测的ADPC M 编码
综上,采用过零检测技术的6bit A DPC M (包括一
位极性位)码能够实时有效压缩测井数据,并能够抑制ADPC M 编码的误差传播现象。
参考文献:
[1]吴乐南.数据压缩的原理和应用[M ].北京:电子工业出版
社,1996.
[2]孙涵芳,徐爱卿.MCS -51/96系列单片机原理及应用
[M ].北京:北京航空航天大学出版社,2002.
[3]谭浩强.C 程序设计[M ].北京:清华大学出版社,1998.[4]马忠梅,等.单片机的C 语言应用程序设计[M ].北京:北
京航空航天大学出版社,1998.
(许雪军编发)
(上接第18页)5 结束语
可以看出,利用FPG A 设计光电编码器信号处理模块,无论是设计过程,还是电路结构、都变得更加简洁。
另外,在应用中注意FPG A 的时钟周期应小于编码器脉冲的1/4,只是通常FPG A 的时钟已经远远小于编码器脉冲周期,故在FPG A 中进行处理与计数是没有问题的。
参考文献:
[1]韩壮志,李伟.光电码盘四倍频分析[J ].自动化与仪器仪
表,2000,(12).
[2]王立锦,刘亚东,焦让,朱逢吾.磁旋转编码器四倍频电路
分析与集成化设计[J ].电子器件,2005,28(2).
[3]叶东,周志炜,张飚,彭国茂.基于FPG A 的多路光电编码
器数据采集系统[J ].传感器与微系统,2006,25(5).
[4]许永华,李钢.数控机床中光电编码器计数电路设计[J ].
制造计数与机床,2000,(1).
[5]Rovati L,Bonaiuti M ,Pavan P .Design of a high -perfor m 2
ance op tical syste m f or angular positi on measure ment:op tical and electr onic strategies f or uncertainty reducti on [J ].I nstru 2mentati on and Measure ment,2005,54(5):2075-2081.
(许雪军编发)
・
12・2007年第6期 仪表技术。