绝对值型编码器

2024-10-03

绝对值型编码器(精选7篇)

绝对值型编码器 篇1

0 引言

光电轴角编码器是一种精密角度传感器,它包括增量式和绝对式两大类,绝对式轴角编码器由于具有不受断电中止影响、无累积误差等优点而得到了越来越广泛的应用[1,2,3]。传统的绝对式轴角编码器基本采用二进制编码原理,它的分辨率和尺寸是一对矛盾,因为在码盘尺寸一定的情况下,分辨率越高会要求码盘的最小刻线越细,而过细的刻线则会导致光通量不足或光衍射现象,从而不能正确获取二进制码。

为了解决这个矛盾,人们在编码方式的改进上做了许多有益的探索。比如:单圈绝对式编码[4],它将传统的径向编码改为切向编码放在一个码道上从而减少了码道圈数,但是它仍存在分辨率越大时码盘最小刻线需要越细的问题;准绝对式编码[5],它由绝对式编码的索引码道和增量式编码的循环码道组成,通过循环码道的细分来提高分辨率,但是很显然它并不是严格意义上的“绝对式”。

除了编码方式的改进外,人们逐渐将发展成熟的阵列式探测技术引入到轴角编码器中,利用像素空间均匀性实施细分。比如:日本滨松公司采用256×256像素的CMOS面阵传感器研制了一种14位的绝对式轴角编码器[6],它重新设计了码盘,利用传感器的像素列和像素行分别检测角度粗位置和实施角度细分;而我们也提出了一种成像型绝对式轴角编码技术(1),它在检测到码盘的放大图像后,分别沿码盘径向和切向读取粗码和进行细分,该技术不需要改变现有码盘就可以获得更高的分辨率。在以往的研究中,我们对该编码技术的系统结构和器件性能进行了详细阐述,本论文将重点研究角度检测的相关算法。

1 系统结构

成像型绝对轴角编码系统如图1(a)所示,二进制码盘经LED光源照明后通过特殊设计的成像透镜局部成像于CMOS图像传感器上,然后利用USB数据线将码盘图像数据输入计算机中做进一步分析处理并获得当前角度位置。二进制码盘为传统的格雷码盘,如图1(b)所示。在具体使用时,为了使后续的角度检测更为简便,通常可通过旋转CMOS图像传感器使码盘径向与其像素行或列方向重合,在本论文中后面的叙述中假定CMOS像素列方向与码盘径向重合。

成像型绝对式轴角编码技术的基本原理如图2所示。在用面阵探测器检测到码盘图像后,首先沿事先设定的检测线方向读取角度粗码,即一组二进制格雷码值;然后利用面阵探测器像素的空间均匀性对码盘上的最小码元沿码道方向进行细分,读取细分码;两者组合起来得到最终的角度值。由此可见,该方法的分辨率比传统绝对式轴角编码技术要提高m倍(m为细分数)。

2 基本算法

由于本编码技术采用成像方式并且最终的检测角度是利用基于计算机的软件程序经分析计算后输出,因此最终的检测精度和效率在一定程度上受到所用算法的影响。所采用算法的基本流程如图3所示。在获得码盘原始图像后,依次进行灰度化、平滑和二值化预处理获得码盘图像的二值化数据,然后针对二值化图像分别沿码盘径向和码道方向读取角度的粗码和细分码,最后将粗码和细分码结合起来获得检测角度值。

2.1 图像预处理

图像预处理的目的是为了使数据便于后续的角度计算,在一定程度上能够避免角度误读和提高角度测量精度,它主要包括灰度化、平滑和二值化三个步骤,预处理后的图像如图4所示。

1)灰度化:面阵探测器所获取的码盘原始图像有可能是彩色图像,而在该方法中仅需利用图像的强度信息,所以先要将彩色图像转化为灰度图像,即灰度化。考虑到图像像素数较多,为了提高灰度化效率,我们将浮点型转换公式[8]用如下整型近似转换公式代替:

其中:Gray表示灰度值,R,G,B分别表示彩色图像中的红、绿、蓝分量。结果表明,这样能够有效提高转化速度,同时灰度化效果也是令人满意的。

2)平滑:由于码盘上的灰尘、面阵探测器的暗电流等因素的影响,所获取的码盘图像会存在一些噪声点,如图4(a)中的白色虚线框内所示,它们会影响后续的角度计算的正确性,所以要采取一定的措施去除这些噪声点。通常可采用中值滤波的方法,但是该方法由于采用了排序方式处理速度很慢,实际中我们使用了9邻域均值滤波的平滑方法[7]。平滑后的图像如图4(b)所示,可以看出平滑能够很好地去除噪声,并且通过我们的许多实验表明:平滑后不会造成码盘图像的显著偏移以至影响二值化的效果进而影响精度。

3)二值化:由于码盘所提供的角度信息基本由透光和不透光两部分区域组成,所以可以用二值图像来表达码盘图像。在这里我们采用了自适应的最大类间方差法[7],类间方差V可按如下公式计算:

其中:i表示选取的灰度值,n1和n2分别表示灰度值低于和高于i的像素数,A1和A2分别表示灰度值低于和高于i的类的灰度平均值。选择类间方差V最大时的灰度值i作为二值化阈值,高于和低于阈值的区域分别表示码盘的透光和不透光区域,分别用数字1和0表示,如图4(c)所示。

2.2 角度检测

针对二值化图像,分别沿码盘径向和码道方向读取粗码和细分码。

1)粗码:粗码读取如图5所示。首先,选定检测线和确定码道位置,如图4(a)所示。检测线方向与码盘径向(或检测器像素列方向)相同,理想情况下可以是任一像素列,但是考虑到码道略带弧形,所以最好选择探测器中间位置的像素列;码道位置用像素行来标记,由于码道间距是均匀的,所以只要给定最外圈和最内圈的码道位置就可以计算出其余码道位置。然后,沿检测线与码道位置的交叉处读取粗码,由于码盘编码方式为格雷码,所以要将格雷码转化为自然二进制码作为最终的粗码。假设n位格雷码和自然二进制码分别为Gn-1Gn-2G1G0和Bn-1Bn-2B1B0,那么格雷码转换为自然二进制码的规则如下[8]:

转换按从高位到低位的顺序进行,其中⊕表示异或。假设自然二进制码对应于十进制值N,则粗码读数为

2)细分码:细分码的读取如图6所示,即识别检测线在最小码元(可以为透光或不透光区域)中沿码道方向上的相对位置。对于n位格雷码盘,最外圈和次外圈均由黑白相间的刻线组成,并且它们之间在相位上相差90o,在此将刻线沿码道方向上的半宽度范围定义为最小码元,因此最小码元对应的实际角度范围为360o/2n。首先,根据检测线所在次外圈位置的像素灰度特征判断当前用于细分的码元为透光还是非透光区域;然后,分别在最外圈和次外圈码道上查找出检测线所在刻线的范围,取其交集即可得到最小码元的边界位置;最后,根据边界位置计算检测线在最小码元中的相对位置,即细分码。假设最小码元在面阵检测器上覆盖了m个像素,像素按0,1,2,…,m-1编号,如果检测线所在位置的像素序号为m',那么细分码的读数为

3 实验结果

