摘 要:在交流伺服驱动系统概念的基础上,提出了基于ACTEL现场可编程逻辑器件APA300的光电编码器与光栅尺信号处理电路设计原理,该电路由4倍频细分、辨向电路、计数电路组成,信号处理模块通过VHDL语言实现。
关键词:光电编码器;光栅尺;四倍频细分;辨向
基于FPGA的全数字交流伺服系统信号处理系统电路如图1所示,以DSP芯片作为伺服驱动器的核心处理器,完成数据处理和控制算法;FPGA完成编码信号的采集与鉴相、光栅尺信号处理、接收运动控制卡发出的脉冲信号与脉冲方向信号并返回给运动控制卡编码器脉冲信号等。采用FPGA作为脉冲或模拟量输出接口,对信号的每一位都用门电路进行驱动,以高速匹配其他芯片进行信息交换。由于FPGA内部是硬件电路,能实现真正的并行处理,这种预处理或后处理操作可以使DSP专注于复杂算法的实现,系统运行在准并行状态,加快了处理速度[1]。
1 光电脉冲编码器、光栅尺信号及电路设计要求
永磁同步电机的速度闭环控制过程中,必须实时检测电机转子位置及转速信息,其检测精确性直接影响对电机的控制精度。永磁同步电动机采用光电脉冲编码器检测电动机转子位置检测。位置直接闭环控制时必须实时测量轴的进给位置,进给轴的位置采用光栅尺来检测。
光电脉冲编码器是一种把角位移量转化为脉冲信号的检测元件,被广泛应用于数字交流伺服电机中检测转子位置。光电编码器分为增量式、绝对式以及混合式3类,增量式编码器由于性价比高而应用广泛。脉冲编码器与被测轴刚性连接,转轴每旋转一周,脉冲发生器输出一定的脉冲数,其输出脉冲的频率与转速成正比,所以可以通过脉冲频率来测量实现转速。增量式编码器输出两列正交的方波脉冲信号(A,B),计算A或B列脉冲的个数可以得到位置偏移量,利用其相位关系可以确定电机的旋转方向。增量式编码器还输出一路每转一周脉冲(Z)的信号,Z脉冲可用于计算转速,也可用于消除计算中所产生的积累误差[2]。增量式脉冲编码器输出波形如图2所示。
光栅尺是将光源、两块长光栅(动尺和定尺)、光电检测器件等组合在一起构成的光栅传感器。光栅尺输出的是电信号,动尺移动一个栅距,输出电信号便变化一个周期,它是通过对信号变化周期的测量来测出动就与定就职相对位移。目前使用的光栅尺的输出信号一般有两种形式:相位角相差90°的2路方波信号和相位依次相差90°的4路正弦信号。这些信号的空间位置周期为W。本系统光栅尺输出的信号为方波信号,输出同样可以产生A相、B相和Z相3个电信号,A相信号为主信号,B相为副信号,两个信号周期相同,均为W相位差90°,Z信号可以作为较准信号以消除累积误差[3]。由于光电编码器与光栅尺产生特性相同的信号,因此本文只介绍光电编码器信号的处理。
图2给出了编码器A、B、Z信号的变化情况。在A信号的下降沿采集B信号,就可以判断出运动方向。图中前半部分为正向运动,A信号的上升沿及下降沿均比B信号超前1/4周期,在A信号下降沿采集的B信号为“1”;后半部分为反向运动,A信号的上升沿及下降沿均比B信号滞后1/4W,在A信号下降沿采集到的B信号为“0”。根据采集到的运动信号方向和A信号变化的周期数用计数器进行计数(正向计数或逆向计数),就可以测算出位置偏移量。在本伺服系统中,用到的电机编码器为6000线,为了得到更高精度的位置偏移量,A、B信号需要进行细分。如果同时考虑A、B信号上升沿和下降沿的各种情况,就可以实现信号四细分,其主要电路有:细分辨向、计数电路等。以上功能可以由通用数字集成电路来完成,但这种设计方法所用芯片多,结构复杂。也可以通过单片机以及一些外围芯片来完成,只是这种方法通用性差,编程复杂,而且增大了单片机的负担,使单片机响应其他事件的实时性变差。 随着大规模可编程逻辑器件(CPLD:复杂可编程逻辑器件;FPGA:现场可编程门阵列)的飞速发展,传统的电路设计方法已大为改观。许多传统的逻辑电路完全可以用可编程逻辑器件来代替,并且可提高系统的可靠性,减小PCB的面积,使产品小型化,还有利于知识产权保护。利用EDA(电子设计自动化)技术设计可编程逻辑器件已成为现代电子设计的一种必然趋势。本文所介绍电路就是基于FPGA芯片完成的。 该电路设计有如下要求:利用FPGA芯片完成双路编码器信号处理、四细分及辨向功能、32位可逆计数器、与DSP的并行接口电路。编码器A、B信号作为输入信号,经四细分、辨向后,为32位可逆计数器提供计数脉冲和方向信号[4]。
2 FPGA器件的选择
根据设计要求和综合估算整个电路所需要的管脚个数,本设计选用APA300。它是Actel公司PA系列产品之一,是一种嵌入式可编程逻辑器件。APA300采用CMOS SRAM制造工艺,使用SRAM来存储编程数据,具有高密度(可用逻辑门30万,2个PLL)、高速度、低功耗等特点,而且APA300的I\O口有290个,完全符合本伺服系统设计的需要。
3 电路设计
本电路采用Actel公司的Libero IDE 开发平台进行设计。Libero IDE 为Actel公司的专门开发平台,它包括设计输入、编译、仿真、器件编程等功能。该平台使用方便,允许用户用原理图、VHDL语言、SmartDesign等多种输入方法进行设计。
3.1 细分辨向电路
编码器信号的细分与辨向是提高编码器测量精度的关键。细分辨向电路的原理图如图3所示。
编码器输出的相差为90°的方波信号PBA、PBB分别经D触发器处理后输入到辨向电路。D触发器作用是对信号进行整形,从而消除了输入信号中尖峰脉冲带来的影响,提高了系统的抗干扰性能。由图3可知细分辨向电路的输入是编码器经整形滤波后的A、B信号,时钟clkh、clkl,复位信号reset,输出有错误信号error,方向信号updown,输出的细分信号pulse。仿真波形如图4所示。
3.2 计数电路
本系统中的32位计数器采用VHDL语言进行设计。设计原理图如图5所示,输入信号定义为时钟clock、方向信号UPDOWN ,清零信号ACLR。输出信号定义为32位的计数结果Q[31:0]。用VHDL语言来编写实现32位可逆计数器功能。其仿真信号如图6所示。
设计经过仿真、编译实现后,该模块已成功应用于开发的伺服系中,实现了对光电编码器与光栅尺(运动控制系统中的位置反馈部件)信号的四细分处理功能,性能稳定可靠。在此设计的基础上再加上译码驱动和显示电路,就可作为位移测量和显示电路独立使用。
参考文献
[1] 汪卫民,李银华,张 劲. 基于DSP+FPGA的开放式伺服运动控制器的研究[J].工业控制计算机,2006,(1):58-59.
[2] 董莉莉,熊经武,万秋华.光电轴角编码器的发展动态[J].光学精密工程,2000,8(2):198-204.
[3] 万超,皮佑国,彭耿炎.基于合法信号认知的脉冲信号滤波技术研究[J]. 微计算机信息,2008,24(8):208-209.
[4] 齐京礼,宋毅芳,陈建泗.VHDL语言在FPGA中的应用[J].微计算机信息,2006,22(12):149-151.