中级
30 分钟

通过使用TB67H400AFTG和STM32F302VC在每个有刷应用中实现卓越性能

释放电机的真正潜力

DC MOTOR 7 Click with CLICKER 4 for STM32F302VCT6

已发布 7月 22, 2025

点击板

DC MOTOR 7 Click

开发板

CLICKER 4 for STM32F302VCT6

编译器

NECTO Studio

微控制器单元

STM32F302VC

抓住机会优化您的电动系统。使用此解决方案的替代模式并行使用H桥,获得双倍功率!

A

A

硬件概览

它是如何工作的?

DC MOTOR 7 Click基于Toshiba Semiconductor的TB67H400AFTG,这是一种PWM斩波型有刷直流电机驱动器。该IC使用专有的BiCD制造工艺,允许该IC由广泛的电源电压供电,从10V到47V。由于MOSFET的导通电阻非常低,TB67H400AFTG可以向连接负载提供高达4A的电流。然而,许多外部参数影响最大电压和电流规格,特别是当连接负载复杂时,如直流电机。该IC提供一种替代模式,可以将其内部的H桥并联使用,为单个电机提供双倍功率。在尝试连接单个有刷直流电机之前,请参考TB67H400AFTG的数据表以获取精确的连接说明。DC MOTOR 7 Click需要外部电源才能运行。最佳电压为24V。虽然TB67H400AFTG驱动器具有热保护和过流保护,但这只是临时措施。输出端子上的短路可能会损坏Click板™。有两个输出端子用于连接直流电机和一个电源输入端子,可以连接外部电源,遵循Click板™本身(底部)的极性标记。有刷直流电机通常只有两个导体来为电机供电,因此即使控制方向在某些情况下也具有挑战

性。因此,需要专用的驱动电路。TB67H400AFTG利用两个感应电阻器(每个通道一个)和内部生成的PWM信号来调节电机的电流。这带来了更高的效率和更少的热量散发,并提供对电机扭矩、方向和速度的控制。每个电机由内部H桥驱动,H桥由TB67H400AFTG IC的控制逻辑部分控制。电机控制逻辑部分通过打开和关闭H桥的特定MOSFET来调节电流,使电流在一定点上升(充电),在线圈和驱动器之间循环直到达到指定时间点(慢衰减),然后将剩余能量返回电源(快衰减)。整个循环由内部振荡器产生的PWM信号的脉冲计时。TB67H400AFTG向微控制器(MCU)暴露了六个控制引脚:PWMA、PWMB、INA1、INA2、INB1和INB2。通过改变这些引脚上的逻辑状态,MCU可以独立控制两个连接的电机。除了操作模式的详细解释外,TB67H400AFTG数据表还提供了一个真值表,解释了这些引脚上的逻辑状态的效果。由于TB67H400AFTG IC有六个不同的控制引脚,需要一个额外的端口扩展器IC来访问所

有这些引脚。PWMA和PWMB引脚分别连接到mikroBUS™的RST和PWM引脚,而其余的控制引脚(INA1、INA2、INB1和INB2)通过NXP Semiconductors的8位I2C端口扩展器PCA9538A访问。此外,用于选择单一或双重操作模式(大模式或小模式)的HBMODE引脚和用于设置空白间隔的TBLKAB引脚也通过PCA9538A IC提供。PCA9538A引脚上的逻辑状态可以通过I2C接口轻松设置,允许通过I2C接口上的单个命令快速更改TB67H400AFTG IC所有控制引脚的状态。请注意,一旦Click板™通电并初始化,不应更改HBMODE引脚的状态。PCA9538A的从I2C地址可以更改。I2C地址的两个最低有效位可以通过切换Click板™上的SMD跳线设置为0或1。这允许选择从0x70到0x73的四个不同的7位I2C地址。此Click板™可以在3.3V或5V逻辑电压水平下工作,可以通过SMD跳线选择。这样,3.3V和5V的MCU都可以正确使用通信线路。然而,Click板™配备了一个包含易于使用的函数和示例代码的库,可以作为进一步开发的参考。

DC MOTOR 7 Click hardware overview image

功能概述

开发板

Clicker 4 for STM32F3 是一款紧凑型开发板,作为完整的解决方案而设计,可帮助用户快速构建具备独特功能的定制设备。该板搭载 STMicroelectronics 的 STM32F302VCT6 微控制器,配备四个 mikroBUS™ 插槽用于连接 Click boards™、完善的电源管理功能以及其他实用资源,是快速开发各类应用的理想平台。其核心 MCU STM32F302VCT6 基于高性能 

Arm® Cortex®-M4 32 位处理器,运行频率高达 168MHz,处理能力强大,能够满足各种高复杂度任务的需求,使 Clicker 4 能灵活适应多种应用场景。除了两个 1x20 引脚排针外,板载最显著的连接特性是四个增强型 mikroBUS™ 插槽,支持接入数量庞大的 Click boards™ 生态系统,该生态每日持续扩展。Clicker 4 各功能区域标识清晰,界面直观简洁,极大

