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

实物参考链接 直戳跳转

一、资源说明

二、基本参数


1.参数

2、引脚说明

三、驱动说明

步进电机驱动时序

反向输出

对应程序:

//顺时针逆时针选择
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+ULN2003模块

//输入信号引脚
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+ULN2003模块

//输入信号引脚
#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

五、基础知识学习

STC89C52RC程序下载 直戳跳转

STM32F103C8T6程序下载

1、串口下载  直戳跳转

2、ST-LINK下载  直戳跳转

3、J-LINK下载  直戳跳转

4、DAP-LINK下载  直戳跳转

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

演示视频连接 直戳跳转
资料获取 直戳跳转

实物参考链接 直戳跳转

七、注意事项

VCC GND请勿接反,接反易烧
显示异常时,排除接线接触不良
电机抖动 也可能是接线接触不良引起 需要排查

八、接线说明

可参考程序main.c最上面接线说明


深圳市咱们电子科技有限公司