为了对上述算法的可行性进行验证,构建了如图1所示的编码系统,所选用主要硬件的参数为:(1)13位格雷码盘(其中最内圈为定位码,最外圈为校正码),半径为40.75 mm,最小码元沿码道方向的尺寸为31.25μm;(2)CMOS图像传感器,分辨率为640×480像素,像素尺寸约为7×7μm;(3)4×显微物镜,由于CMOS图像传感器自带成像目镜,所以总放大率约为2倍。然后,利用C#语言将上面所阐述的算法编写成计算机程序,在编码系统上对算法进行了检验。

该编码系统检测到的码盘灰度图像如图4(a)所示,在软件中直接将检测线和码道位置线叠加在码盘图像上同时显示,这样便于观察和码盘装调。以图4(a)的角度状态为例,软件直接判读的格雷码为1111111100011,这与直接从图4(a)中观察到的结果是一致的,通过转换得到自然二进制码为1010101000010;最小码元在面阵检测器上覆盖了8个像素,检测线所在位置的像素序号为2,因此由公式(6)计算得到当前角度值为239°9'41"。

为了进一步检验该编码系统的测量精度,使用了激光三角法。其基本原理为:在编码系统的转轴上安装一反射镜,将一激光束照射到反射镜上,通过检测反射光斑的位移来计算旋转角度。在实验中,利用CMOS图像传感器检测反射光斑,通过图像处理方式计算激光光斑质心移动,根据结构参数估计三角法的角分辨率约为0.7",足够用于检验编码系统的精度。对精度的测试结果如表1所示,其中:θT表示三角法测得的角度,|θ-θT|表示编码系统与三角法之间的角度绝对误差。

由式(7)计算得到误差的标准差为0.003 1°:

此外,在程序运行过程中,监测到一次角度的读取时间约为8 ms,但是由于所用CMOS图像传感器帧率为30帧/s,这在一定程度上限制了编码器的响应速度,也是进一步研究中需要解决的问题。

4 结论

本论文详细研究了用于成像型绝对式轴角编码器的角度读取算法,包括图像预处理和角度检测两个方面,并且通过实验检验了算法的有效性。新的编码系统可以在不改变传统码盘编码图案和尺寸的情况下提高角度分辨率,因此具有很好的应用前景。

参考文献

[1]DENIC D,RANDELOVIC I,MILJKOVIC G.Recent trends of linear and angular pseudorandom encoder development[C]//SPEEDAM2006,International Symposium on Power Electronics,Electrical Drives,Automation and Motion.Taormina,Italy,May23-26,2006.USA:IEEE,2006:49-53.

[2]汤天瑾,曹向群,林斌.光电轴角编码器发展现状分析及展望[J].光学仪器,2005,27(1):90-95.TANG Tian-jin,CAO Xiang-qun,LIN Bin.Developing current situation and trend of photoelectric-angular encoder[J].Optical Instruments,2005,27(1):90-95.

[3]WATANABE T,FUJIMOTO H,MASUDA T.Self-calibratable rotary encoder[J].Journal of Physics:Conference Series(S1742-6596),2005,13:240-245.

[4]陈赟,赵兴国.单圈绝对式光电轴角编码器的研究[J].光子学报,2008,37(2):230-233.CHEN Yun,ZHAO Xing-gou.Research on single-ring absolute photoelectric shaft encoder[J].Acta Photonica Sinica,2008,37(2):230-233.

[5]MATSUZOE Y,NAKAYAMA T,YOSHIZAWA T.High-performance absolute rotary encoder using multi-track and M-code[J].Optical Engineering(S0091-3286),2003,42(1):124-131.

[6]SUGIYAMA Y,MATSUI Y,TOYODA H,et al.A3.2kHz,14-bit optical absolute rotary encoder with a CMOS profile sensor[J].IEEE Sensors Journal(S1530-437X),2008,8(8):1430-1436.

[7]陆宗骐.C/C++图像处理编程[M].北京:清华大学出版社,2005:8-15,184-193.LU Zong-Qi.C/C++Image Process Programming[M].Beijing:Tsinghua University Press,2005:8-15,184-193.

[8]宋沛.格雷码到BCD码的转换[J].机电工程技术,2003,32(5):99-100.SONG Pei.Transform from Gray code to BCD code[J].Mechanical&Electrical Engineering Technology,2003,32(5):99-100.

绝对值型编码器 篇2

在压力机设计实践中, 可以通过调节连杆的长度来达到调节装模高度的目的。其调节方法, 一是手动调节方式, 是使用扳手来旋转调节螺杆达到改变装模高度的目的, 只适用于小型压力机。在中大型压力机上均采用机动调节, 其调节方式是通过电机启停进行调节。而大型闭式压力机的装模高度调节量往往很大, 手动调节很不方便, 需要自动调节。所谓自动调节, 就是设定目标值, 电机运行带动滑块上升或下降, 通过读取编码器的值来实时监测装模高度的位置, 当到达目标值时, 自动调节停止。

1 多圈绝对值编码器设置

绝对值编码器由机械位置决定的每个位置是唯一的, 它无需记忆, 无需找参考点, 而且不用一直计数, 需要确定位置时直接读取。这样, 编码器的抗干扰性、数据的可靠性大大提高。

使用绝对值编码器来检测压力机装模高度的值是非常适用的, 检测精度高, 具有断电记忆功能, 压力机卸荷后对于装模高度的影响也可实时记录。由于装模高度的调节量比较大, 在使用时需选择多圈编码器, 一般以12位或13位为宜。

另外, 为方便读取编码器数值, 可选用带总线通讯功能的编码器, 如Device Net、Can OPEN、Modbus等等, 通过总线接口读取数值, 方便可靠, 具有抗干扰能力。

图1是一个支持RS485多圈绝对值编码器的参数设置示意图。

测量功能使用长度测量方式;方向选择则需要根据实际的编码器的安装情况来决定正转方向;往复测量模式是在最大值和最小值之间进行往复运动, 循环模式是周而复始的连续工作, 过最大设定值自动回零;选择多圈测量模式;长度测量单位设为1mm;每圈对应的测量值设为100, 根据机械转换过的编码器一圈装模高度的变化量除以100即为编码器的最小测量单位;4m A对应测量值为0, 从最小的开始;20m A对应的测量值, 一般设定比最大装模高度大点;外部置位的设定值, 当外部的置位信号接通时, 编码器的当前值被复位成此设定值, 一般此值设置为经过换算的编码器轴每圈对应的机械长度;编码器地址为485总线地址, 可设为1~31任意一个;通讯波特率需设置与上位机一致。

2 控制系统及程序

控制系统使用三菱FX3G可编程逻辑控制器, 并添加485总线通讯模块, 通过MODBUS协议来读取编码器的当前数值。

2.1 程序流程图 (图2)

2.2 控制程序

如图3所示的程序为MODBUS通讯参数设置, 主要是通讯格式、地址等的设置。其中ADPRW为MODUBS通讯协议的读写指令, 由于采用了整体的通讯模块, 校验功能由模块自动运行, 不需在程序中编程运算, 大大简化了程序的复杂程度。

如图4所示的程序是对当前值和设定值作比较, 确定是否进行上下调整及调整的方向。

如图5所示的程序控制电机提前刹车, 以使制动电机能够停到目标值附近, 这个提前的刹车值需要根据实际的制动情况来调试确定。

3 结束语

