发一个新帖,谈谈运动控制中编码器定位精度的问题。 点击:16104 | 回复:200



通讯网-原创军团

    
  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-27 21:49:55
楼主

发一个新帖,谈谈运动控制中编码器定位精度的问题。

   以前帖子里谈了一些,想一想,又到过节了,可以把这个东西作为新题目单独提出来讲一讲。。。如图。。。。运动控制,都需要把给定值与编码器反馈值求差,然后根据误差大小,反过来调整电机,使之到达准确位置。。。

 




岳轻航

  • 精华:0帖
  • 求助:3帖
  • 帖子:20帖 | 1090回
  • 年度积分:5
  • 历史总积分:3153
  • 注册:2010年8月04日
发表于:2012-12-30 22:20:43
81楼

学习了,这个自己还真的从来没有搞过

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-30 23:06:38
82楼
回复内容:
对:刘志斌关于 5、如果我用4096来进行粗控,就把4096中的与1024对应的脉冲,放入粗控的位置上,粗控时这些脉冲输出被计数;那么细控时其它脉冲都输出;6、这样就出现了所谓的脉冲分配的说法!7、不过通讯网的语言叙述有点词不达意,让人费解了! 内容的回复:

可能有些混淆。。。。我是说增量式的AB编码器。。在CT这里,直接就把它四倍频使用,且全部作为粗位使用,而不是线数是粗位,四倍频是细位。。。它是直接就用了。。。因为它的粗位可以最高65536,四倍频也在它的容量范围内。。。。。。只是正余弦编码器,它的(正余弦波的),高高,高低,低高,低低。也类似AB编码器。所以它也直接被4倍频了。直接放在粗位。。它的细位,是通过检测正余弦的模拟量得到更细的细位,放在下一个65536里面。。当然在这里面的细位,有可能末位跳动,但是已经较原来细多了。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-30 23:13:28
83楼
实际这个问题不难理解吧??很简单的。

笨鳥慢飛

  • 精华:3帖
  • 求助:3帖
  • 帖子:15帖 | 2548回
  • 年度积分:0
  • 历史总积分:4928
  • 注册:2005年10月16日
发表于:2012-12-30 23:22:57
84楼

我至今仍搞不清楚 通訊網究竟想表達什麼 此題目表達的不清不楚 先前我認為是CT smart driver 的架構 通訊網否定掉了 說是一般的矢量變頻器

道是老劉染房開出來 把通訊網又逼上了CT 所以他畫的弦波及方波這就合理 安川怎會有弦波 那CT的驅動器就該有兩個接口 方波那用在異步電機 那弦波用在與自身做的伺服電機上 當然你也可已把他看成16位的伺服 那這該和三稜17位的做法接近 哎 看他寫的好像是絕對式 可是絕對式又怎會有倍頻的做法呢 我想通訊網自己也搞不清楚

搞技術的人必須有個觀念 複雜簡單化

不管你用哪種編碼器 只要用電器方式輸出訊號 都只能講是解析度 高解析度不意謂高精度

刘志斌

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

引用 luedong 的回复内容:

……编码器好不容易把刻线给你做的那么准确, 这样处理会不会丧失精度?我记得笨鸟先飞有个帖子讲这个精度的, 请笨鸟先飞来看看!!


1、luedong要仔细想,我问你,1米和1000毫米那个准确?

2、1米=1000毫米,对不对?

3、1.001米和1001毫米那个准确?

4、1.001米=1001毫米,对不对?

5、如果我测量时,先找1米的刻线,再找1毫米的刻线,我知道是1.001米;

6、如果你测量时,从零毫米开始,1毫米刻线、2毫米刻线、3毫米刻线、……一直数到1001毫米刻线,最后说长度是1001毫米;

7、你觉得谁的测量方法好?

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2012-12-31 00:26:00
86楼
8、你能说读1米的刻线不准确吗?你能说读1米的刻线“会丧失精度?”

luedong

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 607回
  • 年度积分:0
  • 历史总积分:1203
  • 注册:2011年5月26日
发表于:2012-12-31 07:25:47
87楼
刘老师看看74楼的东东。编码器本来每个1毫米刻线很准,精度很高。通讯网说的那种处理方式进行了四舍五入,在1米的地方能凑到原来刻度上。但从0到1000毫米的1000条刻线上,有的刻线就偏离实际位置很大。

luedong

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 607回
  • 年度积分:0
  • 历史总积分:1203
  • 注册:2011年5月26日
