STM32 cubeMX 直流电机控制风扇转动

news2024/9/24 7:22:32

本文使用的是 HAL 库。

文章目录

  • 前言
  • 一、直流电机介绍
  • 二、直流电机原理图
  • 三、直流电机控制方法
  • 四、STM32CubeMX 配置直流电机
  • 五、代码编写
  • 总结

前言

  • 实验开发板:STM32F051K8。
  • 所需软件:keil5 , cubeMX 。
  • 实验目的:了解 直流电机,风扇 的配置和使用。

一、直流电机介绍

直流电机是一种电动机类型,它通过直流电源供电,将电能转化为机械能。这类电机在各种应用中都得到广泛使用,包括工业、汽车、家用电器等领域

主要特点:

  • 可控性:通过控制电流或者电压,可以调节直流电机的转速和扭矩。

  • 高启动转矩:直流电机通常具有较高的启动转矩,适合需要大扭矩启动的应用。

  • 易于控制:直流电机的速度和转向可以通过简单的电路控制来实现。

  • 应用广泛:由于其特性和控制便利性,直流电机在许多应用领域都有广泛的应用,包括电动车辆、机械传动、风扇、泵等。

直流电机因其简单的控制方式、高效率和广泛的应用范围而备受青睐,但也有一些局限性,比如需要维护电刷(对于有刷电机)、电刷磨损等问题。

二、直流电机原理图

直流电机由两根线控制:
一根线连接到了5V电源端口,一根线连接到了D1端口。
在这里插入图片描述
D1连接到开发板的PB7端口:

在这里插入图片描述

三、直流电机控制方法

因为一个端口已经连接到了5V端口,所以要想让直流电机旋转起来那另一个端口就必须设置为低电平才能让他转动起来。
在这里插入图片描述

四、STM32CubeMX 配置直流电机

把直流电机端口配置为输出端口即可。

在这里插入图片描述

五、代码编写

直流电机控制风扇,持续让风扇打开 5 秒,关闭 5 秒。

// 打开风扇
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET);
HAL_Delay(5000);

// 关闭风扇
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET);
HAL_Delay(5000);

示例:
在这里插入图片描述


总结

下一篇文章为大家继续介绍 STM32 cubeMX 的温湿度模块。

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

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

相关文章

iconfont拓展iview图标库

文章目录 前言1.如何下载图标?首先进入官网,找属于自己需求的图标,添加到购物车2.点击右上角的购物车,会来到此页面,点击下载代码3.下载完成后,是一个压缩包,文件内容如下4.在项目assets下新建一…

TCP协议工作原理及实战(一)

实战项目目标: ui搭建:clientconnect 客户端连接 clientdisconnect 客户端断开 socketreaddate 使用套接字传输数据 newconnection新的连接 获取本机的IP地址: 获取本机的ip地址可以参考前面的QT网络编程协议 将得到的ip地址放入combox中…

实现 Spring Boot 项目热重载,无需重启,省时省力

实现 Spring Boot 项目热重载,无需重启,省时省力 插件介绍 通过 JRebel 插件 实现 Spring Boot 项目热重载。类似于前端 Webpack 热重载功能 无需重启,省时省力 安装插件 打开 IDEA 在插件中搜索:JRebel 安装成功后重启IDEA …

[环境配置]win11关闭病毒和威胁防护防止乱删软件

选择桌面的开始图标,选择“设置”功能 点击隐私和安全性功能,进入“Windows安全中心” 点击开启Windows安全中心。 将实时保护和其他保护功能进行关闭就可以了。

【AI美图】第09期效果图,AI人工智能汽车+摩托车系列图集

期待中的未来AI汽车 欢迎来到未来的世界,一个充满创新和无限可能的世界,这里有你从未见过的科技奇迹——AI汽车。 想象一下,你站在十字路口,繁忙的交通信号灯在你的视线中闪烁,汽车如潮水般涌来,但是&…

【论文阅读笔记】SegVol: Universal and Interactive Volumetric Medical Image Segmentation

Du Y, Bai F, Huang T, et al. SegVol: Universal and Interactive Volumetric Medical Image Segmentation[J]. arXiv preprint arXiv:2311.13385, 2023.[代码开源] 【论文概述】 本文思路借鉴于自然图像分割领域的SAM,介绍了一种名为SegVol的先进医学图像分割模型…

Linux用户与文件权限学习

