问一个关于编码器制造精度的问题
是这样,俺们现在手上有个5000线的CMC的编码器,安在冯哈勃3557电机屁股上,驱动个转台转动。现在要控制转台调速,转台转速要在300度/s到1度/s之间,换算到电机码盘上就相当于 493.33脉冲/毫秒 到 1.644脉冲/毫秒
现在就有个问题,电机我是PID控制,控制频率1kHz,那么该用什么测速方法?
开始想用的是M法,就是数这一毫秒内走过多少脉冲。这个办法缺陷就是精度不高,转速分辨率在最高转速时仅为0.2%,而转台需要0.01度/秒的转速精度。当然也可以延长采样时间,比如算过去10ms内走过多少脉冲,而这样有个缺点就是速度反馈滞后了,容易振荡,调整时间增长,抗时变摩擦转矩干扰的能力也下降了。特别是1度/秒的时候,大概要100ms的采样时间才能达到足够的分辨率,这实在太蛋疼了...
另一个办法就是T法,比如说1度/秒的时候,就测等一个脉冲到来花了了多少个机器周期,300度/秒就测等300个脉冲到来花了多长时间。用STM32捕获比较中断来测可以达到非常高的计时精度,转速精确到实际转速的万分之一没有问题。然而这么高精度的测速是建立在 码盘每条间隙都是理想等间隔分布 和 AB两组光电对管感光阀值完全相同 的基础上。而实际上码盘间隔肯定不会是理想的,光电对管感光阀值肯定也会不同。所以这么测速也有缺陷。
于是我想问问,5000线的码盘,4倍频,每个脉冲间隔的实际转角精度大概能有多少呢? 千分之一能达到么?
先感谢大家能耐心看完这么冗长的问题... 楼主是不是多写了一个0啊,500线的编码器吧?这样一个count对应电机的 360/(500*4)°,再乘以减速比 回复【1楼】gallop020142
-----------------------------------------------------------------------
的确是5000线的码盘,CMC的,二手货,差分信号输出 两种都算,然后根据转速给权值。
一般码盘会给一个相位误差值,国产的一般标5%,光学元件是国外的,盘片是国内的。CMC不清楚。 40000线以下国内没有技术门槛,10000线的我常用.很好用可以转到6000转,4倍频后4M脉冲/秒很匀很没有鸭梨.
高分辨率的安装是最大问题,要严格同轴,尽量不要用空心的,要用实心的要用大的,要用波纹连轴器...... 4M的脉冲。。。 回复【3楼】shihantu2
-----------------------------------------------------------------------
回复【4楼】ibmx311
-----------------------------------------------------------------------
啊看来T法测转速果然是会受到编码器本身的限制
我用的就是空心的,而且安上去不太同轴...看来微微有些悲剧啊...
编码器是下面这个,很久以前从淘宝上买的电机上拆下的,下面是店家的图
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708656W76SET.jpg
(原文件名:T2xqRZXXJbXXXXXXXX_!!638868407.jpg)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708657GSTYG8.jpg
(原文件名:T24WVZXk4aXXXXXXXX_!!638868407.jpg) 这个电机转速可以到多不 ? 钮力如何? 可以用来做雕刻机主轴电机吗 ? 测量A或B相一个脉冲高低电平的总时间,这个误差通常1%,若高电平或低电平的时间误差大约5-10%,这个速度建议用FPGA或CPLD计数了。 回复【6楼】bigallium 10班陈大葱22号
回复【3楼】shihantu2
-----------------------------------------------------------------------
回复【4楼】ibmx311
-----------------------------------------------------------------------
啊看来t法测转速果然是会受到编码器本身的限制
我用的就是空心的,而且安上去不太同轴...看来微微有些悲剧啊...
编码器是下面这个,很久以前从淘宝上买的电机上拆下的,下面是店家的图
(原文件名:t2xqrzxxjbxxxxxxxx_!!638868407.jpg)
<center><a class=tt16 onclick="fn......
-----------------------------------------------------------------------
嗯,这种编码器我也试过,淘宝上有二手的,AB相相位不匀,不好用.
超过200k脉冲/秒必须用fpga才可以来得及,因为有低转速的情况所以要有软件滤波.
另外,编码器输出的阻抗要匹配,我是先经过匹配再经过lvc4245转到3.3V的系统里,这一级必不可少.
目前国产编码器的精度已经不成问题,最大的问题是抗干扰能力,我用过一种国产的,电机没动自己就发脉冲,当时都要崩溃了.
另外,编码器的电缆十分关键,屏蔽层不好的话,电磁环境不好的场合很不好很易被干扰,所以还要加一条金属软管才行.
如果钱不是问题,日本的编码器确实比国产的稳定多了.
如果把编码器装载电机尾部,必须要良好磁屏蔽,不然也会有问题.
总之高精度的编码器要折腾几次,要想不折腾,尽量用进口的,没有多花钱的不是. 搜到一篇产品手册...看来不容乐观啊:
增量编码器的精度
实心轴编码器有三种定义精度的形式,每一种都是以脉宽的a%来表示,
脉宽由一个周期内的信号的通和断组成。
分割误差(信号位置误差)定义:任意一相的脉冲边缘和准确几何位置
之间的偏差,标准值是最大 12%。
波形比:描述了一个脉宽内,波形的通断比例的偏移,每个编码器都给
出了标准精度值最大 ±7%
相位差:描述了两个相位边缘之间的精度,每个编码器都给出了标准精
度值,最大是脉宽的 7.5% to 9楼:
噢?编码器也需要阻抗匹配?该怎么做呢?对地加个电阻就可以了么?
现在用的这个曾经装上步进电机跑到四千转,用逻辑分析仪记录AB相输出,感觉挺均匀没丢脉冲 回复【11楼】bigallium 10班陈大葱22号
to 9楼:
噢?编码器也需要阻抗匹配?该怎么做呢?对地加个电阻就可以了么?
现在用的这个曾经装上步进电机跑到四千转,用逻辑分析仪记录ab相输出,感觉挺均匀没丢脉冲
-----------------------------------------------------------------------
至少要串上400-1000欧电阻 回复【4楼】ibmx311
40000线以下国内没有技术门槛,10000线的我常用.很好用可以转到6000转,4倍频后4m脉冲/秒很匀很没有鸭梨.
高分辨率的安装是最大问题,要严格同轴,尽量不要用空心的,要用实心的要用大的,要用波纹连轴器......
-----------------------------------------------------------------------
ibmx311请留个联系方式,有问题请教! 回复【13楼】qbasic
-----------------------------------------------------------------------
你好,已回复到您新浪博客 看了还不是很明确lz的问题是什么,是编码器信号采集处理还是电机驱动?这么高的线数,用cpld做比较合适,在AB信号沿同时判断AB信号的高低;另外无论什么电机连上编码器都是有抖动的,范围几个到几十脉冲,看驱动性能了,这个要根据应用来适当处理 回复【12楼】ibmx311
-----------------------------------------------------------------------
啊了解,谢谢!! "然而这么高精度的测速是建立在 码盘每条间隙都是理想等间隔分布 和 AB两组光电对管感光阀值完全相同 的基础上。"
use exponential smoothing.
say that your cycle time is T (in ticks, covering a given number of pulses)
Tavg(t) = alpha * Tavg(t-1) + (1-alpha)*T;
pick alpha to determine the memory of the smoothing.
页:
[1]