在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【CW32模塊使用】TB6612電機驅動模塊

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2025-03-29 17:21 ? 次閱讀

該模塊相對于傳統的L298N效率上提高很多,體積上也大幅度減少,在額定范圍內,芯片基本不發熱,當然也就顯得更加嬌貴,所以我們建議有一定動手能力的朋友使用,接線的時候務必細心細心再細心,注意正負極性。

一、模塊來源

模塊實物展示:

wKgZPGflMZCACYyQAAAkrn0ztA0722.jpg

二、規格參數

VM電機電壓:< 12V

VCC芯片電壓:2.7~5.5V

輸出電流:1A

控制方式:PWM

以上信息見廠家資料文件

三、移植過程

我們的目標是將例程移植至CW32F030C8T6開發板上【能夠控制電機旋轉速度的功能】。首先要獲取資料,查看數據手冊應如何實現讀取數據,再移植至我們的工程。

3.1查看資料

STBY口接單片機的IO口,STBY置0電機全部停止,置1才能工作。STBY置1后通過AIN1、AIN2、BIN1、BIN2 來控制正反轉。

AIN1 0 0 1 1
AIN2 0 1 0 1
停止 正轉 反轉 停止

其中A端(AIN1與AIN2)只能控制AO1與AO2端。B端(BIN1與BIN2)只能控制BO1與BO2端。因此是雙路電機驅動。

3.2引腳選擇

PWMA為控制A端電機速度的引腳,通過PWM的占空比大小控制電機速度。這里選擇PA6,其有復用功能GTIM3_CH1,意為通用定時器3的PWM通道1。

wKgZO2flMZGAU2OLAAFtdhlTfYY442.jpg

這里將STBY接入3.3V,讓其一直為高電平,后續的電機停止控制通過IN1與IN2進行控制。

wKgZPGflMZGAVXN_AADYPj9SZio354.jpg

模塊接線圖

3.3移植至工程

移植步驟中的導入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_tb6612.c與bsp_tb6612.h。這里不再過多講述,移植完成后面修改相關代碼。

在文件bsp_tb6612.c中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-24     LCKFB-LP    first version
 */
#include "bsp_tb6612.h"


/************************************************
函數名稱 : TB6612_Init
功    能 : TB6612的配置
參    數 : ReloadValue:重裝載值設置
返 回 值 : 無
作    者 : LC
*************************************************/
void TB6612_Init(uint16_t ReloadValue)
{

    RCC_TB6612_GPIO_ENABLE();       // 使能GPIO時鐘
    RCC_PWMA_TIMER_ENABLE();        // 使能通用定時器1時鐘

    GPIO_InitTypeDef GPIO_InitStruct;  // GPIO初始化結構體

    GPIO_InitStruct.Pins = GPIO_PWMA;           // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  // 推挽輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;     // 輸出速度高

    GPIO_AF_PWM_ENABLE();       // 使用GPIO復用功能

    GPIO_Init(TB6612_GPIO_PORT, &GPIO_InitStruct);    // 初始化


    GTIM_InitTypeDef GTIM_InitStruct;  // 通用定時器初始化結構體

    GTIM_InitStruct.Mode = GTIM_MODE_TIME;               // 定時器模式
    GTIM_InitStruct.OneShotMode = GTIM_COUNT_CONTINUE;   // 連續計數模式
    GTIM_InitStruct.Prescaler = GTIM_PRESCALER_DIV64;    // DCLK = PCLK / 64 = 64MHz/64 = 1MHz
    GTIM_InitStruct.ReloadValue = ReloadValue;           // 重裝載值設置
    GTIM_InitStruct.ToggleOutState = ENABLE;            // 輸出翻轉功能

    GTIM_TimeBaseInit(BSP_PWMA_TIMER, >IM_InitStruct);        // 初始化

    GTIM_OCInit(BSP_PWMA_TIMER, BSP_PWMA_CHANNEL, GTIM_OC_OUTPUT_PWM_HIGH); // 配置輸出比較通道為PWM模式

    GTIM_Cmd(BSP_PWMA_TIMER, ENABLE);  // 使能定時器

    AIN_GPIO_INIT(); // 使能AIN的GPIO
}

void AIN_GPIO_INIT(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;

        RCC_TB6612_GPIO_ENABLE(); // 使能GPIO時鐘

        GPIO_InitStructure.Pins = GPIO_AIN1|GPIO_AIN2;
        GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
        GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
        GPIO_Init(TB6612_GPIO_PORT, &GPIO_InitStructure);
}

