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

[复制链接]
 楼主| 发表于 2014-2-12 14:50 | 显示全部楼层 |阅读模式
        采用AS5045这款12位绝对旋转编码器,请问如何确定轴是正转还是在反转啊,轴的转速不定,在100rpm以下,抖动也比较大,大概有1-2°的样子?
发表于 2014-2-12 14:59 | 显示全部楼层
输出的A、B相位编码信号不一样,根据此区分
 楼主| 发表于 2014-2-12 15:04 | 显示全部楼层
yewuyi 发表于 2014-2-12 14:59
输出的A、B相位编码信号不一样,根据此区分

不有A/B相信号。
这个是绝对值编码。。
 楼主| 发表于 2014-2-12 15:09 | 显示全部楼层
输出信号只有12位角度值+6位系统状态位。
系统状态位中不包含正反转信息,分别为:
1:偏差补偿完成
2:cordic溢出
3:线性度报警
4:磁场变大
5:磁场变小
6:奇偶校检位
发表于 2014-2-13 09:42 | 显示全部楼层
轴抖动是正常的,没有绝对的系统,不过12位有1-2°有点大,可能是机械问题
发表于 2014-2-13 14:18 | 显示全部楼层
绝对值编码器,通过前后两次读取值之差,判断运转方向。
 楼主| 发表于 2014-2-13 16:04 | 显示全部楼层
laoxu 发表于 2014-2-13 14:18
绝对值编码器,通过前后两次读取值之差,判断运转方向。

抖动呢?

由359° 转向 1°呢?
发表于 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°
发表于 2014-2-14 16:46 | 显示全部楼层
绝对值编码只要判断读数是增大还是减小就可以得到是正转还是反转了。

但要注意到最大绝对值后的输出数字反转,这就如同的MCU的定时器一样,从0上升到最大值,然后又反转到0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

180

帖子

1

粉丝
快速回复 返回顶部 返回列表