首页 上一页 1 2 3 4 5 6 7 下一页 尾页

从伺服工作的基本原理来解析编码器信号处理的过程 点击:7635 | 回复:248



刘志斌

    
  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 10:43:52
楼主

 

 

 

 

 

、上面的是征提供的欧系某款驱动器的编码器信号处理框图;

 

、我从伺服工作的基本原理来解析编码器信号处理的过程:

 

引用 东山脚下-骑士军团 的回复内容:这就是典型的闭环控制系统的基本原理


1、这就是典型的闭环控制系统的基本原理 ;

2、通常我们说编码器的刻线数,是指一条刻线的刻线数,例如说,这个编码器的刻线数是1024;

3、那我们会马上意识到,这个编码器的解析度最大就是1024×4=4096;

4、我们还会知道,这个编码器周反馈脉冲数有三种可以由用户选用1024、2048、4096;

5、这个图中有两个计数器,一个是编码器反馈脉冲的计数器,也是伺服当前实际位置的计数器,即图中Free-running position counter,他的读数就是伺服当前的实际位置;

6、另一个计数器就是最右边的N0.of signal period,这个计数器就是指令脉冲计数器,用户输入的指令脉冲数就储存在这个计数器中,伺服运行中,它的读数就是距离目标控制位置或者简单说距离终点的指令脉冲数;

7、这两个计数器的读数是互补的,就是说他们的读数的和,等于伺服运行全程的指令脉冲数;

8、这个典型的闭环控制系统中,还有一个非常重要的乘法器multiplication by hardware ;

9、乘数x 2^n,,它的倒数I/2^n就是我们平时说的电子齿轮比;

10、它是联系两个计数器的纽带,就是人民币与美元的换算率;

11、编码器周反馈脉冲数×2^n=周指令脉冲数

      电子齿轮比=1/2^n=编码器周反馈脉冲数/周指令脉冲数

12、伺服的一个控制过程,就是当前位置反馈脉冲计数器的读数,由零到终点位置的读数;

13、伺服的一个控制过程,就是目标位置指令脉冲计数器的读数,由起点指令脉冲数到终点位置的零读数;

14、关于 Fine resolution 高分辨率高解析度脉冲数,它是1个n位数,等于n-1、n-2、…、0;

15、这个n位数的脉冲数等于指令脉冲数÷2^n的余数,例如

1)周指令脉冲数65536;

2)编码器周脉冲数=4096;

3)2^n=16,即 周指令脉冲数65536=编码器周脉冲数4096×2^n

4)指令脉冲数=65536λ

5)Fine resolution脉冲数=65536λ÷16的余数,是1~15个,n=4;

14、关于 Fine resolution 高分辨率高解析度脉冲数,它是1个n位数,等于n-1、n-2、…、0;

15、这个n位数的脉冲数等于指令脉冲数÷2^n的余数,例如

1)周指令脉冲数65536;

2)编码器周脉冲数=1024;

3)2^n=64,即 周指令脉冲数65536=编码器周脉冲数1024×64

4)指令脉冲数=65536λ

5)Fine resolution脉冲数=65536λ÷64的余数,是1~63个,n=6;

16、征说“Fine resolution 部分: 对4倍频的光电编码器而言,这个位域占用两位”,是不懂装懂,压根就不知道是怎么回事!

17、征说“2~31的数值是由计数器对倍频的信号自动累加得来的,这一部分表示电机转过的线数。对1024线编码器, 计数范围最大为  2^30/1024 = 1048576 圈”;

18、这个计算用1024就是错误的,应该用4096×16=65536,去除2~31的数值,即

     2^30/65536 = …… 圈;

19、就这个伺服位置闭环图,征从前到后,犯了多少错?表现出对控制原理完全不懂,表现出数量关系不清楚,征得表述就是胡说八道!

 

 

、同时转征对该图的解析如下:

 

还是费点功夫简单讲解一下, 以光电编码器为例:

1 左侧的 1 2

    表示的1 signal period , 表示的是光电编码器的一线输出的AB信号。光电编码器有多少线, 其旋转一周就输出多少个这样的脉冲。这个信号是随着电机转动连续输出的,在一个时刻看AB波形,你不知道电机转在哪个位置上, 只有AB信号的电平情况。

