stm32学习探究:利用TB6612驱动直流电机

直流电机的驱动

最简单的让直流电机转起来的方法是:直流电机的两个引脚,一个接高电平,一个接低电平。
但是今天,我们总结的是用stm32mini开发板产生的PWM来控制电机,使得电机的速度有个肉眼可见的变化。

TB6612驱动模块

TB6612FNG是东芝半导体公司生产的一款直流电机驱动模块,它是基于MOSFET的H桥集成电路,效率比晶体管的H桥高很多。重要的是TB6612FNG是双通道输出,也就是说,它可以独立双向控制两个直流电机。举个例子:假设,我们搭建一个双轮的小车,想要TB6612FNG来驱动,只需要一个TB6612模块就可以。下来,我们看一下其实物图、引脚图,以及真值表。

  • 实物图
    在这里插入图片描述

  • 引脚图
    在这里插入图片描述
    TB6612的引脚说明

引脚名称说明
PWMAA电机控制信号输入端
AIN2A电机输入端2
AIN1A电机输入端1
YSTB正常工作/待机状态控制端
BIN1B电机输入端1
BIN2B电机输入端2
PWMBB电机控制信号输入端
GND接地
VM电机驱动电压输入端(4.5V~15V)
VCC逻辑电平输入端(2.7V~5.5V)
GND接地
AO1A电机输出端1
AO2A电机输出端2
BO2B电机输出端2
BO1B电机输出端1
GND接地

注意:
TB6612中A和B各为驱动一组电机的输入端和输出端。

  • 真值表(直流电机的驱动状态)
    注意:
    该驱动模块为高电平时有效,否则,直流电机处于停止状态。
IN1IN2直流电机的状态
00制动
01正转
10反转
11制动
  • TB6612的正转反转原理
    TB6612FNG是基于MOSFET组成的H桥驱动电路(MOSFET的功能和三极管比较相似,所以按照三极管去理解它的导通情况),下面是我在查资料时候,在网上找的一个图,觉得很能说明问题,所以,我就偷个懒。

在这里插入图片描述

直流电机的驱动

下面我们介绍一下使用TB6612来驱动直流电机的方法。(以A电机为例,B电机同理)

  • 代码的编写
    其实,其实代码和之前写的呼吸灯并没有差异,当时配置通道对应的是PA7引脚,所以我们将PA7引脚插在A电机的控制信号输入引脚,即PWMA上。然后再初始化stm32mini开发板上的两个GPIO口,并使其中一个为高电平,一个为低电平,到时候接到直流电机的AIN1,AIN2上,对应的电机转动状态见上面的表格(我初始化了PA14和PA15两个引脚,到时候连接在A电机的输入端)。
    在这里插入图片描述
    下面,我们附带之前呼吸灯的链接。
    https://blog.csdn.net/jianbai_/article/details/101313546
    (2)硬件的连接
    在这里插入图片描述
    按照以上两个部分操作后,我们将程序烧录到stm32mini开发板上后,就可以去观察直流电机变速的转动了。

总结

需要注意的是,有的时候,PWM的在一定范围变化时,电机的速度变化并不明显,所以不要一味的以为自己的程序或者电机有问题了,可以多试几个值,或者,我们使用一个灯泡试试(即:呼吸灯)。还需要注意的是,如果PWM接3.3~3.5V时,相当于满占空比,所以电机会一直按照你连接的正转/反转方式转下去。

  • 55
    点赞
  • 260
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值