arduino-drv8833模块的使用

与TB6612相似,DRV8833作为一种常见的电机驱动模块,经常被用组成各种小车的动力系统,DRV8833模块的使用并非难事,但是在我初次接触DRV8833时,确实遇到了一点小小的困难,那么这期教程让我们一起来看一下DRV8833的使用吧

本次教程使用的硬件有:

  1. Arduino 开发板 1个
  2. 面包板 1个
  3. DRV8833模块 1个
  4. 直流电机 1个
  5. 杜邦线 若干

(由于模拟软件中没有DRV8833,所以图片中用H桥电机驱动器替代了下)

图片[1]-arduino-drv8833模块的使用-给我资源

在正式开始教程之前,我们需要认识一下DRV833的各个引脚

DRV8833共有16个引脚,让我们分开来认识他们。
首先是最常见的电源引脚,接地引脚
右上角VM为芯片和电机供电脚,电压范围为2.7V-10.8V
所有的GND均为接地引脚
NC为空引脚,没什么用处

图片[2]-arduino-drv8833模块的使用-给我资源

AIN1是AO1的逻辑输入控制脚,电压0-5V
AIN2是AO2的逻辑输入控制脚,电压0-5V
BIN1是BO1的逻辑输入控制脚,电压0-5V
BIN2是BO2的罗技输入控制脚,电压0-5V
AO1、AO2是1路H桥输出端口,接一个直流电机的两脚
BO1、BO2是2路H桥输出端口,接另一个直流电机的两脚

图片[3]-arduino-drv8833模块的使用-给我资源

有一个特殊的引脚是STBY脚,如果该引脚接地或者是悬空(什么都不接),那么芯片将不会工作;如果想让芯片工作,需要将该引脚接入5V

图片[4]-arduino-drv8833模块的使用-给我资源

在认识了基本的引脚后,我们还需要掌握下面一张表,这样才能更好的理解DRV8833的工作方式。这个表简单来说,我们只需要看前两列与最后一列,0可以视为低电平,1可以视为高电平;两种高低电平的组合可以实现最后一列的功能。例如AIN1口为低电平,AIN2口为高电平,那么AO所接的电机就会反转。需要注意的是,此时电机速度是最高速度,我们不能进行速度调控。

图片[5]-arduino-drv8833模块的使用-给我资源

其实正反我个人认为不需要严格区分,毕竟真正接上马达后可以自己调试

在基本了解了DRV883的工作方式以后,我们就可以开始正式使用它来
了。首先按照接线。(由于模拟软件没有内置DRV8833,因此没模拟图)
1个VM脚、1个STBY脚接5V
3个GND脚接地
AIN1接8
AIN2接9
AOI、AO2接电机两脚

图片[6]-arduino-drv8833模块的使用-给我资源

完成接线后,我们打开IDE写一个简单的电机控制程序

图片[7]-arduino-drv8833模块的使用-给我资源

首先定义AIN1.2的接口,同时将这两个接口设置为输出模式

图片[8]-arduino-drv8833模块的使用-给我资源

接着将AIN1设置为高电平,AIN2设置为低电平
也就是AIN为1,AIN2为0

图片[9]-arduino-drv8833模块的使用-给我资源

那么按照表格中的信息,我们可以了解到电机可能会转动起来,烧录后电机果然以较高的速度旋转了起来。那么我们本期教程也就结束了

两点说明:1.为了演示方便,本教程仅仅接入了一个直流电机,理论上一个DRV8833可以驱动两个甚至四个直流电机
2.若想控制速度,请参考下图

图片[10]-arduino-drv8833模块的使用-给我资源
THE END
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容