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

news2024/11/28 22:39:04

目录

一、资源说明

二、基本参数

        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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#使用EPPlus操作Excel(读写)

之所以使用EPPlus操作Excel是因为微软自带的运行效率太低,数据多后会特别慢,不能满足现场要求。如果想速度快,而且只是读取Excel的配置还有另一个办法就是将Excel保存成xml文件,参考我的另一个文章:C# 读取XML格式的Ex…

概率统计·大数定律及中心极限定理【大数定律、中心极限定律】

这一章的学习更多的是为后面的知识作铺垫,所以内容比较少🍘🍘🍘(当然也减轻一点复习的负担🤗🤗🤗) 依概率收敛 需要概率P极限趋近于1 切比雪夫不等式的特殊情况 前提&…

数据库-sql执行深度剖析以及redo log和undo log(下)(二)

目录 buffer pool change Buffer Log Buffer redo log 随机IO/顺序IO redo log刷盘时机 redo logt特点 redo log结构 Adaptive Hash Index 磁盘区域 undo log 总结更新流程 BInlog 基于上一章sql执行原理基础上,我们来深入探讨sql更新的整个原理。 bu…

力扣(LeetCode)33. 搜索旋转排序数组(C++)

二分查找 二分的本质,是对某种性质的划分,一半满足,另一半不满足,即可划分。 比较 nums[mid]nums[mid]nums[mid] 和 nums[0]nums[0]nums[0] ,可以知道 midmidmid 左右哪一端有序。 如果左端有序,我们找往…

66.基于Django学习会话技术

1. 背景介绍 ​ HTTP协议有一个特性就是无状态的,是指协议对于交互性场景没有记忆能力。 ​ 随着动态交互的web应用的出现,HTTP的无状态特性严重阻碍了动态交互应用程序的发展,例如一些购物网站在进行购物时候都会进行了页面跳转/刷新&…

西门子 S7-1200 与 BL200PN 通信示例

准备 IO 模块:耦合器 BL200PN、数字量输出模块 M2082、数字量输入 M1081、 模拟量输入模块 M3401、模拟量输出 M4043。 2、BL200PN、S7-1200、PC 要同一局域网。将 BL200PN 和 S7-1200 上电,打开西 门子 TIA V13 软件,新建项目“BL200PN”…

SpringBoot开发的实用小工具集,YYDS

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 springboot开发的实用小工具集 环境搭建说明 开发环境为jdk1.8,基于maven构建; 使用Idea或者eclipase开发; 基于SpringBoot搭建,大大简化了配置操作;…

DBCO-mPEG2000,二苯并环辛炔-mPEG MW 2000具有亲和力和稳定性

DBCO-mPEG2000白色固体, DBCO试剂在水性缓冲液中具有快速的亲和力和稳定性,可用于以高特异性和反应性标记叠氮化物修饰的生物分子。带有 PEG 臂的试剂会增加化合物的亲水性。西安凯新生物科技有限公司​DBCO 试剂已广泛应用于生物偶联、标记和化学生物学…

你需要知道的前端知识点,V8引擎是什么?采用哪些GC算法?

一、简单介绍V8引擎 V8引擎是一款主流的JavaScript执行引擎;V8执行引擎采用及时编译(执行速度提升);V8引擎中内存设置有上限(下方进行详解); 二、V8回收策略 采用分代回收思想;内存分为新生代对象存储与老生代对象存储;针对不同…

Colmap 实用教程 —— Command-line Interface

https://colmap.github.io/index.html Windows 通过 COLMAP.bat,Linux 通过 colmap 使用命令行调用 Colmap 工具。 Structure-from-Motion 简要介绍 从大范围来看的话,整个流程可以分成以下三个阶段: Feature detection and extractionFe…

MQ通道常用知识列举(一)

MQ的几个基本组件: 1. 什么是通道 通道是分布式队列管理器在IBM MQ MQI 客户端和IBM MQ服务器之间或两个IBM MQ服务器之间使用的逻辑通信链路。通道用于将消息从一个队列管理器移动到另一个队列管理器。 2, 启动通道 对发送方、服务器和请求方通道使用 MQSC 命令…

CentOS 7.6安装JDK8过程(通过官网下载压缩包方式)

Oracle官网JDK下载地址 JDK8下载地址 选择tar.gz压缩包进行下载 复制下载链接,登录服务器,执行wget xxxxx(刚刚复制的下载地址) 下载完毕后,执行解压命令tar -zxvf xxxxx.tar.gz 配置/etc/profile 执行命令vim /etc…

把Mybatis Generator生成的代码加上想要的注释

作者:王建乐 1 前言 在日常开发工作中,我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中,注释并不是我们想要的,所以一般在Generator配置文件中,会设置不…

Java题目集

Java冒泡排序和查找冒泡排序,从小到达排列查找,某一个字符串输出如下数据输出杨辉三角形冒泡排序,从小到达排列 分析:数组 [15,21,20,35,10] 第 1 轮排序: 目标把最大数放在最后 第 1 次比较 [15,21,20,35,10] 第 2 次比较 [15,21,20,35,10…

目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例

目标检测 YOLOv5 - ncnn模型的加密 C实现封装库和Android调用库示例 flyfish 文章目录目标检测 YOLOv5 - ncnn模型的加密 C实现封装库和Android调用库示例前言模型版本库的版本示例程序的编译环境模型的转换库的制作主要接口部分模型初始化部分推理的输入输出CMakeList的配置示…

LeetCode-878-第N个神奇数字

1、二分查找 如果我们用函数f(x)f(x)f(x)表示数字小于x的神奇数字的个数,显然我们可以得到如下的公式:f(x)⌊xa⌋⌊xb⌋−⌊xc⌋f(x)\left \lfloor \frac{x}{a} \right \rfloor\left \lfloor \frac{x}{b} \right \rfloor-\left \lfloor \frac{x}{c} \ri…

门店管理|火锅店数字化系统转型

火锅几乎是每个人的最爱,吃着火锅喝着酒,生活日子乐逍遥。在很多火锅店里,我们经常可以看见客人爆满。虽然这几天疫情的冲击导致不少餐饮商家生存很难,但随着对疫情的有效控制,餐饮行业正在回暖。 无论以前还是现在&am…

艾美捷 DetergentOUT GB-S10去垢剂的特点和多种应用

去垢剂,亦有称为清洁剂,主要成分是表面活性剂(部分场合即特指表面活性剂,可分阴离子、阳离子和中性去垢剂等多种类型,中性去垢剂在蛋白提取中应用的较多),根据实际需求有时也会包括研磨剂,pH调节剂&#xf…

Spring Cloud Alibaba(一)

整合nacos 一、项目结构small-shop为父工程&#xff0c;order(订单服务)、stock(库存服务) 二、父工程pom.xml文件&#xff0c;添加基础依赖&#xff0c;控制版本 <modules><module>order</module><module>stock</module></modules><pr…

数字时代,医疗健康企业如何通过数字营销创造用户价值

前言&#xff1a;数字化时代&#xff0c;数字营销为企业深入洞察用户需求、把握用户画像、与用户建立有效互动提供了可能性&#xff0c;从而帮助企业实现降本增效的精细化营销&#xff0c;大大提升企业的经营效率。对医疗健康企业来说&#xff0c;因其行业和需求的特殊性&#…