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

目录

一、资源说明

二、基本参数

        1.参数

        2、引脚说明

三、驱动说明

        步进电机驱动时序

        反向输出

        对应程序:

四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+ULN2003模块

                1.2、STM32F103C8T6+ULN2003模块

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

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

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

ULN2003模块

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

STM32F103C8T6

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

ULN2003模块

二、基本参数

        1.参数

        2、引脚说明

ULN2003模块

引脚说明

IN1

信号输入1

IN2

信号输入2

IN3

信号输入3

IN4

信号输入4

GND

GND (单独供电需要与单片机共地)

VCC

5V(建议单独供电)

三、驱动说明

        步进电机驱动时序

        反向输出

        对应程序:

//顺时针逆时针选择
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

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

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

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

        视频连接    直戳跳转

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

七、项目所有材料清单

STC89C52RC驱动方案

图片

STM32F103C8T6驱动方案

图片

备注

K_A07_002

STC89C52RC系统板X1

3c095ac91c144a1fb839c94d72ddaa13.jpeg

STM32F103C8T6系统板X1

19d55f4dcd0a46b19d248a527f64ebba.jpeg

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

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

ULN2003模块x1

ULN2003模块x1

步进电机x1

步进电机x1

Micro USB线X1

3c4f905fb9c64dfab5048bc1d56f4484.jpeg

Micro USB线X2

dbcda456cb2a47c38954320e18baf52b.jpeg

母母杜邦线X6

23463e606a704c9080a453346713e953.jpeg

母母杜邦线X6

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

八、注意事项

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

九、接线表格

单片机型号

模块

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

STC89C52RC

ULN2003模块

IN1

IN2

IN3

IN4

GND

VCC

P1.0

P1.1

P1.2

P1.3

GND

5V

按键模块

KEY_L

KEY_R

GND

P1.4

P1.5

GND

STM32F103C8T6

ULN2003模块

IN1

IN2

IN3

IN4

GND

VCC

PA0

PA1

PA2

PA3

GND

5V

按键模块

KEY_L

KEY_R

GND

PA5

PA6

GND

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值