K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停

news2024/10/5 16:26:41

目录

一、资源说明

二、基本参数

        参数

        引脚说明

三、驱动说明

        大功率MOS模块驱动

        对应程序:

四、部分代码说明

        接线说明

                STC89C52RC+大功率MOS模块

                STM32F103C8T6+大功率MOS模块

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

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

七、项目主要材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

大功率MOS管模块

(D4184)

单片机驱动大功率MOS管模块按键控制直流电机加减速启停

STM32F103C8T6

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

大功率MOS管模块

(D4184)

二、基本参数

        参数

        引脚说明

 

此模块不带隔离 不建议驱动电机 接电机会有一定干扰

驱动方式与下面带隔离类似

大功率MOS管模

引脚说明

TRIG/PWM

高电平有效 输入信号 PWM或者高电平

GND

信号地 接单片机时接单片机GND

VIN+

电源输入正极

VIN-

电源输入负极

OUT+

输出正极 接负载正极

OUT-

输出负极 接负载负极

 

 

带隔离 驱动电机类负载建议用这种

大功率MOS管模

引脚说明

HIGH/PWM

高电平有效 输入信号 PWM或者高电平

GND

信号地 接单片机时接单片机GND

LOW/SWTCH

低电平有效 输入信号 PWM或者低电平

VIN+

电源输入正极

VIN-

电源输入负极

OUT+

输出正极 接负载正极

OUT-

输出负极 接负载负极

三、驱动说明

        大功率MOS模块驱动

        对应程序:

                以下以STC89C52RC程序为例,

//启动
void turn_Start(void)
{
	TR0=1;
}
//停止
void turn_Stop(void)
{
	Pwm_IN1_R=0;
	TR0=0;
}PWM信号

                此处用51定时器1来生成

//Speed值决定转速快慢
void tim0() interrupt 1
{
		TL0 = 0xA4;		//设置定时初值
		TH0 = 0xFF;		//设置定时初值  0.1ms

		times++;
		if(times<=Speed)
		{
				Pwm_IN1_R=1;				
		}
		else
		{
				Pwm_IN1_R=0;
		} 
		if(times>=Period)
		{
			 times=0;
		}
}

四、部分代码说明

        接线说明

                需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

                STC89C52RC+大功率MOS模块

// 大功率MOS 引脚定义

//注意用STC89C52RC单片机需要接一个4.7K左右上拉电阻

sbit Pwm_IN1_R=P1^0;

//按键引脚定义

sbit K_Start_Stop=P2^0;   //启停按键

sbit K_UP_Speed=P2^2; //两电机同时加速按键

sbit K_Down_Speed=P2^3; //两电机同时减速按键

                STM32F103C8T6+大功率MOS模块

// 大功率MOS 引脚定义

// TIM3 输出比较通道1

#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA

#define            GENERAL_TIM_CH1_PORT          GPIOA

#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6

//按键引脚定义

#define K_Start_Stop    GPIO_Pin_4  //启停按键 GPIOB_Pin_4 0x0010   //?GPIOB_Pin_3

#define K_Syntropy_Reverse    GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020

#define K_UP_Speed      GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040

#define K_Down_Speed      GPIO_Pin_7 //两电机同时减速按键   GPIOB_Pin_7 0x0080

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

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

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

        视频连接    直戳跳转

        资料获取   直戳跳转

七、项目主要材料清单

STC89C52RC驱动方案

图片

STM32F103C8T6驱动方案

图片

备注

K_A08_013

STC89C52RC系统板X1

 

STM32F103C8T6系统板X1

 

  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的

大功率MOS模块(不带隔离)x1

 

大功率MOS模块(不带隔离)x1

 

大功率MOS模块(带隔离)x1

 

大功率MOS模块(带隔离)x1

 

直流电机x1

 

直流电机x1

 

Micro USB线X1

 

Micro USB线X2

 

杜邦线若干

 

杜邦线若干

 

J-LINK下载器

 

八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 单片机与模块需要共地接线
  4. 用STC89C52RC信号引脚需要接4.7K左右上拉电阻
  5. 目前用STM32开发板驱动按键启动会有一点异常 暂未找到原因 欢迎一起讨论

