TB6612FNG(O,C,8,EL
东芝
|
× 1 |
227CKS035M
伊利诺伊电容器
|
× 1 |
741C083510JP
CTS电阻器产品
|
× 1 |
Y1624350R000T9R
Vishay 箔电阻器(Vishay Precision Group 的部门)
|
× 1 |
标头男
|
× 1 |
TB6612FNG电机驱动器可以以 1.2A(峰值 3.2A)的恒定电流控制多达两个直流电机。两个输入信号(IN1 和 IN2)可用于以四种功能模式之一控制电机:CW、CCW、短制动和停止。两个电机输出(A 和 B)可以单独控制,每个电机的速度通过频率高达 100kHz 的 PWM 输入信号控制。应将 STBY 引脚拉高以使电机脱离待机模式。
逻辑电源电压 (VCC) 可以在 2.7--5.5VDC 的范围内,而电机电源 (VM) 的最大电压限制为 15VDC。每个通道的额定输出电流高达 1.2A(或短单脉冲高达 3.2A)。
如图所示,这个小板安装了所有组件。两条电源线上都包含去耦电容。TB6612FNG 的所有引脚都被分成两个 0.1" 间距接头;这些引脚的排列方式是输入引脚在一侧,输出引脚在另一侧。
TB6612电机驱动模块采用TB6612FNG作为驱动芯片,具有大电流(1.2A连续电流),双通道输出,MOSFET-H桥结构,可驱动两台电机。电机电压和模块的工作电压是分开的——模块的 VCC:2.7 V 到 5.5 V,电机的 VM:15V(最大值)。但电机的最佳工作电压为2.5V-13.5V,低于2.5V时无法工作。
容易控制,通过设置MA和MB的高低电平可以控制两个舵机的正反转,PWMA和PWMB是控制电机转速的;因此,只有 4 个 I/O 引脚会被占用。电机连接和信号输入的防反接端口插接牢固方便。通过芯片内部的低压检测和热关断来保护电路,您无需担心破坏您的项目或损坏主控板。
特征
> 采用TB6612FNG电机驱动芯片,最大输出电流1.2A。
> 接线牢固方便,电机连接和信号输入均带有防反接端口。
> 简单控制:同时控制两台电机 - MA 和 MB 控制电机方向,PWMA 和 PWMB 控制转速。
> 双电源。模块的 VCC:2.7-5.5 V,电机的 VM:15V(最大)。
> 小巧轻便,带3mm安装孔,适用于智能汽车。
> 内置热关断电路和低电压检测。
> 尺寸:42 x 32 毫米
实验测试
我用 Arduino 驱动 2 个电机
驱动 2 个电机加速和减速。
成分
-1 x TB6612 电机驱动器
-1 x Arduino Uno
-1 x 电机
-1 x 18650 电池座
-2 x 18650 锂电池
- 几根跳线
步骤 1. 安装库
打开 Arduino 软件,选择 Sketch -> Include Library -> Add .ZIP Library。
选择下载的zip文件并打开。SunFounder_TB6612.zip
步骤 2. 打开示例
打开 File -> Examples -> Sunfounder TB6612 Motor Driver -> motor,然后上传这个例子
步骤 3. 接线
将独立电源连接到模块,如下图所示:
独立电源TB6612电机驱动VCCVMGNDGND
将 Arduino UNO 连接到模块:
Arduino UNOTB6612电机驱动器5VVCCGNDGND5MA6PWMA9MB10PWMB
将电机连接到模块:
电机TB6612电机驱动器黑线A1红线A2黑线B1红线B2
以下是接线的样子:
示例上传后,电机会加速旋转并正向减速,然后反向重复。
您可以打开串行监视器查看输出 PWM 值的变化 - 从小到大,然后从大到小。
电机转速与PWM值呈正相关。
II 用 Raspberry pi 控制 2 个电机
步骤 1. 接线
由于电机会消耗大量功率,因此您需要为该模块提供独立的电源,以确保伺服有充足的供电。
将独立电源连接到模块,如下图所示:
独立电源TB6612电机驱动VCCVMGNDGND
将树莓派连接到模块:
树莓派TB6612电机驱动3.3VVCCGNDGNDGPIO17MAGPIO27PWMAGPIO18MBGPIO22PWMB
将电机连接到模块:
电机TB6612电机驱动器黑线A1红线A2黑线B1红线B2
树莓派的引脚:
将伺服连接到模块:
电机TB6612电机驱动器黑线A1红线A2黑线B1红线B2
步骤 2. 建立您的项目:
通过 ssh 登录树莓派,从 Github 复制 TB6612 仓库:
git 克隆 https://github.com/sunfounder/SunFounder_TB6612.git
复制后,您将获得 TB6612 的 Python 包。将其导入Python程序中,即可使用。
这是一个简单的例子:
1.创建一个新文件:
mkdir test_TB6612/
2. 将包复制到文件中:
cd test_TB6612
cp –r /home/pi/SunFounder_TB6612 ./
3.创建代码文件
触摸 test_motor.py
这里你的程序的文件结构是这样的:
测试_TB6612/
有了这个结构,就可以成功导入 Python 文件了。
接下来,让我们看看如何控制电机。
步骤 3. 驱动电机的代码
纳米 test_motor.py
输入以下代码:
#!/usr/bin/env python
进口时间
从 SunFounder_TB6612 导入 TB6612
导入 RPi.GPIO 作为 GPIO
定义主():
进口时间
打印 ”********************************************”
打印 ”* *”
print "* SunFounder TB6612 *"
打印 ”* *”
print "* 将 MA 连接到 BCM17 *"
print "* 将 MB 连接到 BCM18 *"
print "* 将 PWMA 连接到 BCM27 *"
print "* 将 PWMB 连接到 BCM22 *"
打印 ”* *”
打印 ”********************************************”
GPIO.setmode(GPIO.BCM)
GPIO.setup((27, 22), GPIO.OUT)
a = GPIO.PWM(27, 60)
b = GPIO.PWM(22, 60)
一开始(0)
b.开始(0)
def a_speed(值):
a.ChangeDutyCycle(值)
def b_speed(值):
b.ChangeDutyCycle(值)
电机A = TB6612.电机(17)
电机B = TB6612.电机(18)
motorA.debug = True
motorB.debug = True
motorA.pwm = a_speed
motorB.pwm = b_speed
延迟 = 0.05
电机A.forward()
对于范围内的 i (0, 101):
电机A.速度=我
time.sleep(延迟)
对于范围内的 i (100, -1, -1):
电机A.速度=我
time.sleep(延迟)
motorA.backward()
对于范围内的 i (0, 101):
电机A.速度=我
time.sleep(延迟)
对于范围内的 i (100, -1, -1):
电机A.速度=我
time.sleep(延迟)
motorB.forward()
对于范围内的 i (0, 101):
电机B.速度=我
time.sleep(延迟)
对于范围内的 i (100, -1, -1):
电机B.速度=我
time.sleep(延迟)
motorB.backward()
对于范围内的 i (0, 101):
电机B.速度=我
time.sleep(延迟)
对于范围内的 i (100, -1, -1):
电机B.速度=我
time.sleep(延迟)
定义销毁():
电机A.stop()
马达B.stop()
如果 __name__ == '__main__':
尝试:
主要的()
除了键盘中断:
破坏()
按 Ctrl+X 退出,会提示保存更改,输入 Y(保存)或 N(未保存),然后按 Enter 键退出。
输入命令以运行示例:
python test_motor.py
我们仍然会看到电机加速旋转并正向减速,然后反向重复,如前所示。
附件
数据表
SunFounder_TB6612.zip
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !