完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
描述
TB6612FNG 电机驱动器 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 我们仍然会看到电机加速旋转并正向减速,然后反向重复,如前所示。
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
9582 浏览 0 评论
8946 浏览 0 评论
13332 浏览 0 评论
4396 浏览 0 评论
4647 浏览 0 评论
361浏览 1评论
496浏览 1评论
IPC-6012E CN 2020中文 CN 刚性印制板的鉴定及性能规范
593浏览 1评论
391浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 07:45 , Processed in 1.092271 second(s), Total 44, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号