首页 上一页 1 2 3 下一页 尾页

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



刘志斌

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

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

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

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

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

2)sin/cos为正、余弦编码器,有两条完全相同的N、S相间、位置相差90°的磁迹构成;

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

1)1024线

2)2048线

3)4096线

3、其中4096=1024×4,是1条刻线数的4倍,或者说是4条刻线脉冲数的叠加;

4、这些都是真正的物理的检测刻线,或者说是“原始”的刻线,它才是编码器的解析度;

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

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

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

3、乘法器把1个实际脉冲扩大×2^n倍,这×2^n个脉冲还是原来1个脉冲的位置,分辨率解析度还是原来的,例如1024×8=8192,解析度不是8192,还是1024;

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

5、我们把编码器1024、2048、4096叫刻线脉冲数,叫编码器的解析度,用硬件乘法器获得的8192不是编码器的解析度,是倍频扩大了的编码器的反馈脉冲串;

6、这个乘法器有什么用?它就是将编码器的物理脉冲数倍频扩大变成与指令脉冲系统等价的、需要的脉冲数,以满足位置脉冲的等价比较、等价计算的需要;

7、这里A、B信号互差90°,以判别正反转;

8、乘法器的用户配置参数是P0418(E),用于给定n的值;

9、在征的分析中,把4条刻线的×4,与乘法器的×2^n=4倍频混在一起是错误的,都是4但意义不同!

 

 

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

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

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

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

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

 

 

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

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

NO.of signal periods

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

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

5、在运行中,编码器的反馈脉冲经乘法器等价变换后,由当前位置计数器输出,进入指令脉冲计数器减计数端减计数,计数器脉冲数的不断减少,表明与目标位置越来越近;

 

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

2、-1,就是减计数,就是当前位置计数器输出的等价反馈脉冲对指令脉冲计数器进行减计数;

3、P0410.1 是配置参数, 载调试时根据需要选择是否启用减计数。

 
 
 



刘志斌

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

举例说:

1、周指令脉冲数为65536;

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

3、NO.of signal periods=65536λ;

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 19:21:33
2楼

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 19:25:37
3楼

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

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

刘志斌

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

8、就是说你选用1024的编码器,最后有最少1个指令脉冲、最多63个指令脉冲,不能准确分辨;

8、就是说你选用4096的编码器,最后有最少1个指令脉冲、最多15个指令脉冲,不能准确分辨;

 
 

刘志斌

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

9、或者这样说,你选用1024的编码器,绝对误差最少是1个指令脉冲、最多63个指令脉冲;

9、或者这样说,你选用4096的编码器,绝对误差最少是1个指令脉冲、最多15个指令脉冲;

9、或者这样说,你选用65536的编码器,绝对误差最少是0个指令脉冲、最多是0个指令脉冲;

刘志斌

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

1、如果这个位移指令脉冲计数器,用户设置参数时,周指令脉冲是65536;

2、如果编码器解析度选用1024的;

3、那么multiplication by hardware 硬件构成的乘法器的po418就设置n=5,×2^n=64;

    1024×64=65536

4、 Fine resolution 里有1~63个位移指令脉冲不能检测,需要高分辨率解析度65536的编码器检测;

5、那么Fine resolution 里的数位最多是2^5、2^4、2^3、2^2、2^1、2^0六位数;

刘志斌

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

1、如果这个位移指令脉冲计数器,用户设置参数时,周指令脉冲是65536;

2、如果编码器解析度选用4096的;

3、那么multiplication by hardware 硬件构成的乘法器的po418就设置n=4,×2^n=16;

    4096×16=65536

4、 Fine resolution 里有1~15个位移指令脉冲不能检测,需要高分辨率解析度65536的编码器检测;

5、那么Fine resolution 里的数位最多是2^4、2^3、2^2、2^1、2^0五位数;

刘志斌

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

1、如果这个位移指令脉冲计数器,用户设置参数时,周指令脉冲是4096;

2、如果编码器解析度选用1024的;

3、那么multiplication by hardware 硬件构成的乘法器的po418就设置n=2,×2^n=4;

    1024×4=4096

4、 Fine resolution 里有1~3个位移指令脉冲不能检测,需要高分辨率解析度4096的编码器检测;

5、那么Fine resolution 里的数位最多是2^2、2^1、2^0三位数;

刘志斌

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

1、如果这个位移指令脉冲计数器,用户设置参数时,周指令脉冲是4096;

2、如果编码器解析度选用4096的;

3、那么multiplication by hardware 硬件构成的乘法器的po418就设置n=0,×2^n=1;

    4096×1=4096

4、 Fine resolution 里有0个位移指令脉冲不能检测,需要高分辨率解析度4096的编码器检测;

5、那么Fine resolution 里的数位最多是2^0零位数;

6、这样我们得到一个关系式

          编码器周脉冲数×2^n=周指令脉冲数

7、上述关系的作用是使得当前位置(编码器脉冲)计数器与指令脉冲计数器的脉冲数等价;

8、2^n的倒数,就是电子齿轮比

 

 

刘志斌

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

点击查看原图

1、在伺服运行期间,只有编码器的反馈真实脉冲,进入计数端与指令脉冲数比较;