本文所述方案在我公司闭式压力机上得到完美应用, 调整方便可靠, 精度可精确到0.1mm。可将不同的封闭高度值存储在PLC内, 当需要时只要根据存储号来提取数值并自动完成封闭高度的调整, 大大增强了调整快捷性, 提升了设备的自动化程度。

参考文献

[1]何德誉, 主编.曲柄压力机[M].北京:机械工业出版社, 1978.

[2]刘茂银, 梅碧舟.压力机控制系统中PLC的应用及设计[J].锻压装备与制造技术, 2007, 42 (3) :45-47.

[3]陈立定, 吴玉香, 苏开才, 编.电气控制与可编程控制器[M].广州:华南理工大学出版社, 2001.

基于绝对编码器的数据采集 篇3

在跟踪控制系统中,控制精度总是受各方面因素的影响。控制系统功能和性能的实现受数据采集的影响,具体有传感器采集数据、数据传输的方式、算法处理及输出控制等4个基本环节,每个环节都有可能产生误差,环节之间也有误差传递,从而影响跟踪控制精度。在这些环节中,数据源是重要的一环,没有准确的数据来源会对相应的控制模式带来影响。

1 数据采集的编码实现

跟踪控制系统所需采集的数据为跟踪运行轨道上的平面坐标的变化速度,跟踪系统通过平面坐标的变化特征跟踪轨道,而跟踪轨道由两组电机进行控制,故对数据的采集也就变成了对两组电机转速的采集。

数据采集用的传感器,可以采用由旋转变压器构成的模拟编码器。旋转变压器产生的是模拟信号,通过对主副线圈产生的信号进行误差补偿最后形成所需信号,该信号还要经过A/D转换。很明显在高精度控制情况下,这种方式产生的误差大,误差补偿有限。也可以采用基于光电原理的数字式传感器,这类传感器进行数据采集时采用的是Eltra编码器,为了配合跟踪控制系统的需求选用了单转绝对编码器。单转绝对编码器的内部结构是一个具有编码的圆盘,通过光电转换,把光脉冲转换为电脉冲,再经过信号处理,形成数据信号的编码系列。对单转绝对编码器而言,它的编码位置是由输出代码的读数确定的。在一圈里,每个位置的输出代码是唯一的,这样的好处是:当电源断开时,绝对型编码器并不与实际位置分离;当电源再次接通时,编码器的读数仍然是当前的有效读数。编码器的输出代码用于确定具体的位置,编码采用二进制码便于对信号进行处理,从而得到实际位置的读数。从内部的光电转换结构看,二进制码是直接从圆形光盘的转动所产生的光电转换脉冲取得的,从一个编码变到另一个编码时,如果采用顺序二进制码,位置的同步和采集就变得非常困难。如4位二进制数由7(0111)变换到8(1000)时,顺序二进制码的每一位都改变了状态,要求同一瞬间同时改变状态是不可能的,这使得在改变状态的过渡时刻得到的编码读数有可能完全是错误的。为了克服这一问题,在数据采集的编码中采用格雷码,这样就解决了顺序二进制码存在的问题。

2 编码器的接口

跟踪控制系统的中控室与数据采集点的距离较远,为了保证数据在传输过程中不受外界电磁干扰的影响,选用了SSI(Synchronization Serial Interface,同步串行接口)绝对编码器,从数据采集点到中控室之间的数据传输采用RS 422标准。RS 422是全双工的传输方式(同一时间既可以发送,又可以接收),RS 422标准是双平衡信号方式,接口采用平衡驱动器和差分接收器的组合,在较远距离信号传输过程中,利用信号差分特点,消除在传输过程中外界电磁干扰的影响。但仍然需要处理信号同步问题,Eltra提供的绝对编码器需要外界提供时钟触发信号,以启动单稳态电路,在单稳态电路的控制下实现信号的转换、存储和发送。Eltra具有SSI接口的绝对编码器所需的时钟激励信号如图1所示[1]。

由图可知,要使绝对编码器正常工作,必需要由外部提供时钟信号,将所产生的差分时钟信号用作绝对编码器开始工作所需要的同步时钟激励信号,这样设计使编码器的工作稳定性得到了极大地提高。同步问题的解决使采集数据的误差降低,对跟踪控制系统整体跟踪精度的提高起到了决定性的作用。

3 接口的设计及编程

编码器要求时钟发生电路提供的时钟信号可以调整,调整范围为[1]100 kHz~1 MHz。根据逻辑时序的要求,在静止条件下,时钟和数据信号处于逻辑高电平上,编码器内部单稳态电路不工作。在第一个时钟信号下降沿,单稳态电路启动,编码器内部的并行数据信号输入到P/S(并/串)转换器,并在转换器内存储。在时钟信号上升沿MSB(最高有效位)被传送至输出端的数据线上。当时钟信号再次至下降沿,接口从数据线上得到MSB数据,当数据稳定后,单稳态电路再次重新启动。每次当顺序时钟脉冲信号在上升沿时,数据连续传送至输出数据线上,同时需要控制信号处于下降沿。在顺序时钟脉冲结束时,外部控制信号时钟需要获得LSB(最低有效位)的数据,当顺序时钟脉冲被中断,单稳态电路不再启动。一旦TM(单位定时电路时间信号)消失,数据线路回到逻辑高电平上,编码器内部单稳态电路自动停止工作。信号波形示意如图2所示。

为了产生时钟信号,选用SPCE061A芯片作为处理器[2],该芯片为16位芯片,带32位I/O,具有串行输出接口,双16位定时器/计数器,内部结构[2]如图3所示。

以SPCE061A芯片为处理器,设计一个最小系统[2],如图4所示。

该最小系统构成的电路简单,稳定性好,满足了数据采集系统的要求。

4 数据信号的传输

对本系统而言,数据信号是二进制编码,在数据采集过程中没有对数据编码进行封装,因此数据信号的传输是直接通过物理链路层进行。由于被控对象离中控室较远,因此数据采集后需要传输较长的距离,如采用一般的RS 232接口的非平衡传输方式[3],即所谓单端通信方式[1],其收、发端的数据信号是相对于信号地, 典型的 RS 232信号在正负电平之间变化,在发送数据时,发送端驱动器输出正电平在+5~+15 V,负电平在-5~-15 V。当无数据传输时,传输线上为 TTL电平,从开始传送数据到数据传输结束,传输线上的电平从TTL电平到RS 232电平再返回TTL电平。接收器典型的工作电平在+3~+12 V与-3~-12 V。由于发送电平与接收电平的差仅为2~3 V,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大约为15 m,最高速率为20 Kb/s。RS 232是为点对点通信而设计的,其驱动器负载为3~7 kΩ,所以RS 232仅适合本地设备之间的通信,对距离较远的数据传输显然存在问题。

RS 422标准全称是“平衡电压数字接口电路的电气特性”[4],由于接收器采用高输入阻抗,发送驱动器比RS 232的驱动能力更强,故允许在相同传输线上连接多个接收节点。RS 422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式或硬件方式(一对单独的双绞线)实现。RS 422的最大传输距离约为1 000 m,最大传输速率为10 Mb/s,其平衡双绞线的长度与传输速率成反比,在100 Kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100 m长的双绞线上所能获得的最大传输速率仅为1 Mb/s。在本系统中,数据采样率为10 Kb/s,数据传输的距离大约为80 m,可见在本系统中采用RS 422完全可以满足要求。

5 转换器