提升使用便捷性和开发效率。Clicker 4 的价值不仅在于加速原型开发与应用构建阶段,更在于其作为独立完整方案可直接集成至实际项目中,无需额外硬件修改。四角各设有直径 4.2mm(0.165")的安装孔,便于通过螺丝轻松固定。对于多数应用,只需配套一个外壳,即可将 Clicker 4 开发板转化为完整、实用且外观精美的定制系统。

CLICKER 4 for STM32F302VCT6 double image

微控制器概述 

MCU卡片 / MCU

STM32F302VC Image

建筑

ARM Cortex-M4

MCU 内存 (KB)

256

硅供应商

STMicroelectronics

引脚数

100

RAM (字节)

40960

你完善了我!

配件

直流齿轮电机 - 430RPM(3-6V)是一种电机和齿轮箱的全合一组合,齿轮的加入减少了电机速度,同时增加了扭矩输出。该齿轮电机具有正齿轮箱,成为在较低扭矩和速度要求的应用中的高度可靠解决方案。齿轮电机最关键的参数是速度、扭矩和效率,在这种情况下,无负载速度为520RPM,最高效率下为430RPM,同时电流为60mA,扭矩为50g.cm。其工作电压范围为3-6V,支持顺时针/逆时针旋转方向,这种电机是许多最初由有刷直流电机执行的功能的优秀解决方案,如机器人、医疗设备、电动门锁等。

DC MOTOR 7 Click accessories image

使用的MCU引脚

mikroBUS™映射器

NC
NC
AN
Motor A Channel Short-Brake Control
PC15
RST
NC
NC
CS
NC
NC
SCK
NC
NC
MISO
NC
NC
MOSI
Power Supply
3.3V
3.3V
Ground
GND
GND
Motor B Channel Short-Brake Control
PE9
PWM
NC
NC
INT
NC
NC
TX
NC
NC
RX
I2C Clock
PB10
SCL
I2C Data
PB11
SDA
Power Supply
5V
5V
Ground
GND
GND
1

“仔细看看!”

Click board™ 原理图

DC MOTOR 7 Click Schematic schematic

一步一步来

项目组装

PIC32MZ MXS Data Capture Board front image hardware assembly

从选择您的开发板和Click板™开始。以CLICKER 4 for STM32F302VCT6作为您的开发板开始。

PIC32MZ MXS Data Capture Board front image hardware assembly
Thermo 21 Click front image hardware assembly
Thermo 21 Click complete accessories setup image hardware assembly
Board mapper by product6 hardware assembly
Necto image step 2 hardware assembly
Necto image step 3 hardware assembly
Necto image step 4 hardware assembly
Necto image step 5 hardware assembly
Necto image step 6 hardware assembly
PIC32MZ MXS Data Capture Board NECTO MCU Selection Step hardware assembly
Necto No Display image step 8 hardware assembly
Necto image step 9 hardware assembly
Necto image step 10 hardware assembly
Necto image step 11 hardware assembly

软件支持

库描述

该库包含用于DC MOTOR 7 Click驱动程序的API。

关键功能:

  • dcmotor7_set_port - 设置端口的功能

  • dcmotor7_go_to_stand_by_mode - 设置电机进入待机模式的功能

  • dcmotor7_set_pwm_motor_b - 设置电机B的PWM值的功能

开源

代码示例

完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio 应用程序代码也可以在MIKROE的GitHub账户中找到。

/*!
 * \file 
 * \brief DcMotor7 Click example
 * 
 * # Description
 * This application is a dual brushed DC motor driving.
 *
 * The demo application is composed of two sections :
 * 
 * ## Application Init 
 * Initialization driver init, enabled all output port, sets H-Bridge operation mode and Motor Digital tblk
 * 
 * ## Application Task  
 * Set the motor A and the motor B to rotate clockwise and in the Counte clockwise direction, 
 * and between the change of direction, the motor stops the motor.
 * 
 * *note:* 
 * VM input - 10 V (min) to 47 V (max)
 * 
 * \author MikroE Team
 *
 */
// ------------------------------------------------------------------- INCLUDES

#include "board.h"
#include "dcmotor7.h"

// ------------------------------------------------------------------ VARIABLES

static dcmotor7_t dcmotor7;

// ------------------------------------------------------ APPLICATION FUNCTIONS

void application_init ( void )
{
    dcmotor7_cfg_t cfg;

    //  Click initialization.

    dcmotor7_cfg_setup( &cfg );
    DCMOTOR7_MAP_MIKROBUS( cfg, MIKROBUS_1 );
    dcmotor7_init( &dcmotor7, &cfg );

    dcmotor7_default_cfg( &dcmotor7 );
}

void application_task ( void )
{
    dcmotor7_set_motor( &dcmotor7, DCMOTOR7_MOTOR_A, 0, 1 );
    dcmotor7_set_motor( &dcmotor7, DCMOTOR7_MOTOR_B, 0, 1 );
    Delay_ms ( 500 );
    
    dcmotor7_motor_stop( &dcmotor7, DCMOTOR7_MOTOR_A );
    dcmotor7_motor_stop( &dcmotor7, DCMOTOR7_MOTOR_B );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
    
    dcmotor7_set_motor( &dcmotor7, DCMOTOR7_MOTOR_A, 1, 0 );
    dcmotor7_set_motor( &dcmotor7, DCMOTOR7_MOTOR_B, 1, 0 );
    Delay_ms ( 500 );
    
    dcmotor7_motor_stop( &dcmotor7, DCMOTOR7_MOTOR_A );
    dcmotor7_motor_stop( &dcmotor7, DCMOTOR7_MOTOR_B );
    Delay_ms ( 1000 );
    Delay_ms ( 1000 );
}

int main ( void ) 
{
    /* Do not remove this line or clock might not be set correctly. */
    #ifdef PREINIT_SUPPORTED
    preinit();
    #endif
    
    application_init( );
    
    for ( ; ; ) 
    {
        application_task( );
    }

    return 0;
}

// ------------------------------------------------------------------------ END

额外支持

资源

喜欢这个项目吗?

'购买此套件' 按钮会直接带您进入购物车,您可以在购物车中轻松添加或移除产品。