打印
[STM32]

编码器在速度为零的时候测速问题

[复制链接]
2489|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaofei558008|  楼主 | 2015-12-9 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我一直在纠结一个电机在速度接近于0的正反转的时候测速的问题;

电机用的是增量式编码器;一圈400脉冲,A+B共计1600个;4对极;一个电气周期360度有400个脉冲;

现在的问题是在速度趋于0的时候轴是在微小的正反转,这个时候测脉宽和测脉冲个数都不准确了;

测脉冲个数要好几百个毫秒才能测到脉冲,不准确;
测脉宽的方法,存在电机轴有正反转,切换转向的时候会存在A/B相有很短的脉冲,测出来的转速瞬间跳变很大,再输入到电流环就不准了;

请教大侠们,如何在这种很低速度且存在正反转的时候测量准确的速度?

控制:位置环+速度环+电流环;  控制电机在某个确定位置停住,不晃动,不震荡;    那个用增量式编码器的XY伺服平台怎么实现这个准确测速的?

谢谢.

相关帖子

沙发
阿南| | 2015-12-10 14:01 | 只看该作者
能否在程序上将正反转的瞬间过滤掉,因为这个时候速度就是0了

使用特权

评论回复
板凳
xiaofei558008|  楼主 | 2015-12-11 09:58 | 只看该作者
阿南 发表于 2015-12-10 14:01
能否在程序上将正反转的瞬间过滤掉,因为这个时候速度就是0了

没有好的程序架构啊,波形没规律,在编码器不同位置,间距都不一样;

使用特权

评论回复
地板
阿南| | 2015-12-11 10:19 | 只看该作者
xiaofei558008 发表于 2015-12-11 09:58
没有好的程序架构啊,波形没规律,在编码器不同位置,间距都不一样; ...

把没规律的通过软件将其滤除掉试试

使用特权

评论回复
5
xiaofei558008|  楼主 | 2015-12-11 15:44 | 只看该作者
阿南 发表于 2015-12-11 10:19
把没规律的通过软件将其滤除掉试试

好的,谢谢,我用软件滤波试试看

使用特权

评论回复
6
dichi| | 2015-12-11 16:22 | 只看该作者
需要注意的是捕捉编码器转速和方向的时候是同时读取stm32中的寄存器值,然后再对数值进行处理;而不是先看看寄存器中的方向然后在去寄存器中都编码器数值。.......这样反向的直接就是一个大速度过滤即可。

使用特权

评论回复
7
xiaofei558008|  楼主 | 2015-12-13 18:43 | 只看该作者
dichi 发表于 2015-12-11 16:22
需要注意的是捕捉编码器转速和方向的时候是同时读取stm32中的寄存器值,然后再对数值进行处理;而不是先看 ...

问题不这么简单啊,硬件上,光电编码器AB线跳变沿有毛刺(很小的连续若干个毛刺,捕获回来读回来都有问题),用磁编码器AB线的脉冲不均匀,有时候窄有时候宽,相位也不是严格的90度差,唯一好的就是AB脉冲没有毛刺;

现在考虑,这个时候速度已经极低,要不去掉电流环,直接位置环+Id和Iq的PI环,不知道这样可不可以;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

971

帖子

13

粉丝