数据采集后需要传送到中控室的主计算机进行处理,在中控室的计算机端,数据信号是通过串口以RS 232标准接入的。而数据源端输出的信号是RS 422标准,数据编码是格雷码,不能直接与主计算机之间进行数据传输,数据采集还需要由激励信号启动。由此设计一个数据转换器,由转换器产生激励信号,控制数据采样的采样率进行采样。转换器也作为绝对编码器输出数据的接收器,转换器接收数据以后,将格雷码转换为二进制代码,再将二进制代码进行处理,直接转换为控制转速的编码信号,这样就大大减轻了主计算机对接收到的数据信号进行分析处理的工作。转换器将处理后的转速信号以RS 232标准与主计算机的串口之间直接进行数据通信,由于转换器的位置也在中控室,距离主计算机很近,故采用RS 232标准完全能够满足要求,根据数据采集的采样率,利用串口通信的波特率也能满足系统需要。

在本系统中,绝对编码器采用的是成品,保证了数据源的准确和稳定,主计算机采用工控机,其稳定性和可靠性也能满足要求。数据转换器为了提供同步激励和接收数据以及标准转换,只能自己分析设计,对底层物理链路层而言,需要进行充分的考虑,本文不对转换器的分析和设计进行讨论。

6 结 语

在数据采集方面,就跟踪控制系统而言,采用旋转变压器,其价格相对较低,但是其采集的一次信号为模拟量,要经过中间的A/D转换和二次误差调整与精度补偿,给数据源的精度带来一定影响。使用绝对编码器,由于输出的是数字信号(光电转换在内部完成),减少了转换与补偿带来的误差影响,提高了数据精度,精确的数据源对控制精度起到了绝定性的作用。尽管数据通信已经较为成熟,但选择适当的方式减小数据传输过程带来的影响也是至关重要的一个环节,这在实际系统设计中应该得到相应的重视。就本文提出设计的系统模型,在硬件系统配置上进行了充分的考虑,所采集的数据与跟踪算法的配合,使跟踪控制的精度得到了保证,在实际运行过程中监测的结果数据显示,实际运行控制精度比设计预期的精度要高。

摘要:在跟踪控制系统中,控制精度取决于控制信号的产生,控制信号是否受到数据采集的影响,基于绝对编码器的数据采集系统,利用绝对编码器的特点,可以方便灵活地控制数据信号的产生和传输,为提高控制系统的整体性能提供了有利的支持,提高了信号的抗干扰能力。

关键词:绝对编码器,控制系统,数据采集,传输,控制精度

参考文献

[1]Eltra公司.增量型与绝对型编码器[M].意大利:Eltra公司,2009.

[2]赵定远,马洪江.16位单片机原理与语音嵌入式技术[M].北京:中国水利水电出版社,2006.

[3]罗伟雄.数据采集与传输系统评述[J].电子世界,2003(2):42-43.

[4]潘新民.计算机通信技术[M].北京:电子工业出版社,2002.

[5]米玉华,赵仕勇.基于PLC和绝对编码器的定位及转速测控系统[J].自动化信息,2005(10):51-53,56.

[6]吴伟,郝建新,卢力.基于ARM和FPGA的高速高空数据采集系统的实现[J].现代电子技术,2009,32(1):126-128.

[7]储明聚,周西峰,郭前岗.数字式超声波探伤仪中高速数据采集模块设计[J].现代电子技术,2010,33(6):26-28.

绝对值型编码器 篇4

随着精密数控机床、工业机器人等现代化工业化设备的快速发展, 对伺服驱动系统提出了越来越高的要求, 高速、高精度是伺服驱动系统未来的发展方向, 而编码器作为伺服驱动系统最常用的位置检测环节, 毫无疑问是提高其速度、精度的关键环节之一。

光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器[1], 它具有体积小、分辨度高、寿命长等特点, 是目前伺服系统中应用最多的传感器。绝对式编码器的每一个位置对应一个确定的数字码, 可以直接读出角度坐标的绝对值, 没有累积误差, 电源切除后位置信息不会丢失, 它的示值只与测量的起始和终止位置有关, 而与测量的中间过程无关, 因此, 绝对式光电编码器更适合应用于高速、高精度的伺服驱动系统。本文将以绝对式光电编码器为对象, 对其通信协议进行设计。

2 绝对式光电编码器构成及原理

绝对式光电编码器[2]是直接输出数字量的传感器, 它是由光电码盘和光电检测装置组成, 在它的圆形码盘上沿径向有若干同心码道, 码盘上的码道数就是它的二进制数码的位数, 工作时, 码盘的一侧放置光源, 另一侧放置光电接收装置[3], 如图1所示。

由于光电码盘与电动机同轴, 电动机旋转时, 码盘与电动机同速旋转, 经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号, 通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。当码盘处于不同位置时, 光电元件接收光信号, 并转换出相应的电信号, 形成二进制数[4]。这种编码器的特点是不要计数器, 在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然, 码道越多, 分辨率就越高, 对于一个具有N位二进制分辨率的编码器, 理论上其码盘必须有N条码道。

3 绝对式编码器通信协议设计

所谓编码器通信协议, 是指编码器与后续电子设备之间的通信, 这里的后续电子设备可以是单片机、CPLD/FPGA、DSP、ARM或ASIC等大家熟知的电子器件[1]。在研究了国际上现有的多种通信协议后, 认为多摩川公司的通信协议具有电气连线简单、通信可靠等特点, 因此, 本文在多摩川编码器通信协议的基础上, 提出一种新的绝对式编码器通信协议设计, 该通信协议的设计包含但不仅限于多摩川通信协议, 下面将从电气连接和通信协议数据帧两方面进行介绍。

3.1 电气连接

绝对式光电编码器的电气连接如图2所示。两根数据线采用RS-485接口, 通过一块RS-485驱动芯片与后续电子设备通信, 驱动芯片有一个发送器和接收器。后续电子设备通过切换驱动芯片的工作状态, 向编码器发送数据, 或者接收编码器发送的数据。

3.2 通信协议数据帧

后续电子设备与编码器通信采取“一问一答”[5]的方式, 由后续电子设备向编码器发送相应的控制指令, 编码器根据接收到的不同控制指令反馈不同的数据, 本文介绍的通信协议主要包括三种模式: (1) 读取编码器信息模式; (2) 读取编码器内EEPROM模式; (3) 写入编码器内EEPROM模式。

3.2.1 通信协议模式

(1) 读取编码器信息模式

读取编码器信息模式如图3所示, 由后续电子设备向编码器发送“读取编码器信息”控制指令, 编码器接收到该控制指令, 立即锁定当前的数据值, 并按照设定的算法进行运算和校验, 最终经过处理的数据值由编码器反馈至后续电子设备。读取编码器信息模式是编码器最主要的工作模式。

后续电子设备向编码器发送控制帧KZ, 编码器根据该控制帧KZ的要求, 输出控制帧KZ、状态帧ZT、数据帧SJn和数据校验帧CRC。其中使用数据帧SJn的个数要根据发出的控制指令要求决定, 本设计中n=4~10。

(2) 读取编码器内EEPROM模式

读取编码器内EEPROM模式如图4所示, 由后续电子设备向编码器发送“读取编码器内EE-PROM”指令, 读取编码器内EEPROM指定地址上的数据, 编码器按该指令输出数据。

后续电子设备向编码器发送控制帧KZ、地址帧DZ和数据校验帧CRC, 其中控制帧KZ包含要求读取EEPROM的控制指令, 编码器输出控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC。