2、而指令脉冲只是用户设的一个参数值,只是给指令脉冲计数器里输入一个32位的指令脉冲数;

3、所以说指令脉冲数受到干扰的说法是一句笑话!

4、编码器的解析度,只与编码器实际刻线生成的脉冲有关,用乘法器、倍频电路对刻线生成的实际脉冲数扩大若干倍的方法,没有提高编码器的解析度;

5、大家亲自看到了一个伺服位置环处理反馈脉冲与指令脉冲比较的方框图,足以说明伺服的位置闭环就是一个计数的过程;

6、大家还看到一个事实,用编码器对电机的角位移高分辨率的检测,来实现工件运动的精确控制存在的最大弊端是,电机的角位移没有得到有效控制,工件的运动与电机的运动之间还存在物理误差,控制电机的角位移,不一定就能精确控制工件的位移!其机械误差是无法逾越的障碍!

 

刘志斌

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

1、一个编码器,可以输出三个均匀的不同解析度的脉冲数,例如1024、2048、4096;

2、其原理就是有4条完全相同的刻线,彼此落后90°而已;

3、正余弦编码器,虽是两条相同磁迹线,如果把一条N、S磁迹线分成一条N、一条S,那就是4条刻线;

4、这就是4的来历!

5、1024×4=4096 ,这个4不是倍频,是4条刻线的脉冲相加;

6、征,还有很多人,都把这个4理解成倍频,是个错误,实际是将4条刻线的物理脉冲相加;

刘志斌

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

 

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


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倍频的光电编码器而言,这个位域占用两位”,是不懂装懂,压根就不知道是怎么回事!

 

刘志斌

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

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

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

     2^30/65536 = …… 圈;

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

 

笨鳥慢飛

  • 精华:3帖
  • 求助:3帖
  • 帖子:15帖 | 2548回
  • 年度积分:0
  • 历史总积分:4928
  • 注册:2005年10月16日
发表于:2013-01-03 16:53:16
14楼
老劉 同樣的題目 你為何能重覆發表兩次

五代重歼

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 1142回
  • 年度积分:0
  • 历史总积分:2358
  • 注册:2004年5月23日
发表于:2013-01-06 16:29:15
15楼

上面红色是刘志斌的标注,人家图上都讲了2^32 -1 还在说表示输出波形,真是睁眼说瞎话.还说中间的计数器【表示输入与输出波形变换】,难道没看见【counter】?!!!

刘志斌

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

1、把这个图解释成输出位置脉冲数与时间的关系,能成立吗?

2、伺服当前位置计数器的读数表示的是伺服当前的位置,能用这个锯齿波这样表示吗?能解释的通吗?

3、这个计数器的方框,对角线的上方是输入方波,对角线下方表示计数脉冲,就是说输入脉冲波形与输出脉冲波形有变换,这种波形变换的符号你们没见过?

4、既然输入测是A、B方波,输出波形是什么?把它理解成表示输出的波形是顺理成章的事!

5、你要看那个2^32-1,就解释不通!

6、这个图表示错误又不是这一处,前边乘法器2n就是错的,应该是2^n才对!

7、把这个锯齿波看成当前位置计数器的读数是解释不通的!是没有意义的!

 

刘志斌

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

8、看图要整体看,整体看才能知道它要表示什么?表示的是否合理?表示的是否正确?有没有错误的地方?

9、我看图的时候,也看到它标注的2^32-1,如果把这个锯齿波理解成当前位置的读数,显然是讲不通的,根据他的图整体的表示,应该是个输出波形!这就是我认定它是输出波形的思考过程!

10、我的理解是,它就是计数器的输出脉冲波形,2^32-1表示,这样的脉冲读数最大是2^32-1个

 

五代重歼

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 1142回
  • 年度积分:0
  • 历史总积分:2358
  • 注册:2004年5月23日
发表于:2013-01-07 09:33:55
18楼

最后说一次:

1.用CPU对脉冲计数绝对不会用到尖脉冲,如果输入是尖脉冲输入一般都要先整形成方波.这是由微处理器的工作特性决定的,讨论问题要立足于现实世界的产品,你非要说讨论的是60年代的晶体管双稳态触发器我也没辙,当我发神经.

2.你说的方波的上升沿和下降沿的检测必须通过微分电路来检测就是在胡说,要是学过数字电路你就该知道有种东西叫做边沿触发器,你要是不知道现在百度还来得及.

刘志斌

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

1、边沿触发器;

2、只有微分电路能感觉到边沿,能感觉到信号的突变,微分产生的尖峰脉冲的“尖”的意思是,脉冲信号电压的最大值等于突变信号的最大电压;

3、微分尖峰脉冲是很多触发器触发翻转最有效的触发脉冲,这是数字电路的基础知识;

4、有没有比微分电路还要好的边沿检测电路,没有,绝对没有!

 

刘志斌

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

5、“是60年代的晶体管双稳态触发器”,并没有过时,它是构成现代数字电路的坚实基础;

6、不论现代处理器的功能有多强大,都是基础电路的组合或构成,它不会是无中生有、没有原理、想怎么着就怎么着的怪物!


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 3 下一页 尾页