九、接线表格

单片机型号

模块

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

STC89C52RC

大功率MOS模块(不带隔离)

TRIG/PWM

GND

P1.0

GND

大功率MOS模块(带隔离)

HIGH/PWM

LOW/SWTCH

GND

P1.0(接其中一个即可)

GND

按键模块

KEY1

KEY3

KEY4

GND

P2.0

P2.2

P2.3

GND

STM32F103C8T6

大功率MOS模块

TRIG/PWM

GND

PA6

GND

大功率MOS模块(带隔离)

HIGH/PWM

LOW/SWTCH

GND

PA6(接其中一个即可)

GND

按键模块

KEY1

KEY3

KEY4

GND

PB4

PB6

PB7

GND

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

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

相关文章

Dockers更新镜像(保留原始数据)

文章目录 一、前言二、使用步骤1.拉取需要更新的镜像版本2.获取当前镜像启动参数3.停止当前镜像4.启动新镜像5.删除旧镜像三、测试验证一、前言 日常工作中,应用程序为了避免漏洞、体验等等肯定是需要定期更新的,使用Docker安装的应用镜像也一样需要定期更新。更新最大的风险…

搭建基于lvs+nginx的负载均衡服务集群

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;蟹黄瓜子文章来源&#xff1a;社区投稿 1.基于四层七层的负载均衡 实现负载均衡的方式有很多&#xff0c;例如…

使用C#写一个Windows服务

创建服务程序 可能你的VS里面没有【Windows服务】这个模板&#xff0c;那么你就需要通过“打开Visual Studio安装程序“&#xff0c;通过VisualStudio Installer来通过“修改”来安装【.NET桌面开发】 通过上面两个地方均可以进入对应的代码文件 public partial class …

4年功能测试月薪9.5K,4个月时间进阶自动化,跳槽涨薪4k后我的路还很长...

前言 最开始我并不是互联网从业者&#xff0c;是经历了一场六个月的培训才入的行&#xff0c;这个经历仿佛就是一个遮羞布&#xff0c;不能让任何人知道&#xff0c;就算有面试的时候被问到你是不是被培训的&#xff0c;我还是不能承认这段历史。我是为了生存&#xff0c;才选…

使用遗传算法计算神经网络的超参数

遗传算法是基于种群的思想&#xff0c;将问题的解通过编码的方式转化为种群中的个体&#xff0c;并让这些个体不断地通过选择、交叉和变异算子模拟生物的进化过程&#xff0c;然后利用“优胜劣汰”法则选择种群中适应性较强的个体构成子种群&#xff0c;然后让子种群重复类似的…

nginx配置websocket支持wss

和前端联调完项目之后&#xff0c;将项目部署到了开发环境上面。结果这时候发现ws连接报错了&#xff0c;怎么回事&#xff0c;明明和前端在本地都联调好了的&#xff01; 观察报错发现&#xff0c;提示我们需要使用wss连接&#xff0c;而我和前端在对接联调时使用的是ws连接。…

mysql 学习---窗口函数

文章目录Mysql 8.0新特性窗口函数常见窗口函数Mysql 8.0新特性 窗口函数 理解&#xff1a; 窗口函数的作用类似于在查询中对数据进行分组&#xff0c;类似于聚合函数&#xff0c;但不同的是把聚合函数是分组的记录合成一条&#xff0c;也就是一组一条数据&#xff0c;窗口函数…

缓存击穿、缓存穿透、缓存雪崩

初学者总是喜欢自己吓自己&#xff0c;在听到缓存击穿、缓存穿透、缓存雪崩等问题后&#xff0c;就觉得这根本不是自己这个级别所能接触的知识点&#xff0c;甚至不敢下定决心去了解。 然而&#xff0c;缓存击穿、缓存穿透、缓存雪崩等概念只是听着高大上罢了&#xff0c;实则并…

RabbitMq应用

1.RabbitMQ介绍 1.1现存问题 服务调用&#xff1a;两个服务调用时&#xff0c;我们可以通过传统的HTTP方式&#xff0c;让服务A直接去调用服务B的接口&#xff0c;但是这种方式是同步的方式&#xff0c;虽然可以采用SpringBoot提供的Async注解实现异步调用&#xff0c;但是这…