(3) 写入编码器内EEPROM模式

写入编码器内EEPROM模式如图5所示, 由后续电子设备向编码器发送“写入编码器内EE-PROM”指令, 将相应数据写入编码器内EE-PROM的指定位置上, 以实现对编码器内EE-PROM的数据变更。

后续电子设备向编码器发送控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC, 其中控制帧KZ包含要求写入EEPROM的控制指令, 将数据帧ESJ的数据写入地址帧DZ指定的位置, 编码器根据指令相应输出控制帧KZ、地址帧DZ、数据帧ESJ和数据校验帧CRC。

3.2.2 各数据帧格式

在本设计中, 各数据帧的位数不是固定的, 根据具体的功能来设定, 同时, 每个数据帧以“0”为起始位, “1”为结束位, 起始位和终止位并不代表编码信息内容。

(1) 控制帧KZ

控制帧KZ的格式如图6所示, 控制帧包含相应的控制命令, 用来控制编码器的工作状态。传输过程中没有时钟同步, 同步码用来同步传输, 在没有数据传输时, 数据线拉高为高电平, 当编码器或电子设备端检测到低电平时, 即认为检测到数据帧, 通信速率可变化, 根据应用场合不同, 可设置高低不同的通信速率, 一般设置在2 Mbit/s~10 Mbit/s之间, 在本文中通信速率默认为5 Mbit/s;控制指令bit的个数可以根据实际要求设定, 本文设计的bit为4~8个, 为便于计算, 图6表示4个bit的情况, 另外还有一个控制命令校验位kjy, 是对4个bit控制命令的奇偶校验, 以保证信息发送可靠, 控制指令具体内容见表1。

(2) 状态帧ZT

状态帧ZT格式如图7所示。状态帧包含了编码器相应的工作状态。信息位bit个数可设为4~8个bit, 为便于计算, 图7中表示4个bit位的格式情况。表2中列出部分具体的内容定义;编码错误报警位cb0和cb1, 通信报警位tb0和tb1, 正常状态置“0”, 当置“1”时表示的具体报警情况见表3。

(3) 数据帧SJn (DZ/ESJ)

数据帧格式如图8所示。数据帧SJn中包含编码信息, 具体为单圈数据和多圈数据。数据位包含8个bit, 由于编码器单圈位数和多圈位数往往在十位以上, 所以在表示多位单圈数据或多圈数据时, 需要用几个数据帧表示。例如当一个绝对式光电编码器的单圈位数为17位, 故至少需3个数据帧表示单圈数据。

编码数据采用低位对齐的方式, 即编码信息由低位从第一个数据帧第一个数据位开始传输。数据帧多出编码位数的数据位则置“0”。编码器根据后续电子设备发送的控制帧中控制命令决定输出数据帧的内容, 包括单圈数据, 多圈数据以及数据帧的个数, 最少输出1个数据帧, 最多输出n个数据帧, 数据帧设置与数据位信息见表4, 另外, 地址帧DZ和数据帧ESJ的格式与数据帧SJn相同。

表4中:ABS0~ABS2表示单圈数据, 其中, ABS0/ABS2表示在24个bit里的低位/高位数据, 例如, 表示一个绝对式光电编码器的单圈位数为17位, ABS0和ABS1仅有16位数据, 因此, ABS2第一个数据位要占用, 其余高七位的数据置0。

ABM0~ABM2表示多圈数据, 数据帧的应用原理同上述单圈数据。

SJn中, n=4~10。

ESJ表示读/写EEPROM的数据。

(4) 数据校验帧CRC

CRC帧具体格式如图9所示, 数据校验帧包含CRC校验码, 接收完数据时可通过CRC校验检测数据的完整性。CRC校验帧的数据位为m个bit, m=8~16, 为方便计算, 图9表示8个bit的数据情况, CRC编码校验的计算公式可根据校验要求设定, 本文初步设计的两个计算公式为G (X) =Xm+Xm-5+1或G (X) =Xm+1。起始位和结束位不参与校验运算。

3.2.3 通信协议时序逻辑

本设计中编码器在通信过程中无时钟同步, 传输速率默认是5 Mbit/s, 若有P个bit, 则传输时间的计算式为:

t=200 ns/bit×p bit

例如, 计算控制帧的传输时间 (为便于计算, 上述各数据帧的格式在图中表示均为10个bit, 本文的所有帧均以10 bit计算, 但实际应用中可根据需要改变各帧的格式长度) , 控制帧为10 bit, 则控制帧的传输时间为t=200 ns/bit×10 bit=2 000 ns=2μs。另外, 编码器在接收后续电子设备发送的数据后, 设定2~3μs后反馈输出数据, 根据3.2.1所述的三种工作模式下的数据帧格式, 推算出整个传输过程中的时序关系如图10所示。

4 通信协议实际应用

采用本文介绍的通信协议设计, 应用到国产绝对式光电编码器上, 应用设备实物见图11, 图11中设备由一台编码器和后续电子设备组成。

按照上述三个工作模式的设计, 进行仿真测试, 读取编码器信息波形如图12, 读取编码器内EEPROM波形如图13, 写入编码器内EEPROM波形如图14。

通过与国产编码器配合使用测试, 证明用上述该通信协议, 编码器与后续电子设备能完全实现前期设计的功能。即使是国家要求的三级/四级标准脉冲群干扰和静电干扰的环境, 通过该协议进行通信, 仍能保持数据通信的正确, 并保证数据传输的稳定与可靠性。

5 结束语

本文设计的绝对式光电编码器通信协议, 采用的异步传输模式, 通讯速率默认为5 Mbit/s, 传输速度较快;电气连接结构较简单, 易于技术人员的操作和检查;通信模式的数据帧设计简单, 数据格式内部设置丰富, 可根据实际要求调整数据帧格式长度, 适用于不同类型的编码器;另外, 经过实际验证, 证明了该通信协议传输的稳定性和可靠性。因此, 本文设计的编码器通信协议可广泛应用于各类编码器, 在工业化生产中发挥积极作用。

摘要:编码器是现代化工业设备快速发展的重要环节, 提出一种新的绝对式光电编码器通信协议设计, 该设计主要介绍了在三个基本工作模式下的数据传输格式, 以及各数据帧的具体格式;同时, 还对各模式的运行响应时间进行计算;最后, 将该通信协议应用到国产编码器中, 能完全实现最初设计功能。设计的编码器通信协议具备传输速度较快、电气连接结构较简单以及较高稳定性等特点, 可广泛应用于各类编码器中。

关键词:编码器,通信协议,数据帧格式,时序

参考文献

[1]彭雨.基于FPGA的绝对式光电编码器通信接口研究[D].武汉:华中科技大学, 2011.

[2]苏海冰, 刘恩海.单圈绝对式编码器的研制[J].光学精密工程, 2002 (10) :74-78.

[3]田岳, 和文国, 李彦林, 等.低成本的高分辨率磁编码器的研制[J].传感器世界, 1999 (9) :7-11.

[4]姜义.光电编码器的原理与应用[J].机床电器, 2010 (2) :25-28.

绝对值型编码器 篇5

