引用 通讯网-原创军团 的回复内容:回复内容:对:笨鳥慢飛关于一套系統兩套作業模式 方波經4倍頻轉換成通訊格式 弦波經倍頻分割成16位 再轉換成通訊格式 哎 一家言論這有什麼好談 就是指伺服系統的解析度 他怎麼做那是它內部的做法 我不會關心 就像三菱我不會去問怎麼做 因為我知道機械的誤差控制難度遠高於電器 電器精度的誤差 就是 + - 1個脈衝(不考慮其他因素) 内容的回复:咱们所关注的侧重点不同。你不关注它的内部,可是我们需要关注它的内部,我们需要编程。你所说的加减1个脉冲,你说的这种类似步进电机的伺服的使用方法,是伺服几种方法中最简单,最便于使用的一种。它只要发脉冲,伺服就跟着动。。如前面我那个图,伺服有5种工作方式,1CAM,2位置控制,3速度控制,4停止模式和5数字锁,类似步进电机似地使用方式,只是使用这里面的第二种---2位置控制功能。每一个脉冲,相当于一个小的位置控制,只移动一个或几个编码器线数,一串脉冲,伺服就动一串步伐。。。这只是5种使用方式中的简单的一种,国内做机械的,多数使用这一种工作方式,国内很多简易伺服,也只有这一种控制方式。。。这种使用,可以作为简单使用,对于复杂点的功能,就不太适用了。。
万变不离其宗 ,不管那种方式,只要伺服工作在位置控制模式,位置指令最终都会量化到整数数据。电机位置在哪?唯一可以衡量的指标就是编码器反馈值,因为编码器反馈是整的,哪怕细分,也是整的,没有小数的说法,电角度才有小数。
如果位置闭环是上位机控制完成,伺服工作仅工作速度模式,那么伺服接受的应该是速度指令,非本贴讨论的范畴。难道楼主是想讨论这种工作状态?
最后一次,再不理解了我就不管了,呵呵,假如编码器是九线的(咱先不说四倍频,就假设就是这个数),那么数据应该如表,前面位是粗位,后面位是精位。。
比如说,我要定位到,4100H0000H,这个数字是我给的,我可以给任何数字,这个编码器精度不够,就会找最近的点,定位在38E3H-8E39H,如果是sincos编码器,因为正余弦编码器的细位是模拟量的,定位精度取决于控制器的采样精度,控制器会用模拟量的部分补偿4100H0000H与38E3H-8E39H之间的差。。如果控制器内部的采样位数高,定位就会更精确一些。。
我要定位到4100H0000H如果编码器精度差些,比如上面的九线,那么只能定位到38E3H-8E39H这个数,如果我换用1024线编码器,四倍频4096,它的数据表00100000H,00200000H。..41000000H.....FFE00000H,FFF00000H,00000000H,它里面有41000000H,那它就直接找到那个点定住就行了。。
。这样控制器部分就不用动了,要想定位更精确,只要更换更精确的编码器就行!!
就比如,我要买一斤四两五钱粮食,我碰见一个农民,他只有斗,一斗一斤,只能一斤,二斤地称。。。如果碰见他,他要么给我一斤,要么给我二斤。四舍五入给我一斤。只能如此了。
碰见一个小商人,他的秤有两,他就可以给我一斤四两或者一斤五两,四舍五入给我一斤五两。
碰到一个财主,他的称更精确可以称到钱,他就可以给我称一斤四两五钱。。
“我”就是控制器,我指定数字,但能否得到更精确的结果,要看对方“编码器”的能力。。
“征”的那个跟其实跟我这个一样,只是从哪里开始算粗位,哪里开始算细位有不同。比如我说一斤四两算粗位,五钱算细位。。他说一斤算粗位,四两五算细位。。。。这个实际上无关紧要。。
就是这个了,再不懂,我就不管了啊!!呵呵
发一个图。。。。呵呵呵。。我知道为什么不服了。前面是我疏忽了,以前都发洋文截图的,这次没有洋文截图。呵呵呵。。大家喜欢洋文,现在工厂里也是这样,同样一件事,我说,他们就不听,鬼子说他们就听。魏淑芬啊,呵呵。同样一个毛病,我给他们解决了,他们就不愿意掏钱,鬼子坐飞机过来给他们解决了,他们就愿意!!。。。呵呵呵。。。我要钱是鬼子的几分之一。。。。。你们什么时候才能学会站直了腰看鬼子呢???呵呵呵
上图写的清楚啊!!最前面字节是转数,表示多少转,如果是多圈编码器就可以用了。。。中间31-16是Coarse Position,我翻译成粗位。。。应该没有问题吧??后面15-0,是Fine Position 我翻译成精位,或者细位。。。也没错吧??里面的A%,就表示细位的精度可以扩展。。。
引用 征 的回复内容:引用 通讯网-原创军团 的回复内容:引用 征 的回复内容: 引用 通讯网-原创军团 的回复内容:回复内容:对:征关于 引用 通讯网-原创军团 的回复内容:回复内容:对:征关于 回复内容:(省略) 内容的回复: 你看,还是你看错了。。。你看你的图,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的不太一样,但是最终都是对倍频的信号计数,所以有些说法在我理解来或者看来是实在不靠谱了! 既然本帖已经“授精”, 所以我要对我提供的数据、图形等做一个简要的说明, 尽量提供一种准确、可靠、负责的说法给每个看帖子的人, 不管懂还是不懂! 实际上,对我来说,解释这些基本的东西我感觉很累,我也觉得没有必要! 但出于慎重考虑,我还是尽量去做了! 这是我对这个帖子的最后回帖! 不存在非要争论出谁对谁错的想法, 只求尽量正确、符合事实! 各位包涵!
2、这是个错误,编码器的4,不是乘法器2^n中n=2,2^2=4 !
3、编码器的解析度×2^n=周指令脉冲数;
4、就是4)Free-running position counter 位置计数器,与6) 最右侧32位的计数值部分指令脉冲计数器,脉冲的等价关系是2^n ,它的倒数就是电子齿轮比;
5、编码器的解析度×2^n,编码器的解析度不变,还是原来的解析度,例如4096×16=65536,编码器的解析度还是4096,并不是65536!
引用 通讯网-原创军团 的回复内容:“征”那个图是日本产品吧???同样是英文资料,日系产品的资料跟英美资料习惯也有所不同,比如通讯口发送端,英美习惯用transmit,而日本人习惯用send。。转数,日本人习惯用periods,而英美习惯就是用turns。一家之言。。。不必争论。。。呵呵呵。。。。愿意听就听,不愿意听就耳边过!!呵呵
日本的?
日本的产品大部分都是中低端的,我发的那个图是西门子的产品的。
咱们没有必要争论什么!
主要的问题在于这些话“这是伺服控制普遍采用的一种细分方法。。。。。这只是其中的很基础的一个概念。。。。。。”、“不过我觉得,这是行业里的普遍标准。。。。各家都是按照这个标准来生产和研发的。。。。只是在中国市场,推出些类似步进电机工作方式的简易伺服,。。。中国落后啊。。。 ”“如果编码器是1000线编码器,那它的计数过程是,16.38375, 32.7675, 49.15125, 65.535, 81.91875.......65536.记满一周,整数部分放在高四位里面,小数部分放在低四位里面。。。。”实在不靠谱, 我只是举出一个例子来说这个东西没有你所谓的行业标准而已!
并且我在72楼的图中, 对于AB相互差90度的增量式光电编码器为什么n = 2,你在56楼(n= 20)还有117楼的图中还是描述不对!
所以我觉得没有必要讨论这些技术上的细节问题!
并且, 我也大略看了一下CT的说明书(说明书做的很烂,信息不全), 的确像你描述的那样, 但是你可能没有仔细翻阅有些文档:
编码器线数的设定还是分版本的,1.06.01前跟1.06.01后是不同的,至于为什么不同,我觉得很大可能是更改了上层应用接口的软件设计,让菜单能随意显示像1000线等编码器的位置信息,而底层的控制算法等一般不会改动。也就是说,只是提升了一个界面信息的显示,实质上的东西没有改。有些数据,只是对应用层看,实际上内部的处理未必是这样的。
看了这些文档之后,采用CT那种数据格式表示从设计上可以有两种实现方法! 当无论采用哪种设计方法,都有一个类似于72楼的位置脉冲计数器,然后对这个计数器的数值进行相似的格式处理。具体不详细描述!
我看的文档不是很全,英文文档的 Digitax ST User Guide 伺服驱动器的图我没有贴图,大概类似,都是基于一种系统架构的。从我看的资料中,光电编码器等应用模块都是模块化设计的,都有自己的ID号和软件版本号,所有对数据的处理可以进行很好的封装,这个是CT的一种系统架构设计吧,跟控制精度和性能无关。这也不是一个行业的标准,并且CT在这个行业不算大佬吧。
透过现象看到本质,万变不离其宗!
一个穿西装,一个穿中山装而已!
建议仔细看说明书和应用文档吧!