2multiplication by hardware

    图中的x2n 实际上是错的, 应该是x 2^n, 这属于手册的编写错误

    表示的是硬件对AB信号进行倍频, 即细分。对光电编码器就是4倍频, n = 2

    光电编码器的AB一个周期即1 signal period 经硬件4倍频后得到4个脉冲,四倍频就是对AB脉冲进行边沿检测。

3)中间的1 2

    表示1 signal period 四倍频后得到的信号

4Free-running position counter

    表示的是位置计数器

    这个位置计数器是由硬件来实现的, 由硬件根据3)中的脉冲序列来进行加减计数的。

 

    计数方向即 加计数或减计数是由 AB信号的先后顺序决定的。不清楚的可以去百度搜搜, 就清楚了

 

5 P0410.1

        是配置参数, 是否需要对计数器进行取负, 载调试时根据需要选择是否启用。

6 最右侧32位的计数值部分

        4)中的计数器对4倍频后的脉冲计数,一个脉冲一个脉冲进行记录,

    Fine resolution 部分: 4倍频的光电编码器而言,这个位域占用两位

    

    实际的计数过程如下:

        电机转动时,1)中的信号高低高低的连续变化, 2)硬件4倍频后, 得到一系列的边沿检测后输出(即硬件4倍频)的脉冲信号3),这些脉冲由4)的计数器自动从最低位加减计数。最后得到一个计数值。

    如果对这个计数值分析, 2位表示细分的信号, 2~31位表示的编码器的原始信号。

    

    但请注意一点, 2~31的数值是由计数器对倍频的信号自动累加得来的,这一部分表示电机转过的线数。

 

    1024线编码器, 计数范围最大为 2^30/1024 = 1048576 圈,如果电机以3000rpm转动, 保证电机转动1048576/3000 = 349.52533333333333333333333333333 分钟, 即大于这么长的时间后计数器翻转, 自动从0开始计数

    在位置控制时, 需要的是这个32位计数器的整体数值,不会区分那一部分。

        

    以上是对我提供的图的简要分析, 或者是一个我说明!

 

 




刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 11:21:16
1楼

1、这个图表示两种编码器:

1)方波的为光电编码器,有4条相同位置相差90°的刻线构成;

2)sin/cos为正、余弦编码器,有两条N、S相间的磁迹构成;

2、每个编码器都可以输出3种对称均匀的刻线数,举例说,1条刻线数是1024线,那么这个编码器它可以输出

1)1024线

2)2048线

3)4096线

3、其中4096=1024×4,是1条刻线数的4倍;

4、这些都是真正的物理的检测刻线,或者说是“原始”的刻线;

5、由于编码器输出的刻线数是三种,所以用户可以自由选择!

 

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 11:35:01
2楼

1、multiplication by hardware 是个硬件构成的乘法器;

2、脉冲信号通过它时,它可以把1个脉冲信号变成×2^n个脉冲信号,例如n取0、1.、2、3、4、5、……,把1个脉冲信号变成1、2、4、8、16、64、……个脉冲信号。

 

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 11:40:57
3楼
3、乘法器把1个实际脉冲扩大×2^n,这×2^n个脉冲还是原来1个脉冲的位置,还是它1条刻线表示的位置,分辨率解析度还是原来的,例如1024×8=8192,解析度不是8192,还是1024;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 11:48:44
4楼

4、所以把编码器输出的刻线脉冲数1024,用乘法器×8这样的电路获得的高脉冲数8192,其解析度还是1024;

5、我们把编码器1024、2048、4096叫刻线脉冲数,叫编码器的解析度,用硬件乘法器获得的8192不是编码器的解析度,是个假的“解析度”;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 11:53:57
5楼
6、这个乘法器有什么用?它就是将编码器的脉冲数变成指令脉冲系统需要的脉冲数,以满足位置脉冲的比较、计算的需要;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:00:15
6楼
7、这里A、B信号互差90°,以判别正反转,征的这个说法是对的;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:04:29
7楼
8、乘法器对应着一个倍数×2^n的n的设置参数P0418(E);

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:09:34
8楼
9、在征的分析中,把4条刻线的×4,与乘法器的×2^n=4倍频混在一起是错误的,都是4但意义不同!

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:32:06
9楼

 

1、Free-running position counter自动运行的当前位置计数器;

