完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 引言 目前,各类伺服驱动器及其应用中广泛采用光栅装置作为速度测量、位置测量的敏感元件。而且,广泛采用两路正交方波的形式,系统的实时性要求极高。因此,对于光栅编码器的信号的细分等主要处理环节,一方面集中考虑提高分辨率的问题,同时,需要考虑实时性的问题。 有很多采取纯硬件进行细分的方法,如,电阻链细分,空间细分,锁相倍频,还有两种方法的结合使用等。上述几种方法在实际应用中被广泛采用,特别是电阻链细分,在低倍频的情况下是一种很好的方案。但是在高倍频的情况下,不可避免地出现大量使用比较器的情况,以及比较器死区(滞后区)问题,难以调节。空间细分的方法中,主要解决的问题是切割电平精准的问题,其中的三角波切割三角波的方案有很多优点,可以改变使用过零比较造成的细分误差。但是仍然存在大量使用比较器的问题,调节起来比较繁琐。锁相倍频细分的方法,一方面,成本较前两种高,另一方面,受环境温度的影响比较大,实际的应用中很少采用。 高速数字处理器件DSP的应用可以极大地改善系统的实时性,DSP中集成了16路10位A/D转换,同时有丰富的硬件资源,比较器、定时器,和两个专门用于产生PWM波的事件管理器。DSP中丰富的指令集为做除法提供了条件。设DSP(2407a)的时钟频率是40MHZ,除法程序可以在35个指令周期内执行完,两路A/D转换需要29个指令周期,查询数据得细分值需要两个指令周期。共69个指令周期,DSP中程序执行是流水线执行的,一个时钟周期最多可以执行4条指令。则需要不到1.6us就可以得到精确的光栅位移值。对于一般的应用场合,用DSP细分可以足够保证控制器500KHz的频带,和定位的精确性。 本文从原理上考虑在DSP中完成细分的方案,使用取绝对值,八卦限理论,利用DSP器件(速度为25纳秒)对信号进行逻辑运算和处理等一整套信号细分方案。 2 细分及框图 通过软件查询的方式进行细分。从光电编码器输出的两路角位移信号首先进行滤波整型,硬件辨向,提取整周期信号,得到粗位移;同时对两路信号进行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转换周期由软件设定,而在硬件电路实现时,必须要考虑卦限信号,控制信号的高度同步,但在实际电路中是很难做到的。 如果将该数据与相位之间的对应关系用一张表来描述,就是我们所建立的细分表,放在DSP中的SRAM中,DSP中集成了2K×16的SRAM,足够放置查询表。两者之间并不是一一对应关系。 (FAI)(t)=arctanθt∝sinxt/cosxt; U函数取为U=y1*y2*(y2-y1);当U为零时,卦限信号就增加1 ; ;;;;;;;;;;-------细分程序 XIFEN: LDP #0E1h; CLRC SXM ; 抑制符号位扩展 LACC RESULT0,10 SACH X1 ; 存X1值 LACC RESULT1,10 ; SACH X2; 存X2值 SETC SXM ;允许符号位扩展 LACL R1SIN; SUB #JUNZHI ;(2.5V); ABS SACL Y1 ; 得到y1 LACL X2; SUB #JUNZHI(2.5V); ABS SACL Y2 ; 得到y2 SUB Y1 ; SACL Y ; 得到Y=y2-y1值,保存 ;用dsp中计数器T4记卦限 BCND ss,NEQ Lacl y1 BCND ss,NEQ Lacl y2 BCND ss,NEQ ;若U=0,卦限计数器计数 set t4clkin ; 为计数器提供脉冲 ss: LACL y BCND DEVISION,GEQ ; 判断卦限,y2>=y1 时,直接y1/y2;否则y2/y1,除数变被除数 JIAOHUAN: LACC y1 ; y1和y2交换 SACL TEMP_AD ; LACL y2 ; SACL y1 ; LACC TEMP_AD ; SACL y2 ; y2/y1 ; 毫秒为Q8格式 DEVISION LACC R1SIN ,6;;;;取分子并左移6位; RPT #15 ; 后面的指令执行15+1次。 SUBC R2COS ;16 CYCLE DIVIDED LOOP ; .ACC中的数据减去Demon 减10次,直到被减数小于0 SACL QUOT ; 得到商 SACH REMAIN ; 得到余数 LACC REMAIN; 取余数后再除 RPT #13 ; 后面的指令执行14次。 SUBC DENOM; AND QUOT; ; SACL QUOT ;;;保存商。得到十位地址信号。用此信号得到RAM中对应地址细分值保存在DSP的sram中) ADD #0800h ;SRAM 初始地址为#0800H( SAL XIFEN_ADR ; LACC #XIFEN_ADR ADD #0800h ;SRAM 初始地址为#0800H SAL XIFEN_ADR ; LACL Y ;Y2>=Y1 ; BCND yy2 ,GEQ LACL #05h ;设编码最小栅格为40秒,一个卦限为5秒。 SUB #XIFEN_ADR B YY YY2: LACC #XIFEN_ADR YY: Ldp #0eah ; LT t4cnt ;卦限值 MPY #05h ; 一个卦限相差5秒, APAC 得到精确细分值 根据得到的细分值与整周期值相加就可以得到对应的光栅编码信号。 当速度特别慢时,用软件判卦限会出现重复计数。也就是一个细分周期里,电机转动的位移小于20/1024秒,如下图。卦限函数使得卦限增1,产生错误。我们要舍弃这个计数。 为了解决这个问题,我们把软件的判卦限程序改以下:用一个flaggx标志来表示卦限信号是否刚记过。刚刚记过,就舍弃掉。 3 软件辨向 要精确的控制电机,就必须精确判断当电机转动出现来回摆动时的方向。对硬件辨向只能做到在整周期计数时知道电机的转动方向,当在一个整周期内方向改变时,硬件辨向就不能及时的传递方向信息。我们根据判方向的规则,在软件中完成辨向,在1,2,7,8卦限,x2小于等于2.5v时为顺时针转动,大于2.5v为逆时针转动;在3,4,5,6卦限,x2大于2.5v时为顺时针转动, 小于等于2.5v为逆时针转动;程序流程: direction=1,表示顺时针,为0是逆时针; 若做到1024细分, 分八个卦限,每个卦限有256个细分值。在DSP中只需要256×16个单元存储细分值即可。 细分码如下: 在DSP中有 细分码 地址码 卦限地址 A/D转换得到的地址 000,0000,0000 000 3 00,0000,0000~00,0000,0010 000,0000,0001 000 6 00,0000,0011~0000,0010~101 000,0000,0010 。 9 1001 000,0000,0011 。13 1101 000,0000,0100 。16 10000 000,0000,0101 19 1 000,0000,0110 22 000,0000,0111 25 000,0000,1001 28 000,0000,1010..... 31 000,0000,1011 35 000,0000,1100 38 000,0000,1101 41 000,0000,1110 44 000,0000,1111 47 000,0001,0000 50 000,0001,0001 53 000,0001,0010 57 60 63 66 69 000,0110,1111 366 000,0111,0000 370 000,0111,0001 373 000,0111,0010 377 000,0111,0011 381 000,0111,0100 384 000,0111,0101 388 000,0111,0110 391 000,0111,0111 395 000,0111,1000 399 000,0111,1001 402 000,0111,1010 406 000,0111,1011 410 000,0111,1100 413 000,0111,1101 417 000,0111,1110 420 000,0111,1111 424 000,1000,0000 ...... 000,1111,1000(248) 945 000,1111,1001 981 000,1111,1010 987 000,1111,1011 993 000,1111,1100 999 000,1111,1101 1005 000,1111,1110 1012 000,1111,1111 1018 00 001,0000,0000 1024 11,1111,1111~11,1111,1
|
|
|
|
798 浏览 0 评论
4836 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2622 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2958 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31763 浏览 11 评论
73109 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 00:23 , Processed in 0.778423 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号