一、上面的是征提供的欧系某款驱动器的编码器信号处理框图;
二、我从伺服工作的基本原理来解析编码器信号处理的过程:
引用 东山脚下-骑士军团 的回复内容:这就是典型的闭环控制系统的基本原理
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信号的电平情况。
2)multiplication by hardware
图中的x2n, 实际上是错的, 应该是x 2^n, 这属于手册的编写错误
表示的是硬件对AB信号进行倍频, 即细分。对光电编码器就是4倍频, 即n = 2。
光电编码器的AB一个周期即1 signal period 经硬件4倍频后得到4个脉冲,四倍频就是对AB脉冲进行边沿检测。
3)中间的1 2
表示1 signal period 四倍频后得到的信号
4)Free-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位计数器的整体数值,不会区分那一部分。
以上是对我提供的图的简要分析, 或者是一个我说明!
1、只要能心平气和的说话,就好多了,别让人看笑话;
2、你看看下面的图和方程式,那个对?那个错?
3、方波上沿:
1)用上图的式子得
5 = - 0+5
2)用下面的式子得
5 = 0+5
4、方波上沿结束,持续5V:
1)用上图的式子得
5 = -(-5)+0
2)用下面的式子得
5 = 5 + 0
5、方波下沿:
1)用上图的式子得
0= - (-5)+ (-5)
-5 = -5
2)用下面的式子得
0 = 5 + (-5)
-5 = -5
1、这两个图都没有错,这两个回路方程也没有错;
2、在上边的这个图中,电容电压Uc始终是负的,在下边这个这个图中电容的电压Uc始终是正的;
3、两个图的回路电压方程式也不同,各是各的回路电压方程式;
4、例如,你如果用下边的图的回路方程式,去计算上边图的参数,结果就会出现
方波下沿:
1)用上图的式子得
0= - (-5)+ (-5)
-5 = -5
2)用下面的式子得
0 = -5 + (-5)
0 = -2Um
这就是wyb2866255---王者之师犯的错误!
5、用上边图,画的电压曲线图如下
6、用下边图,画的电压曲线图如下
7、因为在微分电路时,从电压输出端Uo看进去,电阻的电压是正(非下降沿)的,电容的电压是负的,所以下面的曲线图体现的是微分电路的特征;
8、因为在积分电路时,从电压输出端Uo看进去,电阻的电压是负(非下降沿)的,电容的电压是正的,所以下面的曲线图体现的是积分电路的特征;
引用 ShowMotion 的回复内容:
……这个图表示,在正交编码输入方向不变的情况下,32位计数器会从0计数到2^32-1,溢出后继续从0开始计数。这个锯齿波就是形象描述计数值连续变化的过程。
1、先这样认为吧;
2、那后边的指令脉冲计数器,NO.of signal periods怎么办?
3、当前位置计数器,读数已经几个2^32-1,溢出,后边的计数器也跟着溢出吗?
4、我想,在一个位移控制过程,位置读数与时间的关系能是这样锯齿波吗?
5、等高度可以理解,等间隔等时间可以吗?
6、当前位置计数器,一般的表示方法是一个梯形波,这是你知道的!
7、既然计数器的符号,采用了波形变换的标识,输入波形有输出波形也应该有;
8、计数器计数溢出,从零开始计数是个常识,也可以说明,没有见过用这种方式表示的;
9、如果认为纵坐标是计数器的读数,那么0、2^32-1应该在纵标轴上标出,而不是写在现在这个位置上;
10、所以把它看成计数器输出波形,2^32-1是输出最大脉冲数,还是正确的,就是说有一万个理由说它是输出波形,而没有一个成立的理由说它是计数器输出读数的波形!
11、说这么多,就是要告诉大家,我的看法是经过思考的,不是随意的!
1、multiplication by hardware 是个硬件构成的乘法器;
2、2n是乘数因子,表示偶数倍;
3、它与波数2^n是两回事,就是说不是1个n;
4、2^n表示波数用2进制计数,计数器Free-running position counter中的32位bits,表示32位2进制计数器;
5、输出波数最高位可计数到2^(32-1)位;
7、我在此贴本贴或者相关帖中,有关乘法器multiplication by hardware 的描述中,把×2n当做×2^n是错误的,请大家注意更正回来,就是说图上的×2n是对的!
8、在这个问题上,我跟着征的解释走,一块儿犯了错,向大家道歉!
引用 ShowMotion 的回复内容:
……这个图表示,在正交编码输入方向不变的情况下,32位计数器会从0计数到2^32-1,溢出后继续从0开始计数。这个锯齿波就是形象描述计数值连续变化的过程。
1、先这样认为吧;
2、那后边的指令脉冲计数器,NO.of signal periods怎么办?
3、当前位置计数器,读数已经几个2^32-1,溢出,后边的计数器也跟着溢出吗?
4、我想,在一个位移控制过程,位置读数与时间的关系能是这样锯齿波吗?
5、等高度可以理解,等间隔等时间可以吗?
6、当前位置计数器,一般的表示方法是一个梯形波,这是你知道的!
7、既然计数器的符号,采用了波形变换的标识,输入波形有输出波形也应该有;
8、计数器计数溢出,从零开始计数是个常识,也可以说明,没有见过用这种方式表示的;
9、如果认为纵坐标是计数器的读数,那么0、2^32-1应该在纵标轴上标出,而不是写在现在这个位置上;
10、所以把它看成计数器输出波形,2^32-1是输出最大脉冲数,还是正确的,就是说有一万个理由说它是输出波形,而没有一个成立的理由说它是计数器输出读数的波形!
11、说这么多,就是要告诉大家,我的看法是经过思考的,不是随意的!
引用 ShowMotion 的回复内容:
……这个图表示,在正交编码输入方向不变的情况下,32位计数器会从0计数到2^32-1,溢出后继续从0开始计数。这个锯齿波就是形象描述计数值连续变化的过程。
2、我的回答是,不允许“溢出”,“溢出”就意味着这个伺服位移控制过程失败;
3、那么一个控制过程需要较大位移是怎么办?
4、所以爲了适应一个控制过程较大位移的需要,必须有足够的计数器的计数数位,例如用32位计数器;
5、可是32为计数器,对于解析度65536的编码器,也显得很不够,例如一个3000rpm的电机,只允许运行22分钟就已经溢出
4294967295÷65536=65536转
65536÷3000=22分钟
6、那怎么办?计数器的计数位总是有限的,不能无限增多;
7、其实一个伺服位移控制过程,需要对解析度65536的编码器的每一个脉冲计数吗?
8、我们测量2001毫米的长度,没有人去数毫米的刻线数,只是在数完米的刻线数后再数毫米的刻线;
9、所以伺服控制过程一样,计数器不用去数解析度65536的脉冲,只数圈数,只有在最后1圈的最后几个解析度65536的脉冲计数,和我们测量长度的过程一样,先数米刻线,最后才数毫米刻线!
10、说表示“32位计数器会从0计数到2^32-1,溢出后继续从0开始计数”,是对伺服控制过程最无知的说法!!!
引用 五代重歼 的回复内容:
既然叫做Free-running position counter,他压根就不需要输出脉冲.计数器要的只是计数值原产品手册上有个注解<5>,写的<5> Generating the two‘s complement.还不够清楚吗?
1、“既然叫做Free-running position counter,他压根就不需要输出脉冲.计数器要的只是计数值”,说这样的话,足以证明你原来狗屁不懂,还立帖骂人?
2、这个计数器就是对编码器反馈脉冲的计数,它的读数就是转子(或者工件的)当前的位置;
3、在计数的同时,它还要把编码器的方波脉冲转换成锯齿计数脉冲,输出给指令脉冲计数器NO.of signal periods,进行减计数,如果它不输出脉冲,怎么进行减计数
4、而位移指令脉冲NO.of signal periods计数器的读数是,伺服电机运行前用户输入的指令脉冲数,即目标位置的位移;
5、当伺服完成一个控制过程结束时NO.of signal periods计数器的指令脉冲数读数变为零,Free-running position counter当前位置计数器的读数变成等于NO.of signal periods用户设定的指令脉冲数,说明电机已经完成指令的位移,到达指令目标位置;
6、就是说NO.of signal periods的读数减少数=Free-running position counter的读数增加数,它们是两个互补的数码,
Generating the two‘s complement!生成两个互补的数码;