/******************************************************************
 * 函 數 名 稱:AO_Control
 * 函 數 說 明:A端口電機控制
 * 函 數 形 參:dir旋轉方向 1正轉0反轉   speed旋轉速度,范圍(0 ~ per-1)
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void AO_Control(uint8_t dir, uint32_t speed)
{
    if( dir == 1 )
    {
        AIN1_OUT(0);
        AIN2_OUT(1);
    }
    else
    {
        AIN1_OUT(1);
        AIN2_OUT(0);
    }
    GTIM_SetCompare1(BSP_PWMA_TIMER, speed );
}

在文件bsp_tb6612.h中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-24     LCKFB-LP    first version
 */

#ifndef _BSP_TB6612_H
#define _BSP_TB6612_H

#include "board.h"


#define RCC_TB6612_GPIO_ENABLE()    __RCC_GPIOA_CLK_ENABLE()

#define TB6612_GPIO_PORT            CW_GPIOA

#define GPIO_AF_PWM_ENABLE()        PA06_AFx_GTIM3CH1()     // 使用復用功能,復用為通用定時器3通道1

#define GPIO_AIN1                   GPIO_PIN_1
#define GPIO_AIN2                   GPIO_PIN_2
#define GPIO_PWMA                   GPIO_PIN_6

#define RCC_PWMA_TIMER_ENABLE()     __RCC_GTIM3_CLK_ENABLE()
#define BSP_PWMA_TIMER              CW_GTIM3                        // 定時器
#define BSP_PWMA_CHANNEL            GTIM_CHANNEL1

#define AIN1_OUT(X)  GPIO_WritePin(TB6612_GPIO_PORT, GPIO_AIN1, X?GPIO_Pin_SET:GPIO_Pin_RESET)
#define AIN2_OUT(X)  GPIO_WritePin(TB6612_GPIO_PORT, GPIO_AIN2, X?GPIO_Pin_SET:GPIO_Pin_RESET)

void AIN_GPIO_INIT(void);
void TB6612_Init(uint16_t ReloadValue);
void AO_Control(uint8_t dir, uint32_t speed);


#endif  /* _BSP_TB6612_H */

四、移植驗證

在自己工程中的main主函數中,編寫如下。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-24     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_tb6612.h"

int32_t main(void)
{
    uint16_t i = 1000;
    uint8_t flag = 1;

    board_init();
    uart1_init(115200U);

    TB6612_Init(5000);


    while(1)
    {
        if(flag)
        {

            i += 10;

            if( i >= 4000 )
            {
                    i = 4000;
                    flag = 0;
            }

            AO_Control(1,i);//A端電機正轉
            delay_ms(10);

        }
        else
        {
            i -= 10;

            if( i <= 1000 )
            {
                    i = 1000;
                    flag = 1;
            }

            AO_Control(0,i);//A端電機反轉
            delay_ms(10);

        }
    }
}

移植現象:電機速度由慢變快的正反轉.

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1KReODFKFa4vjTN8qfsaNrQ?pwd=LCKF

