目录
单片机型号 | 测试条件 | 模块名称 | 代码功能 |
1.晶振11.0592M | A4988模块 | 单片机驱动A4988模块按键控制步进电机正反转 | |
| A4988模块 |
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 |
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);
- }
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
- //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; //逆时针
- //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 //
视频连接 直戳跳转
资料获取 直戳跳转
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下载器 |
单片机型号 | 模块 | 对应引脚(上:模块引脚 下:单片机引脚) | |||||||
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 |