Spring之AOP

谈起AOP就不得不说起代理&#xff0c;Java 源代码经过编译生成字节码&#xff0c;然后再由 JVM 经过类加载&#xff0c;连接&#xff0c;初始化成 Java 类型&#xff0c;可以看到字节码是关键&#xff0c;静态和动态的区别就在于字节码生成的时机 静态代理&#xff1a;由程序员…

BLE MESH中的Secure Network beacon包

作用&#xff1a;节点使用安全网络信标来识别子网及其安全状态。可以用来更新Key和Iv Index。 数据包结构&#xff1a; 数据包格式&#xff1a; 大小含义 Beacon Type 1安全网络信标&#xff08;0x01&#xff09; Flags1包含密钥刷新标志和IV更新标志 Network ID8包含网络ID的值…

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II

今天是链表章节最后一天&#xff0c;加油&#x1f4aa; 24. 两两交换链表中的节点 题目&#xff1a;给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节…

html练习11:案例仿制

1.目标效果 2.布局效果 3.顶端部分制作效果 问题&#xff1a;img和p无法同时垂直居中显示&#xff0c;img会顶端对齐&#xff0c;p会底部对齐 解决方法&#xff1a;把img作为背景加入&#xff1b;用两个div分别做img和p的容器再进行格式调整 4.导航栏部分制作效果 要点&#…

保证项目如期上线,测试人能做些什么?

要保证项目按照正常进度发布&#xff0c;需要整个研发团队齐心协力。 有很多原因都可能会造成项目延期。 1、产品经理频繁修改需求 2、开发团队存在技术难题 3、测试团队测不完 今天我想跟大家聊一下&#xff0c;测试团队如何保证项目按期上线&#xff0c;以及在这个过程中可能…

词法分析程序

一、实验原理 1.1实验内容 通过本实验&#xff0c;应达到以下目标&#xff1a; 1.掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 2.掌握词法分析的实现方法。 3.上机调试编出的词法分析程序。 1.2实验内容 词法分析是作为相对独立的阶段来完成的…

C# 事件

一 C#中的事件 大致上&#xff1a;事件-----回调函数&#xff1b; 二 用户界面中的事件 ① 按钮点击事件 ② 基本的写法 this.button1.Clicknew System.EventHandler(this.button1_Click); private void button1_Click(object sender,EventHandler e) {this.label1.TextDat…

C++智能指针weak_ptr

C智能指针weak_ptr 学习路线&#xff1a;C智能指针shared_ptr->C智能指针unique_ptr->C智能指针weak_ptr 简介&#xff1a;本文讲解常用的智能指针的用法和原理&#xff0c;包括shared_ptr,unique_ptr,weak_ptr。 概述 weak_ptr设计的目的是为配合 shared_ptr 而引入…

静电场方程与边界面上的衔接条件 工程电磁学 P6

我们现在已经知道两个公式 我们可以得到微分形式 对于体密度&#xff0c;面密度&#xff0c;线密度&#xff0c;点电荷的理解 很多同学会问空间中为什么要有面密度&#xff0c;线密度的存在呢&#xff1f; 其实这个是模型的需要&#xff0c;因为介质不一定是连续的&#xff0…

如何设计一个高性能的图 Schema

本文整理自青藤云安全工程师——文洲在青藤云技术团队内部分享&#xff0c;分享视频参考&#xff1a;https://www.bilibili.com/video/BV1r64y1R72i 图数据库的性能和 schema 的设计息息相关&#xff0c;但是 NebulaGraph 官方本身对图 schema 的设计其实没有一个定论&#xff…

Codeforces Round #837 (Div. 2) C. Hossam and Trainees

Problem - C - Codeforces 翻译&#xff1a; 胡萨姆有&#x1d45b;名学员。他给&#x1d456;-th的学员分配了一个号码&#x1d44e;&#x1d456;。 一双&#x1d456;-th和&#x1d457;-th(&#x1d456;≠&#x1d457;)学员被称为成功的如果有一个整数&#x1d465;(&…