提取碼:LCKF

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電機驅動
    +關注

    關注

    60

    文章

    1299

    瀏覽量

    87637
  • 開發板
    +關注

    關注

    25

    文章

    5590

    瀏覽量

    103207
  • 驅動模塊
    +關注

    關注

    0

    文章

    65

    瀏覽量

    14407
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于tb6612芯片和紅外避障模塊的IO輸出輸入模式

    在這次小車制作中,我使用到的有tb6612電機驅動芯片和MH-Sensor-Series紅外循跡避障模塊,兩者的使用方法都不是很復雜,只需要在對應的引腳上接高低電平或者接輸入引腳即可
    的頭像 發表于 02-14 06:33 ?8354次閱讀
    基于<b class='flag-5'>tb6612</b>芯片和紅外避障<b class='flag-5'>模塊</b>的IO輸出輸入模式

    TB6612模塊使用后就燒了,求助一下各位

    用數據線接單片機時,TB6612能正常工作,但是我調好程序用12V的航模電池通電時,輪子的轉速急劇上升,過了兩秒TB6612開始冒青煙了,搞不懂
    發表于 07-09 11:16

    電機驅動TB6612

    電機驅動TB6612資料
    發表于 06-03 19:58

    TB6612模塊使用時芯片發燙

    在使用TB6612模塊時,接入無刷電機,并且配置了PWM信號。但在使用時TB6612的芯片發燙的好厲害,我將VM口接入了11V的電壓,是不是這個電壓太高了導致的?VCC我降壓為5V了。
    發表于 03-24 23:20

    tb6612電機驅動模塊芯片嚴重發燙是什么情況~

    tb6612電機驅動模塊芯片嚴重發燙是什么情況~
    發表于 04-14 23:32

    請問TB6612如何驅動電機

    請問TB6612如何驅動電機
    發表于 10-20 07:58

    紅外模塊+電機驅動TB6612使用方法

    任務分析、紅外模塊+電機驅動TB6612使用方法
    發表于 01-07 07:57

    TB6612驅動相關資料推薦

    TB6612驅動(雙驅動)PWMA,AIN1, AIN2, BIN1, BIN2和PWMB為驅動電路的輸入引腳連接stm32f103c8t6,左側的AO1, AO2, BO1和BO2為
    發表于 01-17 06:08

    TB6612FNG電機驅動器資料分享

    。兩條電源線上都包含去耦電容。TB6612FNG 的所有引腳都被分成兩個 0.1&quot; 間距接頭;這些引腳的排列方式是輸入引腳在一側,輸出引腳在另一側。TB6612電機驅動
    發表于 06-22 07:44

    由Adafruit TB6612電機驅動器控制的12V直流電機

    電子發燒友網站提供《由Adafruit TB6612電機驅動器控制的12V直流電機.zip》資料免費下載
    發表于 02-01 14:15 ?2次下載
    由Adafruit <b class='flag-5'>TB6612</b><b class='flag-5'>電機</b><b class='flag-5'>驅動</b>器控制的12V直流<b class='flag-5'>電機</b>

    基于STM32的PWM電機驅動TB6612、A4950

    TB6612是一款雙路H橋型的直流電機驅動芯片,可以驅動兩個直流電機并且控制其轉速和方向 A4950
    發表于 03-16 10:16 ?15次下載
    基于STM32的PWM<b class='flag-5'>電機</b><b class='flag-5'>驅動</b><b class='flag-5'>TB6612</b>、A4950

    使用TB6612驅動電機

    驅動電機,我們在這里使用TB6612驅動電機,同時,電機的內部我們有編碼器進行計次 輸出比較
    發表于 03-20 14:38 ?1次下載
    使用<b class='flag-5'>TB6612</b>來<b class='flag-5'>驅動</b><b class='flag-5'>電機</b>

    stm32 TB6612驅動直流電機

    ,發熱也少。TB6612可以一次驅動 兩個直流電機,輸出PWM也很簡單,下面就是通過實驗對TB6612電機進行介紹。
    發表于 03-21 14:49 ?7次下載
    stm32 <b class='flag-5'>TB6612</b><b class='flag-5'>驅動</b>直流<b class='flag-5'>電機</b>

    利用TB6612模塊控制直流電機

    利用TB6612模塊控制直流電機TB6612模塊的基本使用,在我的博客上面寫有。先看看 里面的控制。再次簡單說一下。 (1)一個
    發表于 04-03 15:16 ?3次下載
    利用<b class='flag-5'>TB6612</b><b class='flag-5'>模塊</b>控制直流<b class='flag-5'>電機</b>

    STM32平衡小車 TB6612電機驅動學習

    TB6612FNG簡介 單片機引腳的電流一般只有幾十個毫安,無法驅動電機,因此一般是通過單片機控制 電機驅動芯片 進而控制
    發表于 05-16 15:18 ?8次下載
    STM32平衡小車 <b class='flag-5'>TB6612</b><b class='flag-5'>電機</b><b class='flag-5'>驅動</b>學習
    主站蜘蛛池模板: 2019天天干夜夜操 | 亚洲国产欧美日韩一区二区三区 | 激情伦成人综合小说 | 中文一区二区在线观看 | 一级美女片 | 天天操天天干天天插 | 精品少妇一区二区三区视频 | 色五月天天 | 国产未成女年一区二区 | 精品国产影院 | 成人综合婷婷国产精品久久免费 | 国产午夜在线观看视频 | 色综合网址 | 色偷偷91久久综合噜噜噜噜 | 成人影院在线观看视频 | 午夜免费视频福利集合100 | 特级免费毛片 | 亚洲网站在线观看 | 夜色爽 | 性久久久久久久 | 日本高免费观看在线播放 | 久久久久久人精品免费费看 | 91国内在线国内在线播放 | 欧美成人a | 日本视频免费高清一本18 | 激情福利视频 | 一女被多男玩很肉很黄文 | 日日摸夜夜爽夜夜爽出水 | 国产成人经典三级在线观看 | 日本国产在线 | 有没有免费的视频在线观看 | 午夜影院7cdy | 欧美一区二区三区不卡视频 | 九九国产在线 | 午夜一级毛片看看 | 狠狠色成人综合首页 | 免费在线观看一区二区 | 国内精品一级毛片免费看 | 特级全黄大片 | 精品福利视频网 | 日本三级日本三级人妇三级四 |