Technical article
简单快速的测量位置变化
加工机械位置系统、精密测量仪器以及搬运机器人需要快速的记录位置数据,也需要快速的识别出任何变化。
高分辨率编码器和光栅尺通过一个编码器接口反馈位置数据给控制中心。选择的这个接口必须满足控制单元对时间的要求。对于设计者,拥有太多的编码器接口可供选择,这样就使得选择编码器接口的任务和完成这个任务一样的复杂。
除了那些众多的专有数字接口,也有一些开放的标准接口,例如,SSI和BiSS接口用于绝度位置读取。然而,如果方向上的或一个非常高的位置分辨率变化需要一个快速的捕获,串行数据接口的吞吐能力是有限的。
作为另一个选择,有很多传统的开放编码器接口可供传输位置数据,例如使用正弦/余弦信号或者增量A/B信号传输位置数据都很好。
下面的文章描述这方面的需求、替代选择以及可行的解决方案。
目录
1.选择编码器接口
2.使用当前值快速控制
3.仅仅计数是不够的!
4.构建一个快速编码器接口
5.摘要
选择编码器接口
在使用控制器或者PLC的线性/旋转编码器的系统中调用一个接口模块(如图1)。很多控制器厂商提供一定范围的专有或者开源接口。
模拟接口
模拟接口是传统的非专有接口,传输位置信息使用模拟信号。在接收方,既可以使用正弦/余弦值供插补细分器细分,也可以使用电流或者电压信号(例如,0-20mA 或 0-10V)确定绝对位置。后者是非常通用的接口,用于简单的位置编码器。在安全应用领域,模拟差分正弦/余弦信号收发器是优先选择的,差分信号的错误第一时间可以被检测到,因此适合这类应用。
图1:控制器或PLC的编码器接口
数字绝对值接口
最快的传输数字绝对位置数据的方法是通过一个并行接口。这个接口通常由TTL驱动器担当。然而,并行接口线缆的成本非常高,因为这个原因这种方法不是特别受欢迎。其他方法越来越流行了,包括使用标准的非专有现场总线用于串行传输,例如,CANopen、以太网以及开源的SSI/BiSS接口。
数字增量接口
另一个传统串行编码器接口使用两个相移90°的A和B信号提供增量传输位置变化数据,就是众所周知的正交信号。另外,一个Z脉冲信号提供零位信号用于零位探测。对于增量接口,一个方向上的改变由A到B信号的相移或者B到A信号的相移变化表示。
图2所示的是一个靠近零位置的方向改变时序图。这里给出的是一个旋转运动方向改变时的分辨率,是一个角度,滞后1.4°。如图所示,A,B增量信号相移允许探测方向用于向下和向上的计数。
在这个例子里,一个循环内,A/B信号提供360°的边沿(H至L或者L至H)。方向鉴别器必须评估这些边沿的相位差以及激活向上/向下计数器。这例子是编码器当时的绝对位置信息。
图2:增量编码器接口和A,B,Z信号时序图
增量编码器接口的优越性在于低成本和对线缆的低要求。典型的配置包括TTL驱动器输出、集电极开路输出以及线驱动器输出。TTL驱动器和集电极开路器是更低成本的解决方案,线驱动器提供许多优越的性能。这些高级性能包括差分驱动器的抗干扰性、可驱动长距离线缆运行、高效的功率消耗以及快速串行传输性能的提高。差分对传输器得益于使用专用的RS422驱动器,提供更好的适应性。
方向的改变也可以被快速的探测,速度由简单的测量两个Z零位脉冲之间的沿距离来确定。然而,一个绝对位置仅在一个Z零位脉冲到达之后有效。对于旋转运动,绝对位置在至少一个循环之后获得。为此,线性测量系统需要一个参考或者起始序列优先于常规运行。
使用当前值快速控制
高精度应用和高速运动产生非常高的时钟频率,这不得不由接口模块来处理。考虑这种高速度和位置控制,可实现的控制循环依赖于固件的算法和硬件的延时时间。
举例说明,图3图解了一个电机控制系统的组成。除了固件的执行时间之外,如下的硬件执行时间也要特别注意考虑进去:
1. 编码器延时:插补细分器的处理时间和A/B信号的输出耗时。
2. 编码器和控制单元/PLC之间的传输时间。
3. 控制单元/PLC的编码器接口模块读出时间
图3:一个电机控制回路的定时组成部分
编码器延迟
编码器延迟(TLZ)依赖于模拟放大器的带宽,其内部的插补细分处理、分辨率以及其使用的编码器接口。
插补细分器延迟
如果模拟编码器信号正弦/余弦插补细分是一个基于MCU/DSP系统,延迟周期可能超过200us或更多。特别要注意的是当使用较高频率和分辨率,尤其是协同多轴控制和冗余系统。在这种情况下,延迟可以导致位置数据或许不是当前的或者不同步。为迎接这个挑战,一个基于超快闪速(flash)插补细分器可以担当此任务(例如,iC-NV)。iC-NV是并行内部处理,可获得延时少于1us的插补细分器。
编码器接口延迟
当采用串行编码器接口时,通常只扮演着重要角色的是数据传输时间。对于串行传输,MCU/DSP从编码器接口模块的位置数据读出时间Tread,取决于数据位宽和整体速度。例如,SSI在10MHz运行,32位宽,传输时间为3.2us。
对于增量接口,延迟通常可以忽略,给出实时性位置运动编码器信号边沿。然而,方向的改变将增加一些数量的延迟,取决于增量信号的迟滞(见图2)。
处理延迟
一旦位置数据通过编码器接口被读取,软件算法处理时间(TS/W)增加了系统延迟。这将在不同系统之间由于系统本身的处理时间而大为不同,取决于使用的MCU或者DSP的构架和处理能力。
电机延迟
在位置数据被读取和处理之后,最终的延迟属于电机驱动器自身的一部分。激活电机(Tdriver)和随后的反应时间(Tmotor)必须被加到整个的系统延迟。
所有的这些延时时间加到系统延迟,这个延迟会直接影响整个控制周期的持续时间。反过来,这也影响生产率和整个机器电机控制系统的精度。
3)仅计数是不够的!
电机的速度和编码器的分辨率确定被处理的脉冲的重复率。然而,当选择一个编码器的时候必须一并考虑其他因素。
编码器选择例子
以一个高速应用为例,磁编码器系统,例如iC-MH在分辨率为10位时允许电机速度高达480,000 RPM。这些器件也同样提供相关的电机换向信号UVW。
典型的电机速度通常在500到15,000RMP范围以内。然而,通常要求的分辨率为12位或者以上。在这种情况下,一个速度为120,000RPM和12位位置分辨率的编码器可以由iC-MH完成。
iC-MH是一个单芯片绝对值编码器器件,提供多种编码器接口。包括两个串行SSI/BiSS传输接口和一个增量接口。聚焦这个标准增量信号,A/B信号的沿重复率达8MHz。这允许一个大于125ns的最小沿距离距离在两个A/B信号沿之间(见图4a:多种电子插补细分器/编码器特性)。
图4a::多种电子插补细分器/编码器特性
位宽和速度
图4b给出了每旋转编码器的脉冲数,取决于速度。在一个15位分辨率以及10,000RPM重复率时几乎达到5.5MHz。标准编码器仅在低速时能获得像这样的分辨率。随着方向改变,最小沿距离非常重要而且必须被考虑进去。
图4b:脉冲速率取决于速度和分辨率
直线电机例子
如果使用直线电机,通常需求的速度为几米每秒。对于无芯直线电机,甚至可以获得超过7m/s的速度。
对于光栅尺或磁栅尺,其提供一个周期间隔20um的正弦/余弦信号。若由采用一个分辨率因数为16的插补细分器细分,例如,采用iC-NQC,可达到1.3us的分辨率。在直线速度为2m/s时,脉冲重复率为1.6MHz。
除了脉冲重复率和A/B信号的最小沿间隔之外,在开发期间也要遵守下面的这几方面:
多轴位置在tX时刻同步存储
简单的速度测量
在A/B信号传输期间检测失调/误差
可编程计数器的长度要考虑到不同的测量精度
单端和差分两种方法评估A,B和Z信号
4)构建一个快速增量接口
增量编码器可以用多种不同的方法连接,对于非常缓慢的运动,使用MCU的固件和一个中断来评估信号沿即可。
如果使用一个外部方向鉴别器,或者使用一个集成到MCU内部的方向鉴别器,数KHz频率的A/B信号也许由MCU的内部定时器/计数器能胜任此扫描任务。对于工业控制器/电机控制系统,FPGA也经常用来构建编码器的接口。取决于此处理器的构架,有些这方面的一些系统有局限以及不能处理高频率的编码器。然而,采用新开发的嵌入式控制器和专用的编码器处理器可以帮助设计者解决此类型的设计挑战。
iC-MD是一个此类型的编码器处理器件,如图5所示,此器件提供一个完全的增量编码器接口和集成的差分RS422线接收器。iC-MD也可以连接到一个SPI接口或者一个SSI/BiSS接口。
iC-MD集成的方向鉴别器激活可编程长度的同步向上/向下计数器。此允许高达3个通道,每个通道可配置高达16位,或者配置为两个24位计数器,或者配置为一个32位计数器,或者配置为一个48位计数器。
在两个零脉冲之间,一个24位参考计数器计数A/B信号的沿数目。同时使用两个24位寄存器,其用来评估编码长度参考标记。累加的参考计数器值也可以用控制器或者本地MCU/DSP来计算速度或者加速度。
一个速率为40MHz的编码器,最大计数频率要足够支持一个小于25ns的沿间隔。第一个24位计数器的位置可以存储以及可通过一个外部事件从接触式探针引脚(TP)读出,或者通过iC-MD的SPI/BiSS接口读出。
在一个多轴控制器应用中,这个功能有助于在tX时刻同步存储所有的位置信息, 以及顺序读出传播延时时间。
图5:3通道增量编码器接口带差分RS422接收器
A/B相位逻辑也被iC-MD监控,并且报告给MCU/DSP其他错误,例如过压,通过一个错误输出(NERR)。报警,例如计数器向上溢出或者向下溢出,由iC-MD的输出NWARN切换到低电平来标志。
这些输出端子是双向的并且也由iC-MD作为一个外部消息来存储以及它的状态可以通过SPI/BiSS接口读出。两个执行器输出(ACT0/1)可由软件和MCU/DSP作为信号输出(例如,用于LED状态指示)或者作为开关。
当考虑到很多编码器接口设计数不尽的挑战时,设计者面对的是更多的挑战。若采用编码器处理器,例如iC-MD,很多功能可以从一个已经存在的MCU/DSP平台获得。如果这样,这将会减少系统的负担以及提高很多性能和适应性来达到总体系统设计的要求。
5)概要
在未来的几年里,需要更短的机器生产速度和更节能的产品,而且为驱动系统开发快速位置传感器也将成为一个主要的挑战。
有针对性的集成电路,如本文的这个例子,将有助于以成本效益的方式解决这些要求。未来的编码器iC研发瞄准的是时钟速率高达100MHz,以便更高的精度可以被快速和可靠的测量。