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

目录

一、资源说明

二、基本参数

        1、参数

        2、引脚说明

三、驱动说明

        SETP时序

        对应程序:

        细分说明

        程序

四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+A4988模块

                1.2、STM32F103C8T6+A4988模块

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

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

七、项目所有材料清单

 八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

A4988模块

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

STM32F103C8T6

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

A4988模块

二、基本参数

        1、参数

        2、引脚说明

A4988模块

引脚说明

DIR

电机正反转控制

STEP

脉冲输入

SLEEP

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

RESET

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

MS3

细分选择MS3

MS2

细分选择MS2

MS1

细分选择MS1

ENABLE

使能引脚 低电平有效

GND

接单片机GND

VDD

接单片机5V

1B

接步进电机A+

1A

接步进电机A-

2A

接步进电机B+

2B

接步进电机B-

GND

外接电源负极

VMOT

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

三、驱动说明

        SETP时序

        对应程序:

                51用定时器来产生PWM信号

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

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

}

        细分说明

        程序

                此处用的是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+A4988模块

//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+A4988模块

//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_001

STC89C52RC系统板X1

3c095ac91c144a1fb839c94d72ddaa13.jpeg

STM32F103C8T6系统板X1

19d55f4dcd0a46b19d248a527f64ebba.jpeg

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

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

A4988模块x1

A4988模块x1

步进电机x1

步进电机x1

Micro USB线X1

3c4f905fb9c64dfab5048bc1d56f4484.jpeg

Micro USB线X2

dbcda456cb2a47c38954320e18baf52b.jpeg

母母杜邦线X16

23463e606a704c9080a453346713e953.jpeg

母母杜邦线X16

e1eaee320a1c4518a78ef97da644b379.jpeg
J-LINK下载器bcebfb6e8f2a450595c5f87905fb46bb.jpeg

 八、注意事项

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

九、接线表格

单片机型号

模块

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

STC89C52RC

A4988模块

DIR

SETP

SLEEP

RESET

MS3

MS2

MS1

ENABLE

P1.5

P1.4

接RESET

SLEEP

P1.3

P1.2

P1.1

P1.0

GND

VCC

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

A4988模块

DIR

SETP

SLEEP

RESET

MS3

MS2

MS1

ENABLE

PA4

PA6

RESET

SLEEP

PA3

PA2

PA1

PA0

GND

VCC

1B

1A

2A

2B

GND

VMOT

GND

5V

A+

A-

B+

B-

电源GND

电源8V

按键模块

KEY_L

KEY_R

GND

PA5

PA7

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值