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

目录

 一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        SETP时序

        对应程序:

        细分说明

        程序

四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+DRV8825模块

                1.2、STM32F103C8T6+DRV8825模块

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

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

七、项目所有材料清单

 八、注意事项

九、接线表格


 一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

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

STM32F103C8T6

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

二、基本参数

        1、参数

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

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

        2、引脚说明

DRV8825模块

引脚说明

DIR

电机正反转控制

STEP

脉冲输入

SLEEP

低电平使能使模块处于休眠模式(此处直接与RESET连接)

RESET

复位 (此处直接与SLEEP连接)

MS2

细分选择MS3(对应A4988_MS3)

MS1

细分选择MS2(对应A4988_MS2)

MS0

细分选择MS1(对应A4988_MS1)

ENABLE

使能引脚 低电平有效

GND

接单片机GND

FLT

接单片机5V

1B

接步进电机A+

1A

接步进电机A-

2A

接步进电机B+

2B

接步进电机B-

GND

外接电源负极

VMOT

外接电源正极 此处用的是8V

三、驱动说明

        DRV8825模块与A4988模块很类似,程序直接用A4988模块程序

        SETP时序

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

        对应程序:

                51用定时器来产生PWM信号

//定时器0中断服务函数
void tim0() interrupt 1
{
		TL0 = 0xF7;		//设置定时初始值
		TH0 = 0xFF;		//设置定时初始值10US

		times++;
		if(times<=Speed)
		{
			 SETP=1;
		}
		else
		{
			 SETP=0;
			 
		} 

}

        细分说明

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

        程序

                此处用的是P1的1、2 、3引脚 

#define A4988_MS  P1

#define Full_Step   		0x00
#define Half_Step			0x01
#define Quarter_Step		0x02
#define Eighth_Step			0x03
#define Sixteenth_Step		0x07
//配置细分函数
void Excitation_Mode(uint8_t F_Step)
{
		 A4988_MS=(A4988_MS&0xf1)|(F_Step<<1);
}

四、部分代码说明

        1、接线说明

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

                1.1、STC89C52RC+DRV8825模块

//A4988模块引脚定义
sbit ENABLE=P1^0;
sbit MS1=P1^1;
sbit MS2=P1^2;
sbit MS3=P1^3;
sbit SETP=P1^4;
sbit DIR=P1^5;
//按键引脚定义
sbit K_Syntropy=P2^0;			//顺时针
sbit K_Reverse =P2^1;			//逆时针

                1.2、STM32F103C8T6+DRV8825模块

//A4988模块引脚定义
// TIM3 输出比较通道1  SETP引脚
#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA
#define            GENERAL_TIM_CH1_PORT          GPIOA
#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6

//GPIOA
#define A4988_ENABLE   				GPIO_Pin_0  //					
#define A4988_MS1    				GPIO_Pin_1			// 
#define A4988_MS2     				GPIO_Pin_2		//	 
#define A4988_MS3     				GPIO_Pin_3			//   
#define A4988_DIR     				GPIO_Pin_4			//   

//GPIOA //按键引脚定义
#define K_Syntropy   				GPIO_Pin_5  		// 				#define K_Reverse    				GPIO_Pin_7			//	

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

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

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

        视频连接    直戳跳转

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

七、项目所有材料清单

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

备注

K_A07_003

STC89C52RC系统板X1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第5张图片 STM32F103C8T6系统板X1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第6张图片

1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电

2、杜邦线建议不用太长的

DRV8825模块x1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第7张图片 DRV8825模块x1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第8张图片
步进电机x1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第9张图片 步进电机x1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第10张图片
Micro USB线X1 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第11张图片 Micro USB线X2 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第12张图片
母母杜邦线X16 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第13张图片 母母杜邦线X16 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第14张图片
J-LINK下载器 K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转_第15张图片

 八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 电机抖动线且电流很大 先断电再排查步进电机接线顺序
  4. 电机抖动 也可能是接线接触不良引起 需要排查
  5. 电机抖动 也可是电流不适配原因 可调电位器调节电流大小

九、接线表格

单片机型号

模块

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

STC89C52RC

DRV8825模块

DIR

SETP

SLEEP

RESET

MS3

MS2

MS1

ENABLE

P1.5

P1.4

接RESET

SLEEP

P1.3

P1.2

P1.1

P1.0

GND

FLT

1B

1A

2A

2B

GND

VMOT

GND

5V

A+

A-

B+

B-

电源GND

电源8V

按键模块

KEY_L

KEY_R

GND

P2.0

P2.1

GND

STM32F103C8T6

DRV8825模块

DIR

SETP

SLEEP

RESET

MS3

MS2

MS1

ENABLE

PA4

PA6

RESET

SLEEP

PA3

PA2

PA1

PA0

GND

FLT

1B

1A

2A

2B

GND

VMOT

GND

5V

A+

A-

B+

B-

电源GND

电源8V

按键模块

KEY_L

KEY_R

GND

PA5

PA7

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