[STM32]

绝对旋转编码器如何区分正转/反转

[复制链接]
4796|8
手机看帖
扫描二维码
随时随地手机跟帖
longdeng84|  楼主 | 2014-2-12 14:50 | 显示全部楼层 |阅读模式
yewuyi| | 2014-2-12 14:59 | 显示全部楼层
输出的A、B相位编码信号不一样,根据此区分

使用特权

评论回复
longdeng84|  楼主 | 2014-2-12 15:04 | 显示全部楼层
yewuyi 发表于 2014-2-12 14:59
输出的A、B相位编码信号不一样,根据此区分

不有A/B相信号。
这个是绝对值编码。。

使用特权

评论回复
longdeng84|  楼主 | 2014-2-12 15:09 | 显示全部楼层
输出信号只有12位角度值+6位系统状态位。
系统状态位中不包含正反转信息,分别为:
1:偏差补偿完成
2:cordic溢出
3:线性度报警
4:磁场变大
5:磁场变小
6:奇偶校检位

使用特权

评论回复
小嘿| | 2014-2-13 09:42 | 显示全部楼层
轴抖动是正常的,没有绝对的系统,不过12位有1-2°有点大,可能是机械问题

使用特权

评论回复
laoxu| | 2014-2-13 14:18 | 显示全部楼层
绝对值编码器,通过前后两次读取值之差,判断运转方向。

使用特权

评论回复
longdeng84|  楼主 | 2014-2-13 16:04 | 显示全部楼层
laoxu 发表于 2014-2-13 14:18
绝对值编码器,通过前后两次读取值之差,判断运转方向。

抖动呢?

由359° 转向 1°呢?

使用特权

评论回复
laoxu| | 2014-2-13 16:30 | 显示全部楼层
longdeng84 发表于 2014-2-13 16:04
抖动呢?

由359° 转向 1°呢?

在一定的速度下,由于两次取样的时间差,抖动根本反应不出~~~

在接近0的低速下,抖动靠数次测量,以统计多者定运转方向~~~

由359° 转向 1°呢?
不用俺教了吧?
自动插入一个补偿码而已~~~
如果 (359°- 1°) > 180°   则 (359°- 1° ) - 360°
如果 ( 1°- 359°) < -180° 则 ( 1°- 359°) + 360°

使用特权

评论回复
yewuyi| | 2014-2-14 16:46 | 显示全部楼层
绝对值编码只要判断读数是增大还是减小就可以得到是正转还是反转了。

但要注意到最大绝对值后的输出数字反转,这就如同的MCU的定时器一样,从0上升到最大值,然后又反转到0

使用特权

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

本版积分规则

13

主题

180

帖子

1

粉丝