在电机伺服系统中,通常需要检测转子的位置信息作为闭环控制的反馈信号,对高精度伺服系统而言,位置反馈环节的检测精度直接影响伺服系统的性能,常用的位置检测装置有光电编码器和旋转变压器等。旋转变压器具有结构简单、成本低、可靠性和防护等级高的优点,但其解码复杂、专用解码芯片昂贵以及对电磁干扰敏感等缺点限制了其发展,现已逐渐被光电编码器取代。光电编码器有增量式和绝对式两种,增量式光电编码器精度比较低,其输出的A,B正交信号易受电磁干扰和机械抖动引起误计数,导致位置定位有误,且其无掉电记忆功能。绝对式光电编码器具有精度高、可靠性高、抗干扰能力强、具有掉电记忆功能等特点,因此,绝对式光电编码器广泛应用于雷达、机器人、精密机床和高精度伺服系统等对精度要求比较高的场合。

绝对式编码器的信号输出形式有并行和串行两种,其中串行输出以SSI接口(同步串行接口)数据连线少、可靠度高的性能优势而得到较多应用。但是由于采用串行输出方式会导致较大的传输延迟,这就对串行通信的速度和可靠性有比较高的要求。绝对式编码器的应用需要专用的处理芯片[1],芯片的价格十分昂贵,有人采用CPLD、FPGA等硬件实现对编码器串行数据的处理[2],这无疑增加了系统的复杂程度。本文介绍了以DSP芯片TMS320F2812为核心,针对意大利LIKA公司的HMCT/16/4096/BA绝对式光电编码器进行了SSI接口电路和软件的设计,实现DSP的通用I/O口与编码器之间的通信。

1 绝对式光电编码器

意大利LIKA公司的HMCT/16/4096/BA绝对式光电编码器为单圈分辨率16位(65 536)且圈数12位(4 096)的多圈高精度编码器,其分辨率可达0.001 5%;输出电路形式为SSI等几种输出方式;输出码制为格雷码和二进制码可选;轴心(轴向和径向)负载最大为40 N;轴心旋转速度最大6 000 r/m;转动惯量约95 g·cm2;供电电压10~30 V;功耗1 W;输出电流最大为40 mA;存储温度范围:-40~100 ℃;工作温度范围:-20~85 ℃;保护等级:IP65;质量:0.3 kg。电气连接方式:EML121H接头,连接器引线如表1所示。其中,Brown/Green为供电电压正,White/Green为供电电压负,本方案中除用到供电电压信号外,只用了其中的CLOCK+,CLOCK-,DATA+和DATA-信号。

2 SSI接口及SSI协议介绍

SSI接口光电编码器采用主机主动读取方式,是以2对符合RS 422电平的信号线进行信号传输,1对数据(Data)线,1对同步时钟(Clock)线。SSI同步时钟频率决定数据传输速率,其范围较宽为0.1~2 MHz,可以根据传输距离远近选择相应的传输速率,传输速率自适应。SSI数据传输时序如图1所示[3,4],在同步时钟控制下,从最高有效位(MSB)开始传输数据,在时钟信号的第一个下降沿,如“1”位置,编码器的当前位置值被储存,在随后的时钟上升沿,如“2”位置,存储的数据被送出,即最高有效位MSB被送出,以后依次送出其他有效位数,直到最低有效位LSB被送出,最后一个由低到高电平的跳变,如“3”的位置,输出传输周期结束,再经Tm时间后编码器进入下一个传输周期。图中T为同步时钟周期,Tm为脉冲序列结束保持高电平时间(Tm>T),如果位数小于25位,要用“0”填充补齐,具体补零位置见参考文献[5]中的“树形(TREE)数据对齐格式”和“LSB位右对齐格式”。

3 硬件电路设计

采用绝对式编码器的电机伺服控制系统包括:待测量旋转位置的电动机、绝对式编码器、电平转换元件MAX488、以DSP为核心的电机控制板以及电机功率驱动电路。本文主要介绍绝对式编码器HMCT/16/4096/BA和DSP芯片的接口部分。

由于该编码器输出接口为SSI接口,而单片机、DSP、PC104、工控机等工控领域常用的控制器一般不提供SSI接口,此外SSI光电编码器供应商一般也不提供接口转换器,所以有必要将SSI接口转换成可以与DSP等可以通信的串行接口。接口电路如图2所示。

由图可见,绝对式光电编码器的输入时钟信号(CLOCK)和输出数据信号(DATA)均为差分信号,其数据传输符合EIA RS 22标准, 是符合RS 422协议的电平,因而需将其转换成可以输入单片机或者DSP的电平。能完成这种转换的芯片很多,大致有两类: 全双工和半双工,由编码器读数时序图,可数据的输出在时钟信号下降沿转换,在时钟信号上升沿传送,因此应选用全双工的转换芯片。本文选用MAX488芯片作为绝对式光电编码器与DSP芯片MS320F2812通信的接口芯片,它由5 V电压供电,是一种适用于RS 422和RS 485的低功率收发器,它的芯片中包含一个驱动器和一个接收器,并且可以2.5 Mb/s速率进行传输[5]。绝对式光电编码器与DSP芯片TMS320F2812通信的接口电路图如图3所示。

在该电路中, 用DSP的GPIOF7(CANRXA)口来模拟产生绝对式编码器读数时所需的同步时钟信号,用GPIOF6(CANTXA)口接收数据,同时为了减少电路前后的干扰以及实现与DSP接口3.3 V电平的匹配,在电路中使用了两路高速光耦器件进行光电隔离,并实现电平转换[6,7,8]。

4 软件设计

高精度多圈绝对式编码器可以同时输出多圈位置信息(nMT位)和单圈位置信息(nST位),其数据发送时序关系,如图4所示,当编码器接收到发送周期的第一个时钟信号下降沿时,读取(nMT+nST)位字长的绝对位置值存入数据缓存器。数据缓存器中数据随着时钟信号的下降沿串行同步发送数据,第一个发出的数据位是绝对位置值的最高位(MSB),最后一个发出的数据位是绝对位置值的最低位(LSB)。

一般SSI标准信号为25位,若不足25位要用零补齐,本文用到的编码器为单圈16位4 096圈的高精度编码器,总位数28位,它遵循的SSI传输格式如图5所示。

由图5可知,对于单圈位数和多圈位数超过25位的编码器,在编写通信程序时,需要产生32个CLOCK时序才可以将编码器的所有数据传输并接收完毕。由硬件电路可知,利用DSP的GPIOF7(CANRXA)口来模拟产生绝对式编码器读数时所需的同步时钟信号,用GPIOF6(CANTXA)口接收数据,具体通信过程如流程图6所示。

在整个流程过程中,产生CLOCK同步时钟时序以及数据处理是关键部分。整个实现过程如下:

(1) GPIOF7产生一个高到低跳变的电平,并适当延时,此时启动数据开始转换;

(2) GPIOF7产生一个低到高跳变的电平,并适当延时,此时已将最高有效位数据MSB传送至数据口,并读取数据到数据寄存器GPFDAT;

(3) 连续产生32个同步时钟CLOCK信号,依次将传输32位数据到数据寄存器GPFDAT,本文读取数据方法是按位读取,每次在新加数据时,将前数据左移1位然后再加,直到完成所有数据位读取完毕;

(4) GPIOF7产生一个低到高跳变的电平,高电平保持时间相对前面CLOCK同步时钟时序长一点,数据转换完毕。

下面给出InitGpio(void)函数的部分与本文有关的代码。

5 实验结果

