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

本文档详细介绍了如何使用STM32F103C8T6和STC89C52RC单片机配合DRV8833模块驱动步进电机,包括资源说明、基本参数、驱动时序、代码解析、接线说明以及注意事项。提供STM32和STC89C52RC的引脚配置,并给出了驱动步进电机的C语言程序。此外,还包含了视频效果展示、相关资料下载链接和项目材料清单,帮助读者实现步进电机的正反转控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        步进电机驱动时序

        对应程序:

 四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+DRV8833模块

                1.2、STM32F103C8T6+DRV8833模块

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

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

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

DRV8833 模块

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

STM32F103C8T6

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

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程序改

        步进电机驱动时序

        对应程序:

//顺时针逆时针选择
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系统板X1STM32F103C8T6系统板X1
  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的
DRV8833模块x1DRV8833模块x1
步进电机x1步进电机x1
Micro USB线X1Micro USB线X2
母母杜邦线X12母母杜邦线X12
J-LINK下载器

八、注意事项

  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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值