K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停

这篇具有很好参考价值的文章主要介绍了K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        TB6612模块驱动说明

        对应程序:

        ENA ENB输出PWM

四、部分代码说明

        接线说明

                1、STC89C52RC+TB6612模块

                2、STM32F103C8T6+TB6612模块

五、基础知识学习与相关资料下载

六、视频效果展示与程序资料获取

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

模块

单片机驱动TB6612模块按键控制直流机正反转加减速启停

STM32F103C8T6

  1. 晶振8M
  2. 系统时钟72M

TB6612模块

二、基本参数

        1、参数

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

        2、引脚说明

TB6612模块

引脚说明

VCC

TB6612供电(此处8V供电 根据实际来)

GND

电源地

5V

5V/3.3V

GND

单片机电源GND

PWMA

AO1,AO2 输出端使能控制(默认短接 全速输出)也可接PWM信号调速

AIN1

对应AO1 AIN1输入高则AO1输出高

AIN2

对应AO2 AIN2输入高则AO2 输出高

STBY

高电平有效 低电平输出无效

BIN1

对应BO1 BIN1输入高则BO1 输出高

BIN2

对应BO2 BIN2输入高则BO2 输出高

PWMB

BO1 ,BO2 输出端使能控制(默认短接 全速输出)也可接PWM信号调速

AO1

接电机和AO2 为一组 输出高低由AIN1控制

AO2

接电机和AO1为一组 输出高低由AIN2控制

BO1

接电机和BO2 为一组 输出高低由BIN1控制

BO2

接电机和BO1 为一组 输出高低由BIN2控制

三、驱动说明

        驱动与L298N很类似 此处直接用L298N程序

        TB6612模块驱动说明

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

        对应程序:

        以下以STC89C52RC程序为例

//正转
void turn_Syntropy(void)
{
		 IN1_R=1;
		 IN2_R=0;

		 IN3_L=1;
		 IN4_L=0;
	
}
//反转

void turn_Reverse(void)
{
		 IN1_R=0;
		 IN2_R=1;

		 IN3_L=0;
		 IN4_L=1;
		
}
//停止

void turn_Stop(void)
{
		 IN1_R=1;
		 IN2_R=1;

		 IN3_L=1;
		 IN4_L=1;
	
		 Pwm_L=0;
		 Pwm_R=0;
		 TR0=0;
}

        ENA ENB输出PWM

         ENA ENB输出PWM由定时器实现,PWM_L PWM_R分别对应ENA ENB

//定时器0中断服务函数
void tim0() interrupt 1
{
		TL0 = 0xA4;		//设置定时初值
		TH0 = 0xFF;		//设置定时初值  0.1ms

		times++;
		if(times<=Speed)
		{
			 Pwm_L=1;
			 Pwm_R=1;
			
		}
		else
		{
			 Pwm_L=0;
			 Pwm_R=0;
		} 
		if(times>=Period)
		{
			 times=0;
		}
}

四、部分代码说明

        接线说明

        需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

                1、STC89C52RC+TB6612模块

//TB6612引脚

sbit Pwm_L=P1^5;

sbit IN1_R=P1^4;

sbit IN2_R=P1^3;

sbit IN3_L=P1^2;

sbit IN4_L=P1^1;

sbit Pwm_R=P1^0;

//按键引脚

sbit K_Start_Stop=P2^0;   //启停按键

sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键

sbit K_UP_Speed=P2^2; //两电机同时加速按键

sbit K_Down_Speed=P2^3; //两电机同时减速按键

                2、STM32F103C8T6+TB6612模块

//TB6612引脚 GPIOB

#define IN1_L    GPIO_Pin_12  //

#define IN2_L     GPIO_Pin_13 //

#define IN3_R      GPIO_Pin_14 //  

#define IN4_R      GPIO_Pin_15 //  

//TB6612 ENA  ENB

#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA

#define            GENERAL_TIM_CH1_PORT          GPIOA

#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6



// TIM3 输出比较通道2

#define            GENERAL_TIM_CH2_GPIO_CLK      RCC_APB2Periph_GPIOA

#define            GENERAL_TIM_CH2_PORT          GPIOA

#define            GENERAL_TIM_CH2_PIN           GPIO_Pin_7



//按键引脚GPIOB

#define K_Start_Stop    GPIO_Pin_4  //启停按键 GPIOB_Pin_4 0x0010   //?GPIOB_Pin_3

#define K_Syntropy_Reverse    GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020

#define K_UP_Speed      GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040

#define K_Down_Speed      GPIO_Pin_7 //两电机同时减速按键   GPIOB_Pin_7 0x0080

五、基础知识学习与相关资料下载

  1. STC89C52RC程序下载 直戳跳转
  2. STM32F103C8T6程序下载
    1. 串口下载                直戳跳转 
    2. ST-LINK下载             直戳跳转
    3. J-LINK下载              直戳跳转
    4. DAP-LINK下载            直戳跳转

六、视频效果展示与程序资料获取

        视频连接    直戳跳转

          资料获取            ( 滑到最后添加群号看公告免费获取)   

七、项目所有材料清单

STC89C52RC驱动方案

图片

STM32F103C8T6驱动方案

图片

备注

K_A08_009

STC89C52RC系统板X1

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

STM32F103C8T6系统板X1

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的

TB6612模块x1

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

TB6612模块x1

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

直流电机x2

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

直流电机x2

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

Micro USB线X1

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

Micro USB线X2

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

杜邦线若干

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

杜邦线若干

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

J-LINK下载器

tb6612驱动代码,单片机,stm32,TB6612,电机驱动

八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 现象异常时,排除接线接触不良

九、接线表格

单片机型号

模块

