用DSP实现增量式光电编码器的细分_第1页
用DSP实现增量式光电编码器的细分_第2页
用DSP实现增量式光电编码器的细分_第3页
用DSP实现增量式光电编码器的细分_第4页
用DSP实现增量式光电编码器的细分_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用DSP实现增量式光电编码器的细分用DSP实现增量式光电编码器的细分对光栅传感器原始信号进行细分是采用各类光栅器件进行高精度位置测量、角度测量过程中不可或缺的一个环节。细分方法多种多样,针对各种现有的电子学细分方案并结合实际应用,本文采用软件程序判卦限,查表细分方法,实现了针对测角传感器信号的2048次细分。关键词:光栅传感器,测量,细分1引言目前,各类伺服驱动器及其应用中广泛采用光栅装置作为速度测量、位置测量的敏感元件。而且,广泛采用两路正交用DSP实现增量式光电编码器的细分对光栅传感器原始信号进行细分是采用各类光栅器件进行高精度位置测量、角度测量过程中不可或缺的一个环节。细分方法多种多样,

2、针对各种现有的电子学细分方案并结合实际应用,本文采用软件程序判卦限,查表细分方法,实现了针对测角传感器信号的2048次细分。 关键词:光栅传感器, 测量, 细分1 引言目前,各类伺服驱动器及其应用中广泛采用光栅装置作为速度测量、位置测量的敏感元件。而且,广泛采用两路正交方波的形式,系统的实时性要求极高。因此,对于光栅编码器的信号的细分等主要处理环节,一方面集中考虑提高分辨率的问题,同时,需要考虑实时性的问题。有很多采取纯硬件进行细分的方法,如,电阻链细分,空间细分,锁相倍频,还有两种方法的结合使用等。上述几种方法在实际应用中被广泛采用,特别是电阻链细分,在低倍频的情况下是一种很好的方案。但是在

3、高倍频的情况下,不可避免地出现大量使用比较器的情况,以及比较器死区(滞后区)问题,难以调节。空间细分的方法中,主要解决的问题是切割电平精准的问题,其中的三角波切割三角波的方案有很多优点,可以改变使用过零比较造成的细分误差。但是仍然存在大量使用比较器的问题,调节起来比较繁琐。锁相倍频细分的方法,一方面,成本较前两种高,另一方面,受环境温度的影响比较大,实际的应用中很少采用。高速数字处理器件DSP的应用可以极大地改善系统的实时性,DSP中集成了16路10位A/D转换,同时有丰富的硬件资源,比较器、定时器,和两个专门用于产生PWM波的事件管理器。DSP中丰富的指令集为做除法提供了条件。设DSP(24

4、07a)的时钟频率是40MHZ,除法程序可以在35个指令周期内执行完,两路A/D转换需要29个指令周期,查询数据得细分值需要两个指令周期。共69个指令周期,DSP中程序执行是流水线执行的,一个时钟周期最多可以执行4条指令。则需要不到1.6us就可以得到精确的光栅位移值。对于一般的应用场合,用DSP细分可以足够保证控制器500KHz的频带,和定位的精确性。本文从原理上考虑在DSP中完成细分的方案,使用取绝对值,八卦限理论,利用DSP器件(速度为25纳秒)对信号进行逻辑运算和处理等一整套信号细分方案。2 细分及框图通过软件查询的方式进行细分。从光电编码器输出的两路角位移信号首先进行滤波整型,硬件辨

5、向,提取整周期信号,得到粗位移;同时对两路信号进行A/D转换,通过U函数得到计数脉冲,从而得到卦限值,通过V函数得到精位移的地址信号,查询得到精位移。系统框图如下: 输入的两路信号分别是x1=2.5*sin(fai)+2.5(v),x2=-2.5*cos(fai)+2.5(v);在DSP中有专门的16路A/D转换电路,因而不用再设计A/D转换电路。A/D转换后得到y1=|2.5*sin(fai)|,y2=|-2.5*cos(fai)|。对其进行卦限计数,A/D转换周期由软件设定,而在硬件电路实现时,必须要考虑卦限信号,控制信号的高度同步,但在实际电路中是很难做到的。如果将该数据与相位之间的对应