发表于:2012-12-31 07:39:13
88楼
这可是刻线的原始信号。如果增量式计50mm,这个精度范围一定吗?

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 08:38:39
89楼

回复内容:
对:笨鳥慢飛关于我至今仍搞不清楚 通訊網究竟想表達什麼 此題目表達的不清不楚 先前我認為是CT smart driver 的架構 通訊網否定掉了 說是一般的矢量變頻器道是老劉染房開出來 把通訊網又逼上了CT 所以他畫的弦波及方波這就合理 安川怎會有弦波 那CT的驅動器就該有兩個接口 方波那用在異步電機 那弦波用在與自身做的伺服電機上 當然你也可已把他看成16位的伺服 那這該和三稜17位的做法接近 哎 看他寫的好像是絕對式 可是絕對式又怎會有倍頻的做法呢 我想通訊網自己也搞不清楚搞技術的人必須有個觀念 複雜簡單化 不管你用哪種編碼器 只要用電器方式輸出訊號 都只能講是解析度 高解析度不意謂高精度内容的回复:



呵呵。。怎么转不过弯来呢??你看征就明白。。。。。

   是这样::编码器的信号,肯定要变成数字,在机器内部,供控制运算使用。。。那么。这个数字是什么样的格式。

      你比如,一个字节,可以是有符号数,可以是无符号数,可以是BCD码,可以是浮点数。可以是格雷码。。等等。。。

这里讨论的这个数,是专门供编码器使用的,可以涵盖所有的不同种类、不同精度编码器的,反过来说,所有精度编码器的数值,都可以在这个数里体现出来的这么个“编码器专用数。”

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 08:59:51
90楼

你看,征这个图很清楚,前面不管是正交的编码器还是正余弦编码器,中间都要经过4倍频,然后最后反映到一个32位的数上!!(箭头所指-----这个数,就是编码器专用数!)我和征大问题一致,就是对生成的这个数,有一些小分歧。。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 09:07:09
91楼
这个数,跟你说的16位精度,还是17位精度并不矛盾啊!!!你说16位,在这个数里面n就是16,从31--16.。使用,后面全是0.。。如果你是17位精度,那么n就是15,31--15,总共17位。。后面全是零。。。。。前面说的,是2的n次方编码器时候的情况,如果编码器不是2的n次方格式,比如1000线的,那么数据反映在这个“专用数”里面,又会是怎样!!我们讨论的就是这个问题!!明白了吧???!!

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 09:19:01
92楼

你比如:浮点数,浮点数包括,符号,有效数字,10的多少次方。。等等。。。这些信息都包含在一个也是32位的字,里面,不管你数的符号是正还是负,10的次方是正还是负,有效数字多少。。等等,所以类型的浮点数,都可以反映在这个32位的”字“里!

    同样,”编码器专用字“,不管你编码器线数多少,什么类型,也都可以反映在这个”字“里!明白了吧??

 

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 09:37:42
93楼

你比如单精度浮点数,放在一个32位里面,那么最高位是符号位,后面紧跟的8位阶码是10的次方数,这个数的第一位也是符号,剩下的就是有效数字嘛!!!所有的,任何的浮点数,都可以纳入这个格式中(当然也不是所有的浮点数,如10的1000000次方估计不行。)但是我们常用的基本上已经可以完全覆盖了。。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 09:40:12
94楼
上面所讨论的是“编码器专用数”。。对于不同类型,不同线数编码器,在这个“专用数”中的“摆放格式”进行讨论。。。。明白了吧??

刘志斌

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