对应引脚(上:模块引脚 下:单片机引脚)

STC89C52RC

TB6612模块

PWMA

AIN1

AIN2

BIN1

BIN2

PWMB

GND文章来源地址https://www.toymoban.com/news/detail-610484.html

VCC

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

GND

5V

按键模块

KEY1

KEY2

KEY3

KEY4

GND

P2.0

P2.1

P2.2

P2.3

GND

STM32F103C8T6

TB6612模块

PWMA

AIN1

AIN2

BIN1

BIN2

PWMB

GND

VCC

PA6

PB12

PB13

PB14

PB15

PA7

GND

5V

按键模块

KEY1

KEY2

KEY3

KEY4

GND

PB4

PB5

PB6

PB7

GND

到了这里,关于K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K_A12_007 基于STM32等单片机驱动AS608光学指纹识别模块 OLED0.96显示

    注意:此处程序用的波特率都是9600 使用前请用上位机把模块波特率调到9600 上位机使用与下载 直戳跳转 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M AS608光学指纹模块 STC89C52RC驱动AS608光学指纹模块 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M AS608光学指

    2024年02月06日
    浏览(22)
  • K_A37_005 基于STM32等单片机驱动ADS1115 ADC模块 串口与OLED0.96双显示

    其他资料目录 直戳跳转 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M ADS1115 ADC模块 STC89C52RC驱动ADS1115 ADC模块 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M ADS1115 ADC模块 STM32F103C8T6驱动ADS1115 ADC模块 串口与OLED0.96双显示 ADS1115 ADC模块 引脚说明 VIN 正极 5V供电

    2024年02月16日
    浏览(17)
  • K_A23_001 基于STM32等单片机AT指令驱动ESP-01/ESP-01S实现手机遥控点灯

    其他资料目录 直戳跳转 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M ESP-01/ESP-01S模块 STC89C52RC驱动ESP-01/ESP-01S模块 实现手机遥控点灯 STM32F103C8T6(标准库) 晶振8M/系统时钟72M ESP-01/ESP-01S模块 STM32F103C8T6驱动ESP-01/ESP-01S模块 实现手机遥控点灯 ESP-01/ESP-01S模块 引脚

    2024年01月21日
    浏览(17)
  • K_A18_008 基于STM32等单片机驱动SGP30气体传感器串口与OLED0.96双显示

    其他资料目录 直戳跳转 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M SGP30气体传感器 模块 STC89C52RC驱动SGP30气体传感器模块串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M SGP30气体传感器模块 STM32F103C8T6驱动SGP30气体传感器模块串口与OLED0.96双显示 SGP30气体传

    2024年02月04日
    浏览(23)
  • K_A35_017 基于STM32等单片机驱动TTP229矩阵触摸传感器 串口与OLED0.96双显示

    其他资料目录 直戳跳转 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M TTP229矩阵触摸模块 STC89C52RC驱动TTP229矩阵触摸模块 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M TTP229矩阵触摸模块 STM32F103C8T6驱动TTP229矩阵触摸模块 串口与OLED0.96双显示 TTP229矩阵触摸传

    2024年02月02日
    浏览(19)
  • K_A12_022 基于STM32等单片机驱动VL53L0X模块 串口与OLED0.96双显示

    注:偏差校准步骤(均十六进制发送) 1、偏差校准命令 A5 21 0A D0(此处是在10CM处校准) 2、加载数据命令 A5 43 04 EC(断电重启后加载偏差补偿) 3、保存设置命令 A5 87 01 2D(保存设置后生效) 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M VL53L0X模块 STC89C52RC驱动VL53L0X模

    2024年02月13日
    浏览(16)
  • K_A12_014 基于STM32等单片机驱动S12SD紫外线传感器模块 串口与OLED0.96双显示

    注:PCF8591为8位ADC通过计算后分辨率会相对不是很理想 建议用10位及其以上ADC模块或者用STM32 具体计算公式可参考文档手册中CJMCU-S12D-test-arduino.txt文件 单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M S12SD紫外线传感器模块 STC89C52RC采集S12SD紫外线传感器模块参数

    2024年02月05日
    浏览(21)
  • K_A19_002 基于STM32等单片机采集水位检测传感数据 串口与OLED0.96双显示

    单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M 水位检测传感模块 STC89C52RC驱动水位检测传感模块 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M 水位检测传感模块 STM32F103C8T6驱动水位检测传感模块参数 串口与OLED0.96双显示 其他资料目录 直戳跳转 工作电压:

    2024年02月07日
    浏览(22)
  • K_A18_001 基于STM32等单片机采集MQ2传感参数串口与OLED0.96双显示

    单片机型号 测试条件 模块名称 代码功能 STC89C52RC 晶振11.0592M MQ2传感模块 STC89C52RC采集MQ2传感模块参数 串口与OLED0.96双显示 STM32F103C8T6 晶振8M/系统时钟72M MQ2传感模块 STM32F103C8T6采集MQ2传感模块参数 串口与OLED0.96双显示 其他资料目录 直戳跳转 可以用于家庭和工厂的气体泄漏监

    2024年02月01日
    浏览(48)
  • K_A16_003 基于STM32等单片机采集薄膜压力传感器参数串口与OLED0.96双显示

    单片机型号 测试条件 模块名称 代码功能 STM32F103C8T6 晶振8M/系统时钟72M 薄膜压力传感器模块 STM32F103C8T6驱动薄膜压力传感器模块 串口与OLED0.96双显示 其他资料目录 直戳跳转 厚度 :0.4mm 样式 :薄片状,柔性 触发力 :20g,默认电阻值小于 200kΩ 时触发 压力感应范围 :20g~6kg

    2024年02月05日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包