目录

一、资源说明

二、基本参数

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;       //设置定时初始值10UStimes++;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

STM32F103C8T6系统板X1

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

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

A4988模块x1

A4988模块x1

步进电机x1

步进电机x1

Micro USB线X1

Micro USB线X2

母母杜邦线X16

母母杜邦线X16

J-LINK下载器

八、注意事项

  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

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

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

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 SETP时序 对应程序: 细分说明 程序 四.部分代码说明 1.接线说明 1.1.STC89C52RC+DRV8825模块 1. ...

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

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 步进电机驱动时序 对应程序: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+DRV8833模块 1.2.STM3 ...

  3. K_A07_002 基于 STM32等单片机驱动ULN2003模块按键控制步进电机正反转

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 步进电机驱动时序 反向输出 对应程序: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+ULN2003模块 1.2 ...

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

    目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 驱动时序 对应程序: 四.部分代码说明 接线说明 STC89C52RC+DRV8833模块 STM32F103C8T6+DRV8833模 ...

  5. K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...

  6. K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 L9110模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+L9110模块 2.STM ...

  7. K_A08_002 基于 STM32等单片机驱动MAX1508模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 3.驱动说明 MAX1508模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MAX1508模块 2 ...

  8. K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 TB6612模块驱动说明 对应程序: ENA ENB输出PWM 四.部分代码说明 接线说明 1.STC89C52RC+TB661 ...

  9. K_A08_005 基于 STM32等单片机驱动XY-160D模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 四.部分代码说明 接线说明 1.STC89C52RC+XY-160D模块 2.STM32F103C8T6+XY-160D模块 五.基础知识学习与相关资料下载 六.视频 ...

最新文章

  1. 机电传动控制课程第一周学习笔记
  2. JavaWeb学习之路——SSM框架之SpringMVC(八)
  3. java普通类获取session_springboot普通类中如何获取session?
  4. poj2594(二分图,最小路径覆盖变形)
  5. 如何在textarea中显示html代码
  6. 蜂鸟开发板 linux,蜂鸟E203系列——Linux下运行hello world例程
  7. linux软件读取不到空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  8. 软件测试模型-敏捷模型
  9. php读取剪贴板内容,js如何处理剪贴板的内容?js处理剪贴板的内容的方法
  10. Ansible8:Playbook循环
  11. 软件测试基础——理论知识
  12. 关于Kav7的离线升级
  13. 电芯知识汇总(转载)
  14. 微弱信号检测_科学家发现水溶液中气体磁共振信号增强新方法
  15. Linux:使用libgen.h:basename,dirname
  16. 4.文件读取操作_read函数
  17. 【数学建模】主成因分析
  18. Fiddler修改返回数据教程,亲测有效
  19. vue实例和组件的区别
  20. 关于数据库表结构的设计

热门文章

  1. 猴子摘香蕉问题python_Python实战,解决数学小问题猴子分香蕉
  2. 抖音多帧延迟教你前端实现方式
  3. FPGA基本引脚知识
  4. 中国大学MOOC课程《Python语言程序设计》课后练习第一周
  5. RPM打包过程及spec文件解释
  6. 打印系统开发(30)——调用API弹出打印机属性对话框
  7. 关于Linux系统七日杀服务器的那些事——持续更新中
  8. All Palindrome
  9. python 基础系列(十二) — python正则
  10. 华为云大数据智能数据湖FusionInsight