6、关系用一张表来描述,就是我们所建立的细分表,放在DSP中的SRAM中,DSP中集成了2K16的SRAM,足够放置查询表。两者之间并不是一一对应关系。(FAI)(t)=arctantsinxt/cosxt;软件流程图如下: 软件程序流程图:U函数取为U=y1*y2*(y2-y1);当U为零时,卦限信号就增加1; ;-细分程序XIFEN: LDP #0E1h;CLRC SXM ; 抑制符号位扩展LACC RESULT0,10SACH X1 ; 存X1值LACC RESULT1,10 ;SACH X2; 存X2值SETC SXM ;允许符号位扩展LACL R1SIN;SUB #JUNZHI ;(2.

7、5V);ABSSACL Y1 ; 得到y1LACL X2;SUB #JUNZHI(2.5V);ABSSACL Y2 ; 得到y2SUB Y1 ;SACL Y ; 得到Y=y2-y1值,保存 ;用dsp中计数器T4记卦限BCND ss,NEQLacl y1BCND ss,NEQLacl y2BCND ss,NEQ ;若U0,卦限计数器计数set t4clkin ; 为计数器提供脉冲ss: LACL yBCND DEVISION,GEQ ; 判断卦限,y2=y1 时,直接y1/y2;否则y2/y1,除数变被除数JIAOHUAN: LACC y1 ; y1和y2交换SACL TEMP_AD ;LAC

8、L y2 ;SACL y1 ;LACC TEMP_AD ;SACL y2 ; y2/y1 ; 毫秒为Q8格式DEVISION LACC R1SIN ,6;;取分子并左移6位;RPT 15; 后面的指令执行151次。SUBC R2COS ;16 CYCLE DIVIDED LOOP; .ACC中的数据减去Demon 减10次,直到被减数小于0SACL QUOT ; 得到商SACH REMAIN ; 得到余数LACC REMAIN; 取余数后再除RPT 13 ; 后面的指令执行14次。SUBC DENOM;AND QUOT; SACL QUOT ;;保存商。得到十位地址信号。用此信号得到RAM中对

9、应地址细分值保存在DSP的sram中)ADD #0800h ;SRAM 初始地址为0800H(SAL XIFEN_ADR ;LACC XIFEN_ADRADD #0800h ;SRAM 初始地址为0800HSAL XIFEN_ADR ;LACL Y ;Y2=Y1 ;BCND yy2 ,GEQLACL #05h ;设编码最小栅格为40秒,一个卦限为5秒。SUB #XIFEN_ADRB YYYY2: LACC XIFEN_ADRYY: Ldp #0eah ;LT t4cnt ;卦限值MPY #05h ; 一个卦限相差5秒,APAC 得到精确细分值根据得到的细分值与整周期值相加就可以得到对应的光栅编

10、码信号。当速度特别慢时,用软件判卦限会出现重复计数。也就是一个细分周期里,电机转动的位移小于20/1024秒,如下图。卦限函数使得卦限增1,产生错误。我们要舍弃这个计数。 为了解决这个问题,我们把软件的判卦限程序改以下:用一个flaggx标志来表示卦限信号是否刚记过。刚刚记过,就舍弃掉。改正的程序流程如下图。3 软件辨向要精确的控制电机,就必须精确判断当电机转动出现来回摆动时的方向。对硬件辨向只能做到在整周期计数时知道电机的转动方向,当在一个整周期内方向改变时,硬件辨向就不能及时的传递方向信息。我们根据判方向的规则,在软件中完成辨向,在1,2,7,8卦限,x2小于等于2.5v时为顺时针转动,大

11、于2.5v为逆时针转动;在3,4,5,6卦限,x2大于2.5v时为顺时针转动, 小于等于2.5v为逆时针转动;程序流程:direction=1,表示顺时针,为0是逆时针;若做到1024细分, 分八个卦限,每个卦限有256个细分值。在DSP中只需要25616个单元存储细分值即可。细分码如下:在DSP中有细分码地址码卦限地址A/D转换得到的地址000,0000,0000000 300,0000,000000,0000,0010000,0000,0001000 600,0000,00110000,0010101000,0000,0010。 91001000,0000,0011。131101000,0

12、000,0100。1610000000,0000,0101191000,0000,011022000,0000,011125000,0000,100128000,0000,1010.31000,0000,101135000,0000,110038000,0000,110141000,0000,111044000,0000,111147000,0001,000050000,0001,000153000,0001,00105760636669000,0110,1111366000,0111,0000370000,0111,0001373000,0111,0010377000,0111,0011381000,0111,0100384000,0111,0101388000,0111,0110391000,0111,0111395000,0111,1000399000,0111,1001402000,0111,1010406000,0111,1011410000,0111,1100413000,0111,1101417000,0111,1110420000,011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论