yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
Motor with Encoder📖
1.Introduction
  • 1.Introduction
2.2-channel motor drive module tutorials
For Arduino
  • 1.AT8236 drive tutorials
For STM32
  • 1.AT8236 drive tutorials
For MSPM0G3507
  • 1.AT8236 drive tutorials
  • 2.TB6612 drive tutorials
For MSPM0G3519
  • 1.AT8236 drive tutorialsnew
  • 2.TB6612 drive tutorialsnew
3.4-channel motor drive module tutorials
Introduction and Debug
  • 1.Introduction to 4-channel motor drive board
  • 2.Control command
  • 3.Motor introduction and usage
  • 4.PC host
IIC communication
  • For Arduino
  • For ESP32
  • For Jetson NANO
  • For MSPM0G3507
  • For MSPM0G3519new
  • For PICO2
  • For RDK X5
  • For RPi5
  • For STM32
USART communication
  • For Arduino
  • For ESP32
  • For Jetson NANO
  • For MSPM0G3507
  • For MSPM0G3519new
  • For PICO2
  • For RDK X5
  • For RPi5
  • For STM32
Download
  • Annex_2-channel motor drive module tutorials
  • Annex_4-channel motor drive module tutorials
Download ZIP

Welcome to Motor with Encoder repository

2.TB6612 drive tutorials

TB6612 drive tutorials

1. Learning objectives

Use TB6612 motor driver module to drive dual-channel motors.

2. Hardware connection

MSPM0G3507 and TB6612 pin connection

image-20241210110931097

A motor:

MSPM0G3507TB6612
PA8PWMA
PA14AIN1
PA15AIN2

B motor:

MSPM0G3507TB6612
PA9PWMB
PA16BIN1
PA17BIN2

TB6612 motor driver module pin description.

2

3

3. Code analysis

  • bsp_tb6612.h
​x
#ifndef __BSP_TB6612_H_
#define __BSP_TB6612_H_

#include "ti_msp_dl_config.h"

//A电机
#define AIN1_OUT(X)  ( (X) ? (DL_GPIO_setPins(GPIO_1_PORT,GPIO_1_AIN1_PIN)) : (DL_GPIO_clearPins(GPIO_1_PORT,GPIO_1_AIN1_PIN)) )
#define AIN2_OUT(X)  ( (X) ? (DL_GPIO_setPins(GPIO_2_PORT,GPIO_2_AIN2_PIN)) : (DL_GPIO_clearPins(GPIO_2_PORT,GPIO_2_AIN2_PIN)) )

//B电机
#define BIN1_OUT(X)  ( (X) ? (DL_GPIO_setPins(GPIO_3_PORT,GPIO_3_BIN1_PIN)) : (DL_GPIO_clearPins(GPIO_3_PORT,GPIO_3_BIN1_PIN)) )
#define BIN2_OUT(X)  ( (X) ? (DL_GPIO_setPins(GPIO_4_PORT,GPIO_4_BIN4_PIN)) : (DL_GPIO_clearPins(GPIO_4_PORT,GPIO_4_BIN4_PIN)) )

void A_control(uint16_t motor_speed,uint8_t dir);
void B_control(uint16_t motor_speed,uint8_t dir);

#endif

The macro definition part defines how to control the direction of the motor. TB6612 controls the direction of the motor through two pins. When one pin is high and the other is low, the motor rotates in one direction; otherwise, it rotates in the opposite direction.

AIN1_OUT and AIN2_OUT control the direction of motor A.

BIN1_OUT and BIN2_OUT control the direction of motor B.

A_control(uint16_t motor_speed, uint8_t dir): This function is used to control motor A and accepts motor speed (motor_speed) and direction (dir) as parameters.

B_control(uint16_t motor_speed, uint8_t dir): This function is used to control motor B and has similar functions to A_control.

  • bsp_tb6612.c
xxxxxxxxxx
void A_control(uint16_t motor_speed,uint8_t dir)
{
    if(dir)
    {
        AIN1_OUT(0);
        AIN2_OUT(1);
    }
    else
    {
        AIN1_OUT(1);
        AIN2_OUT(0);
    }
    

    DL_TimerA_setCaptureCompareValue(PWM_1_INST, motor_speed, DL_TIMER_CC_0_INDEX);

}



void B_control(uint16_t motor_speed,uint8_t dir)
{
    if(dir)
    {
        BIN1_OUT(0);
        BIN2_OUT(1);
    }
    else
    {
        BIN1_OUT(1);
        BIN2_OUT(0);
    }
    

    DL_TimerA_setCaptureCompareValue(PWM_1_INST, motor_speed, DL_TIMER_CC_1_INDEX);

}

Function A_control(uint16_t motor_speed, uint8_t dir) and function B_control(uint16_t motor_speed, uint8_t dir) control motor A and B respectively, determine the rotation direction of the motor according to the dir parameter, and use the motor_speed parameter to set the motor speed.

Note: The project source code must be placed in the SDK path for compilation,

For example, the path: D:\TI\M0_SDK\mspm0_sdk_1_30_00_03\TB6612

4

 

 

AT8236 drive tutorials
AT8236 drive tutorials

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文