Linux是一个多用户操作系统,允许多个用户同时登录和使用系统资源,在Linux中,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。Linux的多用户管理也可以通过组的概念来…

Python | 使用VIF检测多重共线性

多重共线性是指多元回归模型中有两个或两个以上的自变量,它们之间具有高度的相关性。当某些特征高度相关时,我们可能很难区分它们对因变量的个体影响。多重共线性可以使用各种技术来检测,其中一种技术是方差膨胀因子(VIF&#xff…

Windows操作系统中:共享文件夹以及防火墙介绍

目录 一.共享文件夹 1.什么是共享文件夹 2.共享文件夹的优点以及不足 优点 不足之处 3.实际案例操作 共享介绍 普通共享 实例展示 高级共享 实例展示 二.防火墙 1.防火墙介绍 主要功能 2.防火墙常见的应用场景 3.实例操作 操作介绍 出现的问题 解决措施…

人工智能_机器学习074_SVM支持向量机_软间隔与优化目标函数构建_C参数由来_惩罚误差点的惩罚度---人工智能工作笔记0114

然后我们接着上一节再来看一下这里我们说有个 min_faces_per_person = 0 这个可以看到如果我们写上0,就意味着要加载所有的人脸图片,就会花费的时间久对吧 我们可以试试,这里我们 min_faces_per_person = 0 改成0然后 我们等一会加载完了以后,我们用 display(X.shape,faces.sh…

图灵日记之java奇妙历险记--输入输出方法数组

目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应…

定制TikTok引流脚本必备功能!

在TikTok的海洋中,如何让你的品牌或产品脱颖而出?除了内容创新,一个高效的TikTok引流脚本也是关键,本文将为你揭示定制TikTok引流脚本必备的四大功能,助你在这场流量大战中占得先机。 一、消息多发 在TikTok上,消息…

doris基本操作,05-Rollup

简述 Rollup类似于mysql的视图,区别在于视图并没有将数据独立存储,视图是逻辑上的连接。而Rollup将数据独立存储了,玩的是真的。当查询命中Rollup时,会从Rollup表里获取数据,提高查询效率。 操作 创建Rollup表 alt…

裸机开发(1)-汇编基础

文章目录 GNU汇编语法常用汇编指令处理器内部数据传输指令存储器访问指令压栈和出栈指令跳转指令算术指令逻辑运算指令实战 函数发生调用时,需要进行线程保护,简单来说,就是先进行压栈操作,将调用函数参数、返回值等存到R0-15寄存…

洛谷 CSP-J 2021 分糖果+插入排序 个人解答的优化过程以及详解

首先声明这两道题目第一题很简单,读者可以不看解答自己先做一遍题目,看看能不能获得满分,我就是因为无意识考虑时间复杂度的问题没有获得满分最开始,然后我进行了优化,获得了满分,但是第二题的难度较大&…

内存之-LeakCanary

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、使用四、原理分析4.1 自动初始化4.1.1 初始化…

使用 fixture 机制重构 appium_helloworld

一、前置说明 在 pytest 基础讲解 章节,介绍了 pytest 的特性和基本用法,现在我们可以使用 pytest 的一些机制,来重构 appium_helloworld 。 appium_helloworld 链接: 编写第一个APP自动化脚本 appium_helloworld ,将脚本跑起来 代码目录结构: pytest.ini 设置: [pyt…

利用FLRIT恢复符号表---笔记

文章目录 FLIRT应用FLIRT签名创建FLIRT签名文件创建签名概述识别和获取静态库创建模式文件创建签名信息 FLIRT 在某些ELF文件中,IDA无法识别库函数的签名。就会导致IDA加载的函数全是sub_xxxx的形式,这给我们的逆向工程造成极大的困难。 这个时候就可以…

Python爬虫中的多线程、线程池

进程和线程的基本介绍 进程是一个资源单位,线程是一个执行单位,CPU调度线程来执行程序代码。 当运行一个程序时,会给这个程序分配一个内存空间,存放变量等各种信息资源,而这个内存空间可以说是一个进程, 一…

Linux文件系统与命令行

什么是命令行? 接收键盘命令并将其传给操作系统执行的程序(用于输入和管理命令的程序),统称命令行,也叫: Shell,几乎所有Linux发行版都提供了一个 Shell 程序,叫做: Bash (Bourne-Again Shell, 因为最初的 Shell 是由 Steve Bourne 编写的原始 Unix 程序, Again 表…