赞
踩
最近趁着有时间将这两个模块总结一下,做智能小车很有用。
另外也附有大神的博客和视频讲解
下面的操作不需要代码,只需要给高低电平就可以,弄懂下面的原理你也可以用代码操作。(文末有代码链接)
1.TB6612FNG直流电机控制:
VM直接接12V电池即可,VCC是内部的逻辑供电,一般给3.3v或者5v都行,模块的3个GND接任意一个就行(我用了两个,往下看)。STBY置高(给3.3V)模块才能正常工作。
上图中红色的部分的5个引脚控制一路电机,蓝色部分控制另一路电机,这里以A路为例。
A01和A02分别接电机的+和-
AIN1和AIN2分别给高电平和低电平
下面是电机真值表:
下面我说一下我自己的接线方式,仅供参考:
<1>VM和GND连接外给12V电源,形成一个回路,使模块正常工作
<2>VCC和另外一个GND接单片机的3.3V和GND(因为是测试,所以我用的USB给单片机供电),使模块和单片机形成回路
<3>AIN1接3.3V、AIN2接GND
如下图(先忽略PWMA接线,因为这个用到了代码),这样模块再连接电机,就可以转动了。
如果想实现PWM调速,程序配置好,然后用一个PWM通道就可以进行测试, 我用的是TIM1的通道1(PA8)来控制电机转动的占空比。
// A code block
注意:PWM信号输入频率一般10KHZ即可
10KHZ怎么设置:TIM1_PWM_Init(99,71); PWM频率=72000000/(71+1)/(99+1)=10KHZ
即:arr=99 psc=71
基本就是这些,如果想要了解更深的相关知识,请参考大佬博主的博客:
链接: TB6612FNG详细介绍
2.L298N直流电机控制
我先简单的说一下各部分名称。
①输出A、输出B各接一个电机
②在板载5V跳线帽插入的时候,12V和GND分别接外给电源的12V和GND(可以接7~12V),同时最右边输出的5V(和GND)可以给单片机供电,当你用输出的5V供电时,要保证单片机和模块供地,也就是模块的GND得分出两路来。
③逻辑输入的4个引脚,分别给“高电平和GND”控制2个电机
这样电机就可以转动了。
<1>正反转实现如下
即给IN1、IN2高低电平,大家应该都明白。
注:当发现电机不转的时候
第一先保证你的输入电压是不是在7~12V
第二如果你用的是L298N给单片机供电,检查单片机是否和L298N共地了
<2>PWM调速
在上面实现电机转动的基础上,将通道A使能跳线帽拔掉,接单片机的PWM信号引脚,我用的是TIM1的通道1(PA8),来控制电机转动的占空比。(代码文末有链接)
<3>那么还有一个板载5V使能是怎么回事那?
当这个跳线帽插上的时候,最右边可以输出一路5V的电压,给单片机或者其
他模块供电;
但是当外给电压超过12V(12~24V)的时候,因为电压超过12V了,这时候需要拔掉这个跳线帽,并且需要再从外面输入一路5V的电压给L298N。麻烦把,所以咱们一般用不到这一方面,知道就可以了。
下面是我的接线:
// A code block
橙色的就是接的PA8,另外紫色和灰色分别给3.3V和GND,因为是测试
所以我的单片机是用USB供电。
好了,就写到这里了,本人的只是水平也有限,如果大家发现什么错误,欢迎大家指正。
附:
链接: 一个很详细的视频
链接: PWM实现电机正反转
提取码:379g
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。