增量式光电编码器|设计增量式编码器的接口电路

增量式光电编码器(设计增量式编码器的接口电路)
现场可编程逻辑阵列(FPGA)资源丰富,结构灵活,近年来发展迅猛 。针对其特点,本文设计了基于FPGA的增量式光电编码器的接口电路,实现了对增量式编码器脉冲信号的倍频、鉴相及计数等功能 。最后仿真验证了设计的可行性 。为进一步实现高精度的位置伺服控制提供基础 。
增量式光电编码器|设计增量式编码器的接口电路



光电编码器是目前伺服系统中应用最多的传感器,它通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量 。光电编码器与电机相连,当电机转动时,带动码盘旋转,便发出转速或转角信号 。
目前光电编码器已经普遍应用在雷达、光电经纬仪、地面指挥仪、机器人、数控机床和高精度闭环调速系统等诸多领域 。根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式3种 。
绝对型编码器在转轴的每一个位置均可读出唯一对应的数字码,抗干扰、无需掉电记忆,但其制造工艺复杂、价格是增量型编码器的几倍到几十倍 。因此在实际的应用中,增量型编码器占据了统治地位 。
增量式编码器工作原理增量式编码器由光源、码盘、检测光栅、光电检测器件和光电转换电路组成,其原理如图1所示 。
增量式光电编码器|设计增量式编码器的接口电路

图1 增量式编码器原理图
当码盘随同被测转轴转动时,检测光栅保持不动 。光线穿过码盘和检测光栅的缝隙照射在光电检测器件上,光电检测器件即会输出相位相差900电度角的近似于正弦波的两组差分电信号,这两组差分信号再经脉冲整形转换为普通的单端电平信号,最后对两个单端电平信号进行倍频、鉴相和计数等操作,以得到码盘旋转的方向和位置 。

【增量式光电编码器|设计增量式编码器的接口电路】

本文旨在解决增量编码器倍频、鉴相、计数的问题,充分利用FPGA丰富的逻辑模块和IO模块,设计了一种简单的接口电路,并行输出结果以供进一步操作,如图2所示 。
增量式光电编码器|设计增量式编码器的接口电路

图2 编码信号处理模块
倍频、鉴相、计数原理分析编码器码盘和检测光栅有两组对应的等间距透光缝隙,相互错开1/4节距,用于在旋转过程中对光电发送及接收装置产生通断变化,使得光电检测器件输出相位上相差90o的信号A、B 。根据A和B的相位关系可判断出码盘的旋转方向 。
当A相位超前B90o时,DIR(方向信号)为高电平,电机正转;当A滞后B90o时,DIR(方向信号)为低电平,电机反转 。码盘信号经过计数器计数后得出码盘旋转的角度才能转换为位置信息,计数器加减以方向信号为依据 。
与此同时,码盘上还有一个开孔用来判断码盘的绝对位置,即码盘每旋转一周将产生一个索引信号I,有的也用I作为对位、清零信号 。如图3所示 。
增量式光电编码器|设计增量式编码器的接口电路

图3 编码器输出信号
编码器每旋转一周,A相和B相所输出的脉冲数相同,脉冲数决定了编码器的精度 。
由图3可知,在一个编码脉冲输出周期中,A和B信号共产生了4个跳变沿 。捕捉每个跳变并且进行计数,即:当A为高电平时,B在上升沿则加1,下降沿则减1;A为低电平时,B在下降沿则减l,上升沿则加l;B为高电平时,A在上升沿则减1,下降沿则加l;在B为低电平时,A在上升沿则加1,下降沿则减l 。
如此在每个周期内,码盘正转时计数4次,反转时也计数4次,使计数脉冲数量增加了4倍 。若一个编码脉冲信号量化误差为,则四倍频后的量化误差降为/4,其角位移的测量精度提高了4倍,同时光电码盘的分辨率也提高了4倍 。
信号四倍频设计的关键在于捕捉A、B信号的上升沿和下降沿 。本设计采用数字型电路即D触发器作为延迟环节来检测边沿的变化,A、B相倍频脉冲宽度和延时时间均由时钟(外部有源晶振提供)控制,倍频后的脉冲宽度一致,可以有效地克服传统RC微分型或积分型边沿检测电路的不足 。
A、B信号经D触发器后的信号分别记为A1、B1 。将A1、B1作为倍频的原始信号,将消除A、B信号中尖脉冲带来的影响,提高了系统的抗干扰性能 。A1、B1再经过一个D触发器,延时一个时钟周期,将产生A2、B2信号 。
即A2、B2分别滞后A1、B1一个时钟周期,且A1、A2的相位分别滞后B1、B290o(假定此时电机反转,B1超前A190o),为了实现预期目的,需要能够完全捕捉到一个周期内脉冲的上升沿和下降沿,即图4的圆黑点 。