打印

6410 旋转编码器 电机测速

[复制链接]
1069|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
欠揍小土豆|  楼主 | 2016-12-16 00:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的板子是6410,搭载Linux系统,用pwm控制电机转速。但是对电机转速测量时选的是旋转编码器,编码器有A、B两路输出接到6410上,我查阅资料说利用GPIO,作为外部中断口对产生的脉冲数进行测量。到这边有点乱!卡住了!给点关于编码器测速驱动和测试的思路吧!跪求各位大神帮帮我

相关帖子

沙发
autooy| | 2016-12-16 09:30 | 只看该作者
旋转编码器出来的是正交信号。也就是A与B相是错位90度的信号;如果速度慢,比如10khz左右的信号。或许你的GPIO还可以识别,如果转速稍微提高点,估计你片子就识别不了了。这里给两点建议:
第一:看你的6410芯片是否有正交信号识别功能,如果有,你开启起来之后直接读取寄存器数值与方向即可(STM32F1以上的系列是有的);
第二:如果没有,你单独测量其中1路,在你需求的最快速度的情况下,你外部中断口读取的速度值与实际是否一致;如果不是,说明你的中断速度跟不上;
第三:最简单办法,你只是测量转速,你就测量A相即可,B相不管(只要分辨率足够你的要求);这样就是单独的一路信号,你就简单处理了吧。
第四:如果你的AB相有的出来是差分信号。那你就使用比如RS485之类的差分芯片将信号转换后接你的芯片识别吧。

使用特权

评论回复
板凳
欠揍小土豆|  楼主 | 2016-12-16 10:22 | 只看该作者
autooy 发表于 2016-12-16 09:30
旋转编码器出来的是正交信号。也就是A与B相是错位90度的信号;如果速度慢,比如10khz左右的信号。或许你的G ...

嗯嗯,我想先简单的实现测速功能,以后的工作在看。之前想过第三种情况,被你一说有点思路了,谢谢你

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