实验结果如图7所示,由图可见,CH2通道为32个CLOCK时序图,CH1通道为32个CLOCK时序下对应输出的DATA数据波形图,该绝对式编码器单圈数值为0~25 536,经4 096圈可输出范围0~268 435 456数值,检测精度为0.001 5%,运行稳定可靠。

6 结 语

本文提供了一种基于DSP芯片TMS320F2812的通用I/O口与绝对式编码器SSI接口之间通信的硬件原理图、软件流程、程序实现步骤和部分代码。采用软件控制DSP的I/O口模拟时钟信号的方法,成功地解决了绝对式编码器SSI接口与微处理器通信的技术瓶颈,具有良好的通用性、易于实现,已成功应用于电机伺服控制系统,为微处理器与其他串行外设的通信提供了设计参考,具有一定的实用价值。

摘要:为了实现SSI接口的绝对式光电编码器在电机伺服控制系统中对电机位置的检测,采用了DSP芯片TMS320F2812的通用I/O口模拟SSI接口与绝对式编码器之间的通信,编写了模拟SSI接口通信时序程序并做了绝对式编码器位置检测实验,获得了绝对式编码器全范围的输出值,单圈数值为0~25 536,经4 096圈可输出范围0~268 435 456数值。得到了绝对式编码器在电机伺服控制系统中可实现位置精确采集和精确控制以及利用通用I/O口,实现SSI接口通信,其具有设计简单、成本低、易维护、位置检测精确以及可替代专用解码芯片的特点。

关键词:绝对编码器,DSP,串行通信SSI,TMS320F2812

参考文献

[1]靳江涛,赵勇进,陈朝基,等.一种SSI接口光电编码器数据并行采集设计方法[J].电子技术,2008(5):23-25.

[2]礼冰冰,杨明,贵献国,等.基于TMS320F2808的高精度绝对式光电编码器串行接口设计[J].微电机,2008,41(8):28-30.

[3]戴蓉,王高鹏,齐向华.SSI-485转换器的研究与应用[J].水利水文自动化,2008(2):46-51.

[4]张子蓬,王淑青,刘辉.SSI接口的绝对值角度编码器值的读出方法研究[J].工业控制计算机,2005,18(12):4-6.

[5]Anon.Low-power,slew-rate-limited RS-485/RS-422trans-ceivers[EB/OL].[2011-03-29].http://wenku.baidu.com.

[6]程晓莉,谢剑英,王林.绝对式编码器在电机定位中的应用[J].控制工程,2007(14):548-650.

[7]蒋利勇,李伟光.绝对式光电编码器的接口装置设计与应用[J].设备制造技术,2007(5):62-64.

绝对值型编码器 篇6

1 系统结构

整个系统采用了TI公司的TMS320F2812作为主处理器,通过专用接口芯片MMI4832与绝对式光电编码器相连,系统结构如图1所示。

TMS320F2812是TI公司发布的一款具有很高性价比、适用电气自动化系统的DSP。ROC425是德国海德汉公司生产的一款25位单圈的绝对式光电编码器,其接口协议为EnDat2.2,MMI4832是其专用接口芯片。

2 硬件电路设计

TMS300F2812与MMI4832及ROC425的接口硬件电路如图2所示。

电路部分主要分为DSP芯片的最小系统设计和MMI4832的接口设计。下面分别给与介绍:

2.1 TMS320F2812型DSP的最小系统设计[2]

(1) 电源和复位部分

本设计采用外部5 V直流电压供电,通过DC/DC器件产生3.3 V的供电电压和1.8 V的内核电压。本设计的复位信号分两种:上电复位和手动复位,上电复位由芯片MAX803产生,手动复位由电阻和电容组成的电路产生。

(2) 时钟部分

为DSP芯片提供时钟一般有两种方法:采用晶体和采用外部有源时钟芯片。本设计采用前者,它利用DSP芯片的X1和X2之间连接一晶体可启动内部振荡器。

(3) 仿真部分

这一部分将作为程序的调试和烧录所用 。2812芯片提供了5个标准的JTAG信号(TRST、TCLK、TMS、TDI、TDO)和两个仿真引脚(EMU0、EMUl)。

2.2 MMI4832接口设计

(1) 与DSP接口设计。

由于MMI4832芯片的输入输出信号为5 V,而DSP的输入输出信号为3.3 V,这就存在一个DSP与MMI4832之间的电平转换问题。本设计的电平转换接口通过74LVC4245来完成。

(2) 与绝对式光电编码器ROC425接口设计。

由于编码器为了满足长距离安装的要求,其信号需要差分收发。本设计差分收发接口通过MAX485来实现。

2.3 MMI4832介绍[3]

(1) MMI4832功能模块框图见图3。

(2) MMI4832模块引脚定义见表1。

3 软件设计

3.1软件流程(见图4)

3.2 编程示例

关于MMI4832编程规范和EnDat2.2的定义可参考相关英文资料,由于篇幅原因,本文不再赘述。

本设计的软件部分代码如下:

# include “DSP_Device.h”

unsigned int krg-rg-l;

unsigned int krg-rg-h;

unsigned int Sen-rg-1;

unsigned int Sen-rg-h;

unsigned int empf-rg-l;

unsigned int empf-rg-h;

unsigned int Sta-rg;

unsigned int *(MMI 4832 Addrees)=( unsigned int *) 0X80000;

// 主程序

Main ()

{

Init_ MMI4832 ( )

Read_ MMI4832( )

}

// 初始化MMI4832子程序

Init_ MMI4832 ( )

{

// Status clearing

* (MMI 4832 Address + 0X2)=0x74

Sta-rg=*( MMI 4832 Address);

// Ctrl ,RG

*( MMI 4832 Address +0X2)=0X70;

*( MMI 4832 Address )=0X3201;

*( MMI 4832 Address)=0X9900;

*( MMI 4832 Address +0X2)=0X70;

*( MMI 4832 Address )=0X3201;

*( MMI 4832 Address)=0X1900;

// Send RG

*( MMI 4832 Address +0X2)=0X60;

*( MMI 4832 Address)=0X0000;

*( MMI 4832 Address)=0X0700 ;

*( MMI 4832 Address +0X2)=0X60;

Sen-rg-l=*( MMI 4832 Address);

Sen-rg-h=*( MMI 4832 Address);

// Software strobe

*( MMI 4832 Address +0X2)=0X74;

*( MMI 4832 Address)=0X000;

}

// 读位置数据子程序

Read_MMI 4832( )

{

Long tem;

// Receive RG

*( MMI 4832 Address+0X2)=0X64;

empf-rg-l=*( MMI 4832 Address);

empf-rg-h=*( MMI 4832 Address);

*( MMI 4832 Address +0X2)=0X74;

Sta-rg=*( MMI 4832 Address);

*( MMI 4832 Address +0X2)=0X70;

Krg-rg-l= *( MMI 4832 Address);

Krg-rg-h= *( MMI 4832 Address);

Tem=(((long empf_rg-h)≤16)+(long empf-rg-h));

}

4 基于DSP的位置采集系统的应用

本文实现的DSP通过MMI4832接入绝对式光电编码器的设计,很好地完成了伺服控制系统中位置环的实现。另外在交流伺服系统中,还可以用该方法完成电动机转子位置的检测,进而完成速度环及电流环的实现。该设计成功地解决了伺服系统中的位置环、速度环、电流环的主要工作,为伺服控制系统的设计人员提供了一种行之有效的解决方法。