2、这个计数器,就是把编码器的反馈脉冲按正、反转正、负脉冲代数和累计的计数器,读取计数器的反馈脉冲数,表示的就是伺服当前的实际位置;

 

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:39:02
10楼

3、这个当前位置计数器,可以把输入的方波脉冲转化为尖峰锯齿波输出,波形变幻时,但是脉冲的个数不变,以适应与指令脉冲数计数器比较计数的需要;

4、这个计数器也是32位,读数由最大2^32到最小1;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 12:45:57
11楼

5、你想知道伺服当前运行中的位置,就可以监控这个计数器的读数;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:00:18
12楼

1、这也是一个32位计数器;

2、这个计数器的脉冲数是用户输入设置的,脉冲数是伺服由起点到终点的位移指令脉冲

NO.of signal periods

luedong

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 607回
  • 年度积分:0
  • 历史总积分:1203
  • 注册:2011年5月26日
发表于:2013-01-01 13:03:08
13楼

引用 刘志斌 的回复内容:1、这个图表示两种编码器:1)方波的为光电编码器,有4条相同位置相差90°的刻线构成;2)sin/cos为正、余弦编码器,有两条N、S相间的磁迹构成;2、每个编码器都可以输出3种对称均匀的刻线数,举例说,1条刻线数是1024线,那么这个编码器它可以输出1)1024线2)2048线3)4096线3、其中4096=1024×4,是1条刻线数的4倍;4、这些都是真正的物理的检测刻线,或者说是“原始”的刻线;5、由于编码器输出的刻线数是三种,所以用户可以自由选择! 



哎!

刘老师怎么看的图?

raw position signals 这条线分为上下两部分表示的是两种不同类型的编码器

上面的图上明明标着Incr,表示的是增量式光电编码器,增量式编码器用AB两相信号进行4倍频。

    增量式的方波光电编码器用AB两相就够了,没有4条刻线用于倍频!实在不行找个编码器手册看看吧!说4条刻线就外行了!

 

下面的AB标着sin/cos,正余弦编码器, 也是只有AB两相,进行细分。


 

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:05:48
14楼

3、在运行中,这个计数器显示的脉冲数是减小的,表示距离目标位置还有多少指令脉冲数,简单说,就是表示距离终点还有多远;

4、这个计数器的读数为零时,说明伺服已经运行到终点目标位置,要发停车指令停车!

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:11:05
15楼

5、在运行中,这个计数器显示的脉冲数是减小的,原因是当前位置计数器进来的反馈脉冲不断减计数的缘故;

6、或者说,当当前位置计数器的位置读数等于这个指令脉冲计数器的读数时,就表示到了目标位置;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:20:35
16楼

1、Invert position actual value,转化当前位置值,就是将伺服当前运行的反馈脉冲与指令脉冲比较;

2、-1,就是减计数;

3、P0410.1 是配置参数, 是否需要对计数器进行取负, 载调试时根据需要选择是否启用。

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:29:07
17楼

举例说:

1、周指令脉冲数为65536;

2、指令脉冲数=65536λ,λ=15689.4444,用户将其输入设置给指令脉冲数计数器;

3、NO.of signal periods=65536λ;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:40:49
18楼

4、我选用1024解析度的编码器;

5、因为周指令脉冲数是65536,所以编码器输出的1024时,multiplication by hardware 硬件乘法器参数P0418设置为×2^n=64,这样1024×64=65536;

6、这样Free-running position counter自动运行的当前位置计数器1个脉冲,对应NO.of signal periods计数器的1个脉冲,进行等价减计数;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:42:58
19楼

4、我选用4096解析度的编码器;

5、因为周指令脉冲数是65536,所以编码器输出的4096时,multiplication by hardware 硬件乘法器参数P0418设置为×2^n=16,这样4096×16=65536;

6、这样Free-running position counter自动运行的当前位置计数器1个脉冲,对应NO.of signal periods计数器的1个脉冲,进行等价减计数运算;

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2013-01-01 13:50:01
20楼

7、如果选用1024解析度的编码器,对应NO.of signal periods计数器的末位,最小1个指令脉冲,最多63个指令脉冲是需要 Fine resolution 高分辨能力,高鉴别力的编码器,如需要解析度65536的编码器;

 


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 3 4 5 6 7 下一页 尾页