引用 征 的回复内容:引用 通讯网-原创军团 的回复内容:引用 征 的回复内容: 引用 通讯网-原创军团 的回复内容:回复内容:对:征关于 引用 通讯网-原创军团 的回复内容:回复内容:对:征关于 回复内容:(省略)              内容的回复: 你看,还是你看错了。。。你看你的图,signal pe(内容省略) 内容的回复:我这里错了。。。。我原来说31,30,29。。。说n=29是错的。。。我是按16进制。。。应该是31----20。。。应该n=20。。你的是二进制表示的。。 FFF0H--0000H    = 1111 1111 1111 0000B--0000 0000 0000 0000B蓝色1位置是n  31,30,29,28    27,26,25,24   23,22,21,20呵呵.....n= 20? 看看那个图,继续研究吧! 看明白了,你的图里面,4096已经算是细分了,1024是粗位,后面,21,20算细分位。在你的里面把21位以后算细分了。CT中所有的4096都算粗位。说法不同。。。但结果是一样。。无所谓了。。使用起来是一样的。。呵呵,你还是没看懂!“1024是粗位,后面,21,20算细分位。在你的里面把21位以后算细分了” 要看懂的话就应该知道在1024线的光电编码器下,n=2只要是AB互差90度的光电编码器就只能4倍频,即n =2, 与光电编码器有多少线没有一点关系!32位的计数器值是由光电编码器的AB信号经硬件四倍频后的输出脉冲 输入到计数器中自动累加得到的, 与编码器原始信号的数值没有直接的联系! 还是费点功夫简单讲解一下, 以光电编码器为例: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位计数器的整体数值,不会区分那一部分。            以上是对我提供的图的简要分析, 或者是一个我说明!     可能跟CT的不太一样,但是最终都是对倍频的信号计数,所以有些说法在我理解来或者看来是实在不靠谱了!     既然本帖已经“授精”, 所以我要对我提供的数据、图形等做一个简要的说明, 尽量提供一种准确、可靠、负责的说法给每个看帖子的人, 不管懂还是不懂!     实际上,对我来说,解释这些基本的东西我感觉很累,我也觉得没有必要!    但出于慎重考虑,我还是尽量去做了!     这是我对这个帖子的最后回帖!    不存在非要争论出谁对谁错的想法, 只求尽量正确、符合事实!    各位包涵!   


记录在案!

刘志斌

  • 精华:5帖
  • 求助:0帖
  • 帖子:348帖 | 35827回
  • 年度积分:0
  • 历史总积分:75384
  • 注册:2006年7月30日
发表于:2012-12-31 09:54:42
96楼
请征出来纠正一下自己的错误!

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 09:56:36
97楼
顺便说点闲话,计算机最快速度,都说多少多少亿次。。。。我国最新要做万亿次计算机。。。这里的次,就是做这个浮点数乘法的次数。。。。每秒做一万亿次的浮点数乘法。。。。。每秒做多少多少亿次就是评判计算机速度的指标。。。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 10:14:22
98楼

引用 刘志斌 的回复内容:请征出来纠正一下自己的错误!




没必要这样嘛!!呵呵,,拿出来讨论嘛。。。考虑问题跟做饭一样,有一个由生到熟的阶段。。。我说这些也是我慢慢才明白的。时间在拖一些时候,会更熟悉些,想明白些的。。。。

  我觉得,征可能把它当做一个计数器了,转一圈加起来可能留一些尾巴数。再转一圈尾巴数又增加些。。。。。。这个是不对的。。。。应该说,这个不是个计数器!!这个就是个分配器,转一圈肯定65536.。。肯定不能有累计误差的。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 15:43:30
99楼

要看懂的话就应该知道在1024线的光电编码器下,n=2

只要是AB互差90度的光电编码器就只能4倍频,即n =2, 与光电编码器有多少线没有一点关系!

32位的计数器值是由光电编码器的AB信号经硬件四倍频后的输出脉冲 输入到计数器中自动累加得到的, 与编码器原始信号的数值没有直接的联系!

--------------------------------------------------------------------------------------------------------------------

你这段话不对吧??“

只要是AB互差90度的光电编码器就只能4倍频,即n =2, 与光电编码器有多少线没有一点关系!

你的意思是,n之于编码器的类型有关,如果是AB正交的编码器,不管线数多少,n就等于2,

如果是sincos编码器n可以高些,比如3,或4.。。??

你的理解是错误的。。

 

    咱举实例吧:一个个来。。。。。。

   线数是4的编码器,4倍频是16,数据按16进制写。10000000H,20000000H,30000000H,....F0000000H,00000000H

   线数是8的编码器,4倍频是32,数据按16进制写。08000000H,10000000H,18000000H,20000000H,28000000H,30000000H,....F0000000H,F8000000H,00000000H

线数是16的编码器,4倍频是64,数据按16进制写。04000000H,08000000H,0C000000H,10000000H,1400000H,18000000H,....F0000000H,F4000000H,F8000000H,FC000000H,00000000H

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-12-31 15:46:54
100楼

线数是64的编码器,4倍频是256,数据按16进制写。01000000H,02000000H,03000000H,04000000H,.........F8000000H,F9000000H,FA000000H,.....FF000000H,00000000H.


热门招聘
相关主题

官方公众号

智造工程师