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
1、Invert position actual value,转化当前位置值,就是将伺服当前运行的反馈脉冲与指令脉冲比较;
2、-1,就是减计数,就是当前位置计数器输出的等价反馈脉冲对指令脉冲计数器进行减计数;
3、P0410.1 是配置参数, 是载调试时根据需要选择是否启用减计数。
举例说:
1、周指令脉冲数为65536;
2、指令脉冲数=65536λ,λ=15689.4444,用户将其输入设置给指令脉冲数计数器;
3、NO.of signal periods=65536λ;
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的倒数,就是电子齿轮比;
1、在伺服运行期间,只有编码器的反馈真实脉冲,进入计数端与指令脉冲数比较;
2、而指令脉冲只是用户设的一个参数值,只是给指令脉冲计数器里输入一个32位的指令脉冲数;
3、所以说指令脉冲数受到干扰的说法是一句笑话!
4、编码器的解析度,只与编码器实际刻线生成的脉冲有关,用乘法器、倍频电路对刻线生成的实际脉冲数扩大若干倍的方法,没有提高编码器的解析度;
5、大家亲自看到了一个伺服位置环处理反馈脉冲与指令脉冲比较的方框图,足以说明伺服的位置闭环就是一个计数的过程;
6、大家还看到一个事实,用编码器对电机的角位移高分辨率的检测,来实现工件运动的精确控制存在的最大弊端是,电机的角位移没有得到有效控制,工件的运动与电机的运动之间还存在物理误差,控制电机的角位移,不一定就能精确控制工件的位移!其机械误差是无法逾越的障碍!
引用 东山脚下-骑士军团 的回复内容:这就是典型的闭环控制系统的基本原理
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倍频的光电编码器而言,这个位域占用两位”,是不懂装懂,压根就不知道是怎么回事!
1、把这个图解释成输出位置脉冲数与时间的关系,能成立吗?
2、伺服当前位置计数器的读数表示的是伺服当前的位置,能用这个锯齿波这样表示吗?能解释的通吗?
3、这个计数器的方框,对角线的上方是输入方波,对角线下方表示计数脉冲,就是说输入脉冲波形与输出脉冲波形有变换,这种波形变换的符号你们没见过?
4、既然输入测是A、B方波,输出波形是什么?把它理解成表示输出的波形是顺理成章的事!
5、你要看那个2^32-1,就解释不通!
6、这个图表示错误又不是这一处,前边乘法器2n就是错的,应该是2^n才对!
7、把这个锯齿波看成当前位置计数器的读数是解释不通的!是没有意义的!