带编码器电机的转动与脉冲的读取(转速)(风扇系列1)

目录

一、材料的购买

二、如下图连线

三、了解带编码器电机的基础知识

四、代码部分


一、材料的购买

本题目作者使用Arduino的UNO开发板来完成

1.购买的是“全新微型电机365-14150电机带编码器电机平衡机器人电机DIY”根据商家的详细电机参数进行连线操作

2.“直流电机驱动板 2路电机驱动模块 DRV8833电机驱动模块 小体积”根据商家的详细DRV8833电机驱动模块参数进行连线操作

二、如下图连线

作者画得不太好请见谅。(连线很重要,如果连接不对的话就无法验证代码的准确性)

三、了解带编码器电机的基础知识

1.带编码器电机正常转动并且读取脉冲数(转速)

注意:由于驱动器没有PWM接线,则作者把驱动器的输入引脚IN1、IN2接到UNO开发板的PWM引脚,从而可以做到控制电机的转速。

电机的A、B相位是用来计算脉冲数的,每个电机每圈的脉冲数不同需根据自己的测量数据来计算转速。

  1. 2.电机的A、B相位是如何计算脉冲数的呢?

是由于电机转动带动霍尔元件转动产生磁场,通过A、B相位来接收磁场信号形成方形波通过方形波的计算来决定脉冲数。(小白可以去B站了解带编码电机转动形成的脉冲图像)

作者使用顺时针转动来计数(如上图则为电机顺时针转动产生的脉冲图像),并且使用二频法进行脉冲数计算(二频法是不够准确的,目前有一频法、二频法、四频法计算脉冲数,其中四频法最为准确)

四、代码部分

1.首先进行变量的定义:

2.其次进入Setup函数:

根据A、B相位高低电平的交替情况,使用中断的电平变化模式进行中断的书写。

3.最后进入loop函数:

设置定时器每400ms进行一次转速计算。

注意:脉冲数要及时归零,否则脉冲数将一直累加。

4.外部函数:

当2号引脚电平发生变化时脉冲数加1.

文章仅供参考,文章还有不足之处,请大佬们多多指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值