K_A08_012 基于 STM32等单片机驱动 DRV8833 模块按键控制直流电机正反转

目录

 

一、资源说明

二、基本参数

        参数

        引脚说明

三、驱动说明

        驱动时序

        对应程序:

四、部分代码说明

        接线说明

                STC89C52RC+DRV8833模块

                STM32F103C8T6+DRV8833模块

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

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

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

DRV8833 模块

单片机驱动DRV8833 模块按键控制步进电机正反转

STM32F103C8T6

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

DRV8833 模块

二、基本参数

        参数

        引脚说明

DRV8833 模块

引脚说明

AIN1

信号输入1

AIN2

信号输入2

SLP

睡眠引脚(低电平睡眠)

BIN2

信号输入3

BIN1

信号输入4

FLT

错误状态输出

GND

电源GND(需要与单片机共地)

VM

电源正极 此处用8V

BS

电流控制B

AS

电流控制A

BOUT1

电机B其中一脚

BOUT2

电机B其中另一脚

AOUT2

电机A其中一脚

AOUT1

电机A其中另一脚

三、驱动说明

        DRV8833模块与MAX1508输入引脚一致 ,所以此处用的是MAX1508程序改

        驱动时序

        对应程序:

//正转
void turn_Syntropy(void)
{
		 Pwm_IN1_R=0;
		 Pwm_IN3_L=0;
	
}
//反转

void turn_Reverse(void)
{
		 Pwm_IN2_R=0;
		 Pwm_IN4_L=0;
		
}
//停止

void turn_Stop(void)
{
		 Pwm_IN1_R=1;
		 Pwm_IN2_R=1;

		 Pwm_IN3_L=1;
		 Pwm_IN4_L=1;
	
		 TR0=0;
}

四、部分代码说明

        接线说明

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

                STC89C52RC+DRV8833模块

//输入信号引脚
sbit Pwm_IN1_R=P1^0;
sbit Pwm_IN2_R=P1^1;
sbit Pwm_IN3_L=P1^2;
sbit Pwm_IN4_L=P1^3;
//按键引脚
sbit K_Start_Stop=P2^0;   //启停按键
sbit K_Syntropy_Reverse=P2^1;			//两电机同向反向按键
sbit K_UP_Speed=P2^2;			//两电机同时加速按键
sbit K_Down_Speed=P2^3;			//两电机同时减速按键

                STM32F103C8T6+DRV8833模块

// TIM3 输出比较通道1
#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

// TIM3 输出比较通道3
#define            GENERAL_TIM_CH3_GPIO_CLK      RCC_APB2Periph_GPIOB
#define            GENERAL_TIM_CH3_PORT          GPIOB
#define            GENERAL_TIM_CH3_PIN           GPIO_Pin_0

// TIM3 输出比较通道4
#define            GENERAL_TIM_CH4_GPIO_CLK      RCC_APB2Periph_GPIOB
#define            GENERAL_TIM_CH4_PORT          GPIOB
#define            GENERAL_TIM_CH4_PIN           GPIO_Pin_1

//按键引脚
#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_012

STC89C52RC系统板X1

STM32F103C8T6系统板X1

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

DRV8833模块x1

DRV8833模块x1

直流电机x1

直流电机x1

Micro USB线X1

Micro USB线X2

母母杜邦线X5

母母杜邦线X5

J-LINK下载器

八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 电机抖动 也可能是接线接触不良引起 需排查接线
  3. 单片机与模块供电需要共GND否则会异常

九、接线表格

单片机型号

模块

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

STC89C52RC

DRV8833模块

AIN1

AIN2

BIN2

BIN1

SLP

GND

P1.0

P1.1

P1.2

P1.3

接5V

GND

按键模块

KEY1

KEY2

KEY3

KEY4

GND

P2.0

P2.1

P2.2

P2.3

GND

STM32F103C8T6

DRV8833模块

AIN1

AIN2

BIN2

BIN1

SLP

GND

PA6

PA7

PB0

PB1

接5/3.3V

GND

按键模块

KEY1

KEY2

KEY3

KEY4

GND

PB4

PB5

PB6

PB7

GND

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值