找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3122|回复: 6
收起左侧

51单片机是怎么判断电机编码器的AB相谁先谁后从而判断正转和反转呢

[复制链接]
ID:928549 发表于 2021-8-5 20:22 | 显示全部楼层 |阅读模式
目前在做一辆四驱车,通过左右轮正转和反转的方式来实现转向,我可以不可以只判断一组左右轮来判断方向呢,如果要判断轮子正反转,怎么判断脉冲先后,目前用的是外部中断对脉冲计数,由于4个轮子,8个相位,还用了一部分的定时器中断
回复

使用道具 举报

ID:928549 发表于 2021-8-6 08:44 | 显示全部楼层
我想了一下,其实没必要对所有的脉冲都计数,我查了一下,判断AB相时,两者相位相差90度,若a相为下降沿触发外部中断,这时我我只需检查b相是高电平还是低电平就可以判断正反转了
回复

使用道具 举报

ID:752974 发表于 2021-8-6 10:18 | 显示全部楼层
可以加一个判向单元,一个D触发器既可以了。两路脉冲数量是相等的,用任一路计数均可。
回复

使用道具 举报

ID:928549 发表于 2021-8-6 10:41 | 显示全部楼层
munuc_w 发表于 2021-8-6 10:18
可以加一个判向单元,一个D触发器既可以了。两路脉冲数量是相等的,用任一路计数均可。

我明白了C:\Users\10935\Desktop
假如A相接D,B相接clk(上升沿触发),每次触发时,若A相先于B相,A相都处于高电平,输出高电平,反之为低电平
十分感谢
回复

使用道具 举报

ID:928549 发表于 2021-8-6 10:44 | 显示全部楼层
1.png
回复

使用道具 举报

ID:161164 发表于 2021-8-6 14:03 | 显示全部楼层
回复

使用道具 举报

ID:928549 发表于 2021-8-6 14:35 | 显示全部楼层
lkc8210 发表于 2021-8-6 14:03
可以参考一下我的贴子:一定位一脉冲的EC11旋转编码器最简洁的单片机驱动代码

嗯嗯,受益匪浅,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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