K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转

目录

一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        步进电机驱动时序

        对应程序:

 四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+DRV8833模块

                1.2、STM32F103C8T6+DRV8833模块

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

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

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

DRV8833 模块

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

STM32F103C8T6

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

DRV8833 模块

二、基本参数

        1、参数

K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第1张图片

        2、引脚说明

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模块与ULN2003输入引脚一致 ,所以此处用的是ULN2003程序改

        步进电机驱动时序

K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第2张图片

        对应程序:

//顺时针逆时针选择
void Swerve(uint8_t F_Dir)
{
	if(F_Dir)
	{
		switch(MOTO_delay0)
		{
*
				case(1):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
				case(2):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
				case(3):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
				case(4):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;						
		}		
	}
	else
	{
		switch(MOTO_delay0)
		{
				case(1):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;
				case(2):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
				case(3):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
				case(4):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
		}
		
	}
	
	
}

 四、部分代码说明

        1、接线说明

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

                1.1、STC89C52RC+DRV8833模块

//输入信号引脚
sbit MOTOA=P1^0;	//IN1
sbit MOTOB=P1^1;	//IN2
sbit MOTOC=P1^2;	//IN3
sbit MOTOD=P1^3;	//IN4
//按键引脚
sbit KEY_Foreward = P1^4;			//正转
sbit KEY_Reversal = P1^5;			//反转

                1.2、STM32F103C8T6+DRV8833模块

//输入信号引脚
#define MOTOA_GPIO_PORT    	GPIOA		              /* MOTOA端口 */
#define MOTOA_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* MOTOA端口时钟 */
#define MOTOA_GPIO_PIN		GPIO_Pin_0			        

#define MOTOB_GPIO_PORT    	GPIOA			              /* MOTOB端口 */
#define MOTOB_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* MOTOB端口时钟 */
#define MOTOB_GPIO_PIN		GPIO_Pin_1			        

#define MOTOC_GPIO_PORT    	GPIOA			              /* MOTOC端口 */
#define MOTOC_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* MOTOC端口时钟 */
#define MOTOC_GPIO_PIN		GPIO_Pin_2			 

#define MOTOD_GPIO_PORT    	GPIOA			              /* MOTOD端口 */
#define MOTOD_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* MOTOD端口时钟 */
#define MOTOD_GPIO_PIN		  GPIO_Pin_3	
//按键引脚
#define    Foreward_GPIO_CLK      	RCC_APB2Periph_GPIOA
#define    Foreward_GPIO_PORT     	GPIOA		   
#define    Foreward_GPIO_PIN		 		GPIO_Pin_5
//KEY2
#define    Reversal_GPIO_CLK      RCC_APB2Periph_GPIOA
#define    Reversal_GPIO_PORT     GPIOA	   
#define    Reversal_GPIO_PIN		  GPIO_Pin_6

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

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

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

        视频连接    直戳跳转

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

七、项目所有材料清单

STC89C52RC驱动方案 图片 STM32F103C8T6驱动方案 图片

备注

K_A07_003

STC89C52RC系统板X1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第3张图片 STM32F103C8T6系统板X1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第4张图片
  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的
DRV8833模块x1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第5张图片 DRV8833模块x1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第6张图片
步进电机x1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第7张图片 步进电机x1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第8张图片
Micro USB线X1 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第9张图片 Micro USB线X2 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第10张图片
母母杜邦线X12 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第11张图片 母母杜邦线X12 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第12张图片
J-LINK下载器 K_A07_005 基于 STM32等单片机驱动 DRV8833 模块按键控制步进电机正反转_第13张图片

八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 电机抖动 也可能是接线接触不良引起 需要排查

九、接线表格

单片机型号

模块

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

STC89C52RC

DRV8833模块

AIN1

AIN2

BIN2

BIN1

SLP

GND

P1.0

P1.1

P1.2

P1.3

接5V

GND

按键模块

KEY_L

KEY_R

GND

P1.4

P1.5

GND

STM32F103C8T6

DRV8833模块

AIN1

AIN2

BIN2

BIN1

SLP

GND

PA0

PA1

PA2

PA3

接5V

GND

按键模块

KEY_L

KEY_R

GND

PA5

PA6

GND

你可能感兴趣的:(STM32驱动DRV8833,51驱动DRV8833,DRV8833驱动步进电机)