电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>TB6612FNG 电机驱动器开源分享

TB6612FNG 电机驱动器开源分享

2022-07-01 | zip | 0.03 MB | 次下载 | 免费

资料介绍

pYYBAGKxpeCAeLCZAAVALDQPXfE753.png



组件

TB6612FNG(O,C,8,EL
× 1
227CKS035M
伊利诺伊电容器
× 1
741C083510JP
× 1
Y1624350R000T9R
Vishay电阻器(Vishay Precision Group 的部门)
× 1
标头男
 
× 1

描述

TB6612FNG 电机驱动

 

TB6612FNG电机驱动器可以以 1.2A(峰值 3.2A)的恒定电流控制多达两个直流电机。两个输入信号(IN1 和 IN2)可用于以四种功能模式之一控制电机:CW、CCW、短制动和停止。两个电机输出(A 和 B)可以单独控制,每个电机的速度通过频率高达 100kHz 的 PWM 输入信号控制。应将 STBY 引脚拉高以使电机脱离待机模式。

 

poYBAGKxpfWASQwpAACHxc87BN8249.jpg

 

逻辑电源电压 (VCC) 可以在 2.7--5.5VDC 的范围内,而电机电源 (VM) 的最大电压限制为 15VDC。每个通道的额定输出电流高达 1.2A(或短单脉冲高达 3.2A)。

如图所示,这个小板安装了所有组件。两条电源线上都包含去耦电容。TB6612FNG 的所有引脚都被分成两个 0.1" 间距接头;这些引脚的排列方式是输入引脚在一侧,输出引脚在另一侧。

 

pYYBAGKxpfiAdEozAABbCpRHbF8468.png

 

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 引脚会被占用。电机连接和信号输入的防反接端口插接牢固方便。通过芯片内部的低压检测和热关断来保护电路,您无需担心破坏您的项目或损坏主控板。

特征

 

poYBAGKxpfqAFAkyAACueJQ48Xw673.jpg

 

> 采用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。

 

pYYBAGKxpfyAJjz6AABrIuxJvyg459.png

 

选择下载的zip文件并打开。SunFounder_TB6612.zip

 

 

 

步骤 2. 打开示例

打开 File -> Examples -> Sunfounder TB6612 Motor Driver -> motor,然后上传这个例子

 

poYBAGKxpf6AKty6AAB9FPD93So771.jpg

 

步骤 3. 接线

将独立电源连接到模块,如下图所示:

独立电源TB6612电机驱动VCCVMGNDGND

将 Arduino UNO 连接到模块:

Arduino UNOTB6612电机驱动器5VVCCGNDGND5MA6PWMA9MB10PWMB

将电机连接到模块:

电机TB6612电机驱动器黑线A1红线A2黑线B1红线B2

以下是接线的样子:

 

pYYBAGKxpgGAHtckAABwqiGnPvs844.png

 

示例上传后,电机会加速旋转并正向减速,然后反向重复。

您可以打开串行监视器查看输出 PWM 值的变化 - 从小到大,然后从大到小。

电机转速与PWM值呈正相关。

 

 

II 用 Raspberry pi 控制 2 个电机

步骤 1. 接线

由于电机会消耗大量功率,因此您需要为该模块提供独立的电源,以确保伺服有充足的供电

将独立电源连接到模块,如下图所示:

独立电源TB6612电机驱动VCCVMGNDGND

树莓派连接到模块:

树莓派TB6612电机驱动3.3VVCCGNDGNDGPIO17MAGPIO27PWMAGPIO18MBGPIO22PWMB

将电机连接到模块:

电机TB6612电机驱动器黑线A1红线A2黑线B1红线B2

 

树莓派的引脚:

 

poYBAGKxpgOAQJUpAAEFu_e6y08313.png

 

将伺服连接到模块:

电机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/

 

pYYBAGKxpgWAHN13AAB0I9SaGZs252.png

 

有了这个结构,就可以成功导入 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(延迟)

 

poYBAGKxpgiAE3iQAADSLChDlvs059.png

 

定义销毁():

电机A.stop()

马达B.stop()

 

如果 __name__ == '__main__':

尝试:

主要的()

除了键盘中断:

破坏()

 

按 Ctrl+X 退出,会提示保存更改,输入 Y(保存)或 N(未保存),然后按 Enter 键退出。

输入命令以运行示例:

 

python test_motor.py

 

我们仍然会看到电机加速旋转并正向减速,然后反向重复,如前所示。

附件

数据表

SunFounder_TB6612.zip

 

 

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1ATmega8芯片中文手册
  2. 2.45 MB   |  3次下载  |  1 积分
  3. 2带有集成场效应晶体管(FET) 的3.1V至5.5V输入,3A输出同步降压稳压器TPS51312数据表
  4. 1.28MB   |  3次下载  |  免费
  5. 3VGA 转 HDMI 输出的音视频采集卡LCC385数据手册
  6. 0.34 MB   |  2次下载  |  免费
  7. 4全志A527系列规格书YNH-830-V1
  8. 2.39 MB  |  2次下载  |  免费
  9. 5光伏太阳能电池板可编程最大功率点跟踪控制器SM72442数据表
  10. 373.53KB   |  2次下载  |  免费
  11. 6传感芯片选型指南
  12. 3.60 MB   |  2次下载  |  免费
  13. 7高效1.5MHz 1.2A同步降压稳压器PL5900A数据手册
  14. 3.26 MB   |  1次下载  |  免费
  15. 810 A 12-V输入非隔离降压开关电源模块PTH12060数据表
  16. 1.11MB   |  1次下载  |  免费

本月

  1. 1ES9038PRO解码芯片的电路原理图介绍
  2. 0.25 MB   |  33次下载  |  5 积分
  3. 2DC-DC电路(Buck)的设计与仿真
  4. 0.60 MB   |  24次下载  |  2 积分
  5. 3UHD智能显示SoC VS680产品简介
  6. 0.46 MB   |  11次下载  |  免费
  7. 4STM32国内外发展现状
  8. 1.15 MB   |  8次下载  |  免费
  9. 5采用 Impedance Track™ 技术的宽量程电量监测计BQ34Z100-G1数据表
  10. 2.7MB   |  7次下载  |  免费
  11. 6TDK电容器产品指南
  12. 11.88 MB   |  7次下载  |  1 积分
  13. 7电池管理系统(BMS)软硬件介绍
  14. 0.23 MB   |  6次下载  |  2 积分
  15. 816A 输出电流,高可靠、高效率 同步降压转换器PCD3201产品手册
  16. 0.47 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935085次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420049次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191315次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183316次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73786次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费