5 结束语

本文给出了以DSP为核心处理器的位置采集设计方法,介绍了其硬件接口设计原理及软件实现方法。该设计能够稳定可靠、快速灵活地完成伺服系统位置采集,现在已成功应用于全数字伺服系统中。

参考文献

[1]郭庆鼎,孙宜标,王丽梅.现代永磁电动机交流伺服系统[M].北京:中国电力出版社,2006.

[2]智泽英,杨晋岭,刘辉.DSP控制技术实践[M].北京:中国电力出版社,2009.

绝对值型编码器 篇7

随着工业与电机控制系统性能和智能要求的不断提高,TI公司的电机控制专用DSP芯片TMS320F2812得到了广泛的应用,同时随着大规模集成电路技术的快速发展,CPLD(复杂可编程逻辑器件)在电机控制领域的应用也日趋广泛。单纯使用DSP控制电机,将占用较多端口资源,需要较多的外围元器件,对软件编程也有不小的负担,对整个系统的稳定性和可靠性均有较大影响。若用CPLD来实现开关磁阻电机控制系统中的大量逻辑处理功能,就可以极大地简化系统结构,提高系统的稳定性和可靠性。CPLD所具有的系统编程(in-system programming)能力,使得设计更加灵活。

1 光电编码器

光电编码器是许多传感器和自动控制系统的重要部件,可用来测量位移、速度、加速度等,近年来在研究和使用方面不断有所创新和发展。由于光电编码器具有精度高、体积小、重量轻、响应速度快、可靠性高、抗干扰能力强等特点,得到越来越广泛的应用。绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数。在码盘的一侧是光源,另一侧对应每一码道有一光敏元件。当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。这种编码器的特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。本设计中用到的是绝对编码器,旋转一周能产生1024个脉冲。

2 可编程逻辑器件(CPLD)

本设计CPLD采用Altera公司的EPM570T100C5,此芯片属于Altera公司的MAX II。MAX II相对MAX I成本更加低,功耗更加小,而器件的宏单元数更加多,且器件延时控制在6ns以内,具有很高的性价比。EPM570T100C5有570个宏单元数,芯片的引脚数目为100个,具有76个用户可编程的I/O口,为系统定义输入、输出和双向口提供了极大的方便,因此此芯片的资源已经足够用。EPM570T100C5是3.3V供电,与DSP不存在电平兼容的问题。CPLD主要负责与绝对式编码器的高速通信,并受控于DSP的命令把接收到编码器数据和其他信息转送给DSP。CPLD开发工具选用A-hera公司的第4代可编程逻辑器件开发软件Quartus II,该软件能实现CPLD的设计输入、设计处理、器件编程、功能仿真、时序仿真和器件测试等所有功能。输入设计采用硬件描述语言和图形输入混合编程的方法,设计过程简洁明了,可实现从顶层到底层的电路设计。程序的烧写采用JTAG接口方式。

3 硬件电路

3.1 硬件电路连接图

光电编码器的输出经过CD40106整形后,再经10片6N137进行光电隔离,最终送给CPLD,CPLD经处理后发送给DSP。

3.2 电路设计抗干扰的检测

3.2.1 抗干扰检测的原理

硬件电路设计完,应该首先验证我们设计的硬件电路的可靠性,故需进行抗干扰检测。其检测手段是:CPLD读到的每个数据发送给DSP,DSP将接收到的数据储存起来,并与理论值相比较,经检测实际值与理论值基本吻合,故设计的硬件电路是完全可靠的。为使其有较强的说服力,我们至少应该储存电机旋转一周产生的信息,本设计储存了旋转5周的数据。

3.2.2 抗干扰检测的代码

CPLD在抗干扰检测中的主要作用是将接收到的信息(格雷码)化为自然码,然后将自然码发送给DSP。发送自然码的优势是:DSP读到自然码后便于和理论值相比较。限于篇幅,本文没有给出TMS320F2812的接受代码,CPLD的部分代码如下:

4 系统的控制策略

4.1 CPLD与DSP通讯

由于本设计中用到的是绝对编码器,它有10根输出线,所以开关磁阻电机旋转一周能产生1024个脉冲,若单纯使用DSP控制电机,将占用较多端口资源,需要较多的外围元器件,对软件编程也有不小的负担,对整个系统的稳定性和可靠性均有较大影响。故本文提出了CPLD与DSP共同控制开关磁阻电机的方案,CPLD负责光电信号的检测、格雷码转化为十进制和DSP的通讯。本设计中的CPLD与DSP通讯并不意味着:CPLD将光电编码器的每个位置信号都发送给DSP,DSP读取CPLD的信息利用捕获中断的方法进行读取。编码器的输出是10根线,占据了CPLD的10个I/O口,考虑到CPLD的I/O口有限,故在CPLD与DSP通讯时,对传统的方法进行了改进。在传统的通讯方案中,需要用到10根并行线,而本设计中只用到2根线,所用I/O口较传统方案减少很多。笔者在此以本项目的实际情况对改进后的方案予以详细介绍:光电编码器输出为格雷码,在101000111到1110100001区间内对应开关磁阻电动机的A相通电。传统方案的做法是发送101000111给DSP,DSP读到该信号后使A相开始通电,而发送1110100001给DSP,DSP读到该信号后使A相结束通电,B相开始通电。而该设计中通过发送0代表A相通电,发送1代表B相通电,发送2代表C通电,从原来的10根线变为了2根,同时速度也得到一定程度的提高。DSP的读取采用捕获中断的方式而不是采用传统的查询方式,降低了CPU的负担。CPLD和DSP通讯除用到2根数据线外,还有一根控制线,控制线的目的是产生跳变沿。

4.2 软件设计

为了书写的方便,本设计利用类型转换函数CONV_IN-TEGER(DOUT)将自然码化为十进制,故又要将DOUT:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0)变为DOUT:INOUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0),原因在于OUT型只能用于输出,不能用于反馈。为使DSP中断接受CPLD发来的数据,而不是采用查询的方式,又引入了一根控制线,这根控制线相对于CPLD是输出线,相对于DSP是输入线,目的是为DSP提供跳变沿,二者通讯的部分代码如下:

其中,OUT2<=CONV_INTEGER(DOUT),C为控制线,C接DSP的捕获引脚,CPLD每次换相时通过C跳变沿的变化来告知DSP,DSP根据读到OUT1数据来判断哪相通电,0代表A相通电,1代表B相通电,2代表C相通电,限于篇幅此处也没有给出DSP相应的代码。

5 结束语

本研究提出的基于EPM570的编码器系统设计,充分利用了设计开发软件Quartus II和硬件语言VHDL,具有分辨率高、电路结构简单、成本低、系统容易升级等优点,完成了硬件及软件的全部设计,CPLD与DSP通讯时提出了新的方案,并给出了二者通讯时的部分代码。经实验验证,该光电编码器测量系统能够满足高精度开关磁阻电机信号处理的要求。

参考文献

[1]孟庆海,张洲.VHDL基础及经典实例开发[M].西安:西安交通大学出版社,2008.

[2]任作新.提高对增量编码器读数的准确性[J].自动化仪表,1995,15(12):24-26.

[3]王宏华.开关型磁阻电动机调速控制技术[M].北京:机械工业出版社,1995.

上一篇:公立医院成本会计工作下一篇:米非司酮药物合成