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

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

3天内不再提示

Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南

chencui 2026-05-11 09:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南

在电子工程领域,电机驱动是一个常见且重要的应用场景。今天我们来详细介绍一下 Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board,这是一款功能强大且易于使用的电机驱动板。

文件下载:2448.pdf

一、概述

TB6612 驱动板可以驱动四个螺线管、两个直流电机,或者一个双极或单极步进电机,每个通道的电流可达 1.2A。它是 Adafruit Motorshield 和 Motor HAT 中使用的驱动芯片。这款驱动板将 TB6612 芯片焊接在一个 breakout 板上,在电机电压输入处设有极性保护 FET,“待机” 使能引脚有上拉电阻。每个芯片包含两个全桥(四个半桥),意味着它有很强的驱动能力。不过要注意,芯片的电流限制为 1.2A,虽然能承受 3A 的峰值电流,但只能持续约 20 毫秒。另外,它内部集成了反激二极管,能避免感应反冲损坏项目或驱动板。

该驱动板的逻辑电压范围是 2.7V - 5V,电机电压范围是 4.5V - 13.5V,不太适合 3V 电机。购买时附带一个组装并测试好的 breakout 板和一小条引脚头,需要进行简单的焊接操作将引脚头连接到 breakout PCB 上,不过 Arduino、电机和电源需要自己准备。

二、引脚定义

电源引脚

  • Vmotor:电机电压输入,范围在 4.5V - 13.5V。由于电源会产生噪声,如果系统中有模拟读数或对射频等噪声敏感的部件,可能需要将电源分开或进行滤波处理。
  • Vcc:逻辑电压输入,可设置为微控制器使用的逻辑电压,例如 Arduino 一般使用 5V,范围是 2.7V - 5.5V,适用于 3V 或 5V 逻辑。
  • GND:逻辑和电机的公共地,所有地都连接在一起。

信号输入引脚

这些引脚都是 “Vcc 逻辑电平” 输入:

  • INA1、INA2:电机 A 桥的两个输入。
  • PWMA:电机 A 桥的 PWM 输入,如果不需要 PWM 控制,将其连接到逻辑高电平。
  • INB1、INB2:电机 B 桥的两个输入。
  • PWMB:电机 B 桥的 PWM 输入,如果不需要 PWM 控制,将其连接到逻辑高电平。
  • STBY:待机引脚,通过一个 10K 电阻上拉到 Vcc,连接到地可禁用两个电机。

电机输出引脚

这些是 “Vmotor 电平” 的功率输出:

  • Motor A:电机 A 的两个输出,由 INA1、INA2 和 PWMA 控制。
  • Motor B:电机 B 的两个输出,由 INB1、INB2 和 PWMB 控制。

三、组装步骤

准备引脚头

如果需要,将引脚头切割到合适的长度。把引脚头插入面包板,长引脚朝下,这样焊接会更容易。

添加 breakout 板

将 breakout 板放在引脚上,使短引脚穿过 breakout 板的焊盘。

焊接

确保焊接所有引脚,以实现可靠的电气连接。如果对焊接不太熟悉,可以参考 Adafruit 的《Guide to Excellent Soldering》(https://adafru.it/aTk)。

四、Arduino 使用步进电机

接线

以推荐的 12V 电机电压、每转 200 步的双极步进电机为例,将其连接到 Metro 微控制器(也可以使用其他微控制器):

  • Vmotor 连接到 12V(红色线)
  • Vcc 连接到 5V(橙色线)
  • GND 连接到地
  • AIN2 连接到数字引脚 4
  • AIN1 连接到数字引脚 5
  • BIN1 连接到数字引脚 6
  • BIN2 连接到数字引脚 7
  • PWMA 和 PWMB 连接到 Vcc(橙色线)

然后将一个步进电机的一个线圈连接到 Motor A(红色和黄色线),另一个线圈连接到 Motor B(绿色和灰色/棕色线)。如果电机振动但不旋转,检查所有电线连接,尝试交换一对电线或重新检查线对。如果是单极电机,会有第 5 或第 6 根线是 “公共” 线,将这些线连接到 breakout 板上 Motor A 和 B 输出之间的 GND 引脚。

软件

使用 Arduino 的内置 Stepper 库(https://adafru.it/eRw),示例代码如下

#include < Stepper.h >
#define STEPS 200
Stepper stepper(STEPS, 4, 5, 6, 7);

void setup() {
  Serial.begin(9600);
  Serial.println("Stepper test!");
  stepper.setSpeed(60);
}

void loop() {
  Serial.println("Forward");
  stepper.step(STEPS);
  Serial.println("Backward");
  stepper.step(-STEPS);
}

创建 Stepper 对象后,可以使用 setSpeed(rpm) 设置转速(单位:RPM),使用 step(steps) 控制步进,steps 为正表示正向,为负表示反向。更多详细信息可查看 Stepper 库文档。

五、Python & CircuitPython 使用步进电机

CircuitPython 微控制器接线

以 Metro M4 为例,需要插入 9V 电源到 Metro 的桶形插孔,并确保开关处于 “on” 状态,为步进电机提供足够的电源。连接方式如下:

  • 板的 VM 连接到 Metro 的 VIN
  • 板的 GND 连接到 Metro 的 GND
  • 板的 VCC 连接到面包板电源轨
  • 板的 PWMB 连接到面包板电源轨
  • 板的 BIN2 连接到 Metro 的 D12
  • 板的 BIN1 连接到 Metro 的 D11
  • 板的 AIN1 连接到 Metro 的 D9
  • 板的 AIN2 连接到 Metro 的 D10
  • 板的 PWMA 连接到面包板电源轨
  • 面包板电源轨连接到 Metro 的 5V
  • 板的 MOTORA(两个引脚)连接到步进电机线圈(红色和黄色线)
  • 板的 MOTORB(两个引脚)连接到步进电机线圈(绿色和灰色线)
  • 9V 电源连接到 Metro 的桶形插孔

Python 计算机接线

以 Raspberry Pi 为例,Raspberry Pi 不能为步进电机提供足够的电源,需要使用 9V 电源为驱动板供电。连接方式如下:

  • 板的 VM 连接到桶形插孔的正极端
  • 板的 GND 连接到桶形插孔的负极端
  • 桶形插孔连接到 9V 电源
  • 板的 VCC 连接到面包板电源轨
  • 板的 GND 连接到 Pi 的 GND
  • 板的 PWMB 连接到面包板电源轨
  • 板的 BIN2 连接到 Pi 的 D21
  • 板的 BIN1 连接到 Pi 的 D20
  • 板的 AIN1 连接到 Pi 的 D19
  • 板的 AIN2 连接到 Pi 的 D26
  • 板的 PWMA 连接到面包板电源轨
  • 面包板电源轨连接到 Pi 的 3.3V
  • 板的 MOTORA(两个引脚)连接到步进电机线圈(红色和黄色线)
  • 板的 MOTORB(两个引脚)连接到步进电机线圈(绿色和灰色线)

CircuitPython 电机库安装

首先确保运行的是 Adafruit CircuitPython 的最新版本(https://adafru.it/Em8),然后从 Adafruit 的 CircuitPython 库包(https://adafru.it/ENC)中找到并安装 adafruit_motor 库。确保板的 lib 文件夹或根文件系统中有 adafruit_motor 文件夹。

Python 电机库安装

需要安装 Adafruit_Blinka 库,可能还需要在平台上启用 I2C 并确保运行的是 Python 3。根据不同平台,可参考《CircuitPython on Linux》指南(https://adafru.it/BSN)进行准备。安装完成后,在命令行运行 pip3 install adafruit-circuitpython-motor

CircuitPython & Python 使用示例

以下是控制步进电机的代码示例,将其保存为 code.py 到 CIRCUITPY 驱动器

# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
import time
import board
import digitalio
from adafruit_motor import stepper

DELAY = 0.01
STEPS = 200

# 微控制器使用
coils = (
    digitalio.DigitalInOut(board.D9),  # A1
    digitalio.DigitalInOut(board.D10), # A2
    digitalio.DigitalInOut(board.D11), # B1
    digitalio.DigitalInOut(board.D12)  # B2
)
# Raspberry Pi 使用
# coils = (
#     digitalio.DigitalInOut(board.D19), # A1
#     digitalio.DigitalInOut(board.D26), # A2
#     digitalio.DigitalInOut(board.D20), # B1
#     digitalio.DigitalInOut(board.D21)  # B2
# )

for coil in coils:
    coil.direction = digitalio.Direction.OUTPUT

motor = stepper.StepperMotor(coils[0], coils[1], coils[2], coils[3], microsteps=None)

for step in range(STEPS):
    motor.onestep()
    time.sleep(DELAY)

for step in range(STEPS):
    motor.onestep(direction=stepper.BACKWARD)
    time.sleep(DELAY)

for step in range(STEPS):
    motor.onestep(style=stepper.DOUBLE)
    time.sleep(DELAY)

for step in range(STEPS):
    motor.onestep(direction=stepper.BACKWARD, style=stepper.DOUBLE)
    time.sleep(DELAY)

for step in range(STEPS):
    motor.onestep(style=stepper.INTERLEAVE)
    time.sleep(DELAY)

for step in range(STEPS):
    motor.onestep(direction=stepper.BACKWARD, style=stepper.INTERLEAVE)
    time.sleep(DELAY)

motor.release()

代码中,首先导入必要的库,设置每个电机控制语句之间的延迟时间 DELAY 和每个控制块使用的步数 STEPS。然后设置驱动板使用的引脚,根据实际使用的设备(微控制器或 Raspberry Pi)选择相应的引脚。将所有引脚设置为输出,并实例化电机对象。最后,使用 onestep() 方法控制电机的步进。你可以根据需要调整代码中的参数,以实现不同的电机控制效果。

六、下载资源

总之,Adafruit TB6612 驱动板为电机控制提供了一个方便、可靠的解决方案。无论是使用 Arduino 还是 Python/CircuitPython,都能轻松实现步进电机的控制。大家在实际使用过程中,不妨多尝试不同的参数和控制方式,看看能实现哪些有趣的效果呢?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 步进电机
    +关注

    关注

    153

    文章

    3277

    浏览量

    152905
  • 电机驱动板
    +关注

    关注

    0

    文章

    28

    浏览量

    3636
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DC Motor Driver 2x15A Lite (SKU: DRI0018):一款实用的直流电机驱动模块

    DC Motor Driver 2x15A Lite (SKU: DRI0018):一款实用的直流电机驱动模块 在电子工程领域,电机驱动模块是实现各种电机控制的关键组件。今天要给大家介
    的头像 发表于 05-14 09:15 792次阅读

    Adafruit PDM Microphone Breakout:电子工程师的新宠

    Adafruit PDM Microphone Breakout:电子工程师的新宠 在电子设计领域,一款优秀的麦克风对于音频相关项目至关重要。今天,我们要介绍的是 Adafruit PDM
    的头像 发表于 05-11 12:50 150次阅读

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模块

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模块 在电子设计领域,GPS模块是实现
    的头像 发表于 05-11 10:50 264次阅读

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board - 电子工程师的实用之选

    Adafruit DRV8833 DC/Stepper Motor Driver Breakout
    的头像 发表于 05-11 10:15 317次阅读

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而强大的音频利器

    Adafruit Silicon MEMS Microphone Breakout - SPW2430:小巧而强大的音频利器 在电子设计领域,音频采集是一个常见且重要的应用场景。今天要给大家介绍一款
    的头像 发表于 05-11 09:40 342次阅读

    Adafruit Audio FX Mini Sound Board - 便捷音频解决方案

    Adafruit Audio FX Mini Sound Board - 便捷音频解决方案 引言 在电子项目中,添加音频或音效是一个常见的需求。但对于那些不想使用Arduino和扩展板,或者不太了解
    的头像 发表于 05-11 09:25 351次阅读

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物联网利器

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物联网利器 在物联网应用日益广泛的今天,集成多种功能的设备变得越来越重要。Adafruit FONA
    的头像 发表于 05-11 09:20 380次阅读

    探索Adafruit FT232H Breakout:多功能串口协议扩展板的使用指南

    探索Adafruit FT232H Breakout:多功能串口协议扩展板的使用指南 在电子设计领域,我们常常希望计算机能够直接与各种设备和传感器进行通信,而Adafruit FT23
    的头像 发表于 05-11 09:10 353次阅读

    Adafruit MicroLipo 和 MiniLipo 电池充电器使用指南

    Adafruit MicroLipo 和 MiniLipo 电池充电器使用指南 在电子项目中,摆脱电源束缚,使用电池供电是常见需求。而锂聚合物(LiPo)和锂离子(LiIon)电池凭借高能量密度
    的头像 发表于 05-11 09:05 186次阅读

    Adafruit AGC Electret Microphone Amplifier - MAX9814 评测与使用指南

    Adafruit AGC Electret Microphone Amplifier - MAX9814 评测与使用指南 一、概述 在音频领域,自动增益控制(AGC)是极为重要的特性,它能显著提升
    的头像 发表于 05-10 16:15 701次阅读

    Adafruit 1-Wire GPIO Breakout - DS2413 开发板使用指南

    Adafruit 1-Wire GPIO Breakout - DS2413 开发板使用指南 在微控制器的世界里,引脚资源常常十分宝贵。有时候,我们仅仅需要一两个额外的引脚,但又不想更换更大的开发板
    的头像 发表于 05-10 16:05 297次阅读

    Adafruit MicroLipo和MiniLipo电池充电器使用指南

    Adafruit MicroLipo和MiniLipo电池充电器使用指南 在电子项目中,摆脱电源束缚,使用电池供电是常见需求。而锂聚合物(LiPo)和锂离子(LiIon)电池凭借高能量密度、大电流
    的头像 发表于 05-10 15:50 266次阅读

    TPS62080/TPS62080A 1.2A 高效降压转换器评估指南

    TPS62080/TPS62080A 1.2A 高效降压转换器评估指南 在电子设计领域,高效的电源管理芯片是众多项目的核心需求。德州仪器(TI)的 TPS62080 和 TPS62080A
    的头像 发表于 04-25 12:50 397次阅读

    1.2A、20V非同步降压调节器评估板使用指南

    1.2A、20V非同步降压调节器评估板使用指南 一、引言 在电子设计中,降压调节器是常见且关键的元件。ADP2300/ADP2301评估板为我们提供了一个便捷的平台,用于评估1.2A、20V非同
    的头像 发表于 03-31 10:15 405次阅读

    TB6612FNG原理数据手册

    电子发烧友网站提供《TB6612FNG原理数据手册.pdf》资料免费下载
    发表于 08-04 14:57 9次下载