当前位置:首页 > 工业控制 > 电子设计自动化
[导读] 光电编码器是许多传感器和自动控制系统的重要部件,可用来测量位移、速度、加速度等。近年来在研究和使用方面,不断有所创新和发展。由于光电编码器具有精度高、体积小、重量轻、响应速度快、可靠性高、抗干扰能力强

 光电编码器是许多传感器和自动控制系统的重要部件,可用来测量位移、速度、加速度等。近年来在研究和使用方面,不断有所创新和发展。由于光电编码器具有精度高、体积小、重量轻、响应速度快、可靠性高、抗干扰能力强等特点,因此在国防、科研及工业自动化等领域应用越来越广泛。

在导弹的舵机伺服控制系统中,采用光电编码器作为位置检测装置时,光电编码器固定在电机轴上,并跟随电机同轴转动。为了减小舵机的体积,采用1个控制器控制4个舵机。舵机控制器采用DSP+FPGA的架构,DSP作为主控CPU,FPGA用于做接口处理。本文以Altera公司的型号为EP3C40F48417的FPGA为基础,采用Verilog语言,设计了可与DSP相连的编码器计数器接口,该接口具有数字滤波、方向鉴别、双向计数、复位等功能。

1 光电编码器原理

光电编码器根据形成代码方式不同,分为增量式和绝对式两种。绝对式编码器是直接输出数字量的传感器,在任何时刻编码器的示值都是唯一固定的;增量式编码器根据中心轴所转过的角度,输出一系列脉冲,典型输出为两个相位相差为90°的方波脉冲信号A、B和基准点定位脉冲信号I。增量式编码器的A、B两路信号的脉冲数标志着编码器所转过的角度,A、B两路信号的相位关系标志着编码器的转向,A相超前B相90°时,编码器正转;A相滞后B相90°时,编码器反转;当I相输出一个脉冲时,表示编码器旋转了一周。增

量式光电编码器输出信号如图1所示。

由于光电编码器的转速随时间可能发生不断变化,所以脉冲周期T很难确定。但是在每个脉冲周期内,A、B两相方波之间的相位关系是确定的。

2 FPGA设计

光电编码器选择MAXON公司的MR型编码器,旋转一周的脉冲数为500个。舵机的舵偏角范围为±30°,速比为125。编码器A、B两相信号一个周期内信号产生四次变化,编码器旋转一圈对应的计数器值应为2000,所以当舵偏角从-30°到+30°变化时,计数值最大应为41667。FPGA与DSP相连的数据线为16位,最大数值为65536,计数器的初始值为32768,计数存在溢出的可能。所以每当舵机到达中心0°时,DSP发出复位指令,计数器值复位为32768,这样在计数过程中就不会产生数据的溢出。为了减小干扰,A、B两相信号计数之前要对其进行数字滤波。编码器接口结构图如图2所示。

2.1 数宇滤波设计

虽然编码器输出信号经过了硬件电路的前期处理,但是多数情况下仍然会产生噪声信号,从而严重影响了计数的准确性,降低了整个系统的精度。为了消除噪声信号,在FPGA内部设计了一个数字滤波器来滤除抖动脉冲,防止计数器的误计数。数字滤波电路如图3所示。

本设计采用4个D触发器、一个JK触发器和一些逻辑电路来实现滤波,原理为:A相信号经过4路D触发器锁存以后产生3路信号,3路信号相与之后作为JK触发器的J端输入,3路信号取反再做与逻辑之后作为JK触发器的K端输入。根据JK触发器的原理计算各个时刻的信号输出可知,当干扰信号频率大于主时钟频率的1/3时,干扰信号将会被滤除掉。如图4所示。A代表有干扰的编码器信号,CLK为主时钟信号,CHA为滤波之后的编码器信号。

时钟周期的选择与干扰信号的脉冲宽的有一定的关系,要根据多次试验结果确定干扰信号的频率范围,再结合编码器信号的脉冲频率合理选取,这样才能满足最后的要求,经过试验确定主时钟频率为75 MHz,也就是说25 MHz以上的干扰信号不会对计数器产生影响。

2.2 计数器设计

实现计数的过程一般有两种方法:一种方法是处理器内部定时计数器实现计数;另一种方法是由可逆计数器实现计数。第一种方法结构简单,较为容易实现,但是不具有通用性,而且一个处理器上面的接口数量有限,无法对多个编码器同时进行计数。后一种方案利用FPGA实现,具有较好的通用性,功能扩展方便,能够对多个编码器同时进行计数。

增量式编码器根据轴所转过的角度,输出一系列脉冲,通过计数电路,对脉冲进行计数,得到相对的角位移。在脉冲周期T内,A、B两相信号共产生四次变化,在每一次变化时计数器进行计数,这样计数脉冲的周期减小到T/4,从而使光电编码器的角位移测量精度提高4倍。

在采样主时钟的下降沿对A、B两相信号进行采样,采样值与前一时刻的采样值进行比较来判断计数器的加减。当电机正转时,A相超前B相90°,则在一个周期内,两相信号共有四次相对变化:00→10→11→01→00,每发生一次变化,计数器便实现一次加计数,一个周期内共可实现4次加计数,从而实现正转状态下的四倍频计数。当电机反转时,A相滞后B相90°,则在一个周期内,两相信号共有四次相对变化:00→01→11→10→00,每发生一次变化,计数器便实现一次减计数,一个周期内共可实现4次减计数,从而实现反转状态下的四倍频计数。当没有状态转换时,计数器不进行计数。如图5所示。

采用D触发器来进行旋转方向的判断,B相信号作为时钟输入,在B相信号的上升沿采样A相信号的状态,当输出为高电平时,A相超前B相,表示电机正转;当输出为低电平

时,A相滞后B相,表示电机反转。

FPGA与DSP之间通过16位数据线、12位地址线,片选信号、时钟信号和读写信号线相连。地址线上面不同的数据代表DSP对FPGA的不同操作,地址线协议如表1所示。计数器电路如图6所示。

3 实验结果

在实验室条件下,DSP通过串口将计数值发送到计算机上,采用十六进制表示,串口协议如下:发送周期为10 ms,波特率为115200kbit/s,无校验位,8位数据位,1位停止位。结果如图7所示。

通过串口发出的数据可以看出,计数器的初始值为32768(十六进制为8090)。当电机正转时计数器增加,当电机反转时计数器减少,当电机停止旋转时,计数器保持当前数值。可以根据DSP发出的复位指令,计数器复位到初始值32768。DSP和FPGA工作正常,DSP通过片选信号和读信号能够实时的读取计数器的数值,能够满足电机控制的要求。

4 结论

从以上可以看出,利用FPGA设计光电编码器的接口电路,减少了系统芯片的数量,仅用一片芯片即可完成整个系统的设计,降低了系统的功耗,缩小了系统的体积,提高了系统的可靠性和抗干扰能力,用Verilog设计电路,只需要修改程序语句即可,提高了系统维护和升级的便捷性。本文的设计方法结构简单,无溢出,无误码,能够准确的检测码盘位置的变化,运行可靠,能够与DSP相连。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