第20讲 动画讲解轻松学会STM32的PWM

来源:【STM32】动画讲解轻松学会STM32的PWM_哔哩哔哩_bilibili

基本概念

周期/频率

计算公式:PWM周期=1个高电平用时+1个低电平用时

                  PWM的频率=1/周期

如图所示此时周期为1ms,即1s内存在1000组这样的高低电平,PWM的频率为1000hz。


占空比

计算公式:PWM占空比=高电平用时/PWM周期

即高电平在一个PWM周期内占用的时间比例就叫做占空比。

如图所示1个周期为1ms的PWM方波中高电平占用0.8ms,那么这个PWM方波的占空比就是80%。

用途

PWM设计初衷就是利用数字信号尽可能地拟合模拟信号,手段就是调节PWM的占空比。

如图所示,高电平为3.3V,低电平为0V,那么设置占空比为50%就可以从宏观角度实现输出直流信号幅值为1.65V。

那么同理,占空比为10%时,信号幅值为0.33V。

最关键的是PWM可以实现动态变化,比如如图所示的用PWM拟合sin函数(原理是傅里叶变换,感兴趣的同学可以去看正点原子的手册)。合理调节占空比和频率后输出的PWM信号,就可以控制电机的转速、灯泡的明暗程度、蜂鸣器的音调、舵机的角度等外部设备参数。

TIM实现PWM的输出的原理

定时器的输出比较模式可以输出我们想要的脉冲宽度。在输出比较模式下,我们首先要在比较寄存器中写入一个数值。之后定时器会一直比较计数器值与比较寄存器数值的大小关系,根据这个大小关系来决定输出有效电平还是无效电平。

输入捕获的几种模式:

①冻结模式:输出通道GPIO口不理会比较结果,依旧维持旧的输出状态

②强制有效\强制无效:强制输出通道GPIO口输出有效\无效电平

③匹配有效\匹配无效:比较计数器值与比较寄存器数值相等时输出有效电平\无效电平(如果相等前就是有效\无效电平则维持)

④匹配翻转:二值完全相等时翻转当前输出的电平,这种模式可以输出占空比为50%的方波

④PWM模式:第一种比较计数器值<比较寄存器数值,输出有效电平,反之输出无效电平;第二种比较计数器值>比较寄存器数值,输出有效电平,反之输出无效电平。

同时注意存在向上计数、向下计数以及中央对其模式,下图为三者的矩阵形式概述:

但一般我们也只用向上计数

实际操作

 首先可以看看拙作:利用STM32的定时器输出PWM方波_stm32f030 定时器方波-CSDN博客

下面介绍一下kk讲的:

①选中可以输出PWM的定时器Channel

②在Timers的mode面板上,设置Clock Source为Interal Clock;输出通道选择PWM输出模式

③在Timers的Configuration面板上设置参数

1.PWM周期=(Prescaler+1)(Counter Period+1)/挂载定时器的时钟总线频率,通过这个公式填写预分频系数和时钟周期

2.计数模式选择为向上计数

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python自动化办公2.0 课程更新

之前的课程&#xff0c;包含了Python pandassklearn 数据分析&#xff0c;和Stremlit 可视化仪表盘的开发 和一系列自动化项目案例的开发&#xff0c;包括我们封装了ztl-uia 模块&#xff0c;可以同时自动化操控windows 软件和浏览器, 封装的模块&#xff0c;针对为付费学员使…

使用 FinalShell 链接 Centos

1. 安装 FinalShell 下载地址&#xff1a;https://www.hostbuf.com/t/988.html 2. 查看 IP地址。 2.1 通过命令查询IP 输入 ip addr show 查询&#xff0c;输出效果如下截图&#xff0c;其中的 192.168.1.5 就是 IP 地址。 2.2 通过可视化界面查询IP 点击右上角的网络图标…

亲测分享:这个获客工具,精准又好用!

如何高效、精准地获取目标客户成为了每一家企业都面临的重大挑战。传统的获客方式不仅效率低下&#xff0c;而且成本高昂&#xff0c;往往难以达到预期的营销效果。 今天&#xff0c;我就作为一位亲身体验者&#xff0c;向大家分享这个精准又好用的获客工具——易拓客。 随时…

论文辅助笔记:Large Language Models are Zero-Shot Next LocationPredictors

论文理论部分&#xff1a;论文笔记&#xff1a;lunLarge Language Models are Zero-Shot Next LocationPredictors-CSDN博客 2 Data 2.1 Dataset类 2.2 下载文件 2.3 get_dataset 2.4 get_trajectories trajectory_split暂时略去 # save the test dictionary and the true l…

cad导出为jpg图片的方法,分享这三种方法

在工程设计、建筑设计或任何需要使用CAD&#xff08;计算机辅助设计&#xff09;软件的领域&#xff0c;将CAD图纸转换成JPG图片格式是日常工作中不可或缺的一环。无论是为了更便捷地在网络上分享设计稿&#xff0c;还是为了在非CAD环境中展示设计成果&#xff0c;掌握CAD到JPG…

CSS3视图过渡动画

概述 网站的主题切换无非就是文字、背景图片或者颜色,我们可以先来看下 Element UI 官网的切换主题的动效: PS:Antdesign UI的主题切换动画也是大同小异。 实现的两种方式 CSS 为主 <script setup> const changeTheme = (e) => {if (document.startViewTransi…

[数据集][目标检测]电力场景红外图像输电线路绝缘子检测数据集VOC+YOLO格式1846张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1846 标注数量(xml文件个数)&#xff1a;1846 标注数量(txt文件个数)&#xff1a;1846 标注…

2024年新算法-基于SBOA-BP混合神经网络的数据预测(Python代码实现)

在今天的数字化时代&#xff0c;机器学习和人工智能领域的不断发展为数据处理和预测提供了强大的工具。其中&#xff0c;BP神经网络&#xff08;反向传播神经网络&#xff09;作为一种经典的网络模型&#xff0c;因其能够处理复杂的非线性问题而备受关注。然而&#xff0c;传统…

Git 基础使用--权限管理--用户和用户组授权

&#x1f600;前言 本篇博文是关于Git 基础使用–权限管理–用户和用户组授权&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满…

JMeter接口测试:重复请求失败,单独请求成功

针对新增用户接口&#xff0c;反复发送同一请求&#xff0c;一次成功一次失败或失败和成功不定&#xff1b; 考虑&#xff1a;该请求的所需时间可能较长&#xff0c;服务器还未来得及响应或释放资源&#xff0c;便开始执行下一请求&#xff0c;导致报500 服务器异常错误&#x…

如何在小程序中完整显示图片且不变形

在开发小程序时&#xff0c;我们经常需要在界面上展示图片。有时&#xff0c;我们希望图片能够完整显示&#xff0c;不进行任何裁剪或变形。本文将介绍如何在小程序中实现这一需求。 使用<image>组件的mode属性 小程序的<image>组件提供了多种模式来控制图片的显…

错误日志:/usr/bin/ld: cannot find -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread

Reference: Cannot find mkl libraries from conda 在使用 LibTorch 时&#xff0c;报了以下错误&#xff1a; 在 share/cmake/Caffe2/public/mkl.cmake 下的cmake&#xff0c;并不能保证能找到MKL&#xff0c;应该是MKL版本更新导致的不通用问题。将文件改成下面写法即可&a…

Level3 — PART 4 — 机器学习算法 — 关联规则

目录 基本概念 评估指标 支持度 置信度 提升度 规则发现 Apriori算法 原理 案例 Python中实现Apriori算法 FP-Growth 案例 Python中实现FP-Growth 模拟题 CDA LEVEL III 模拟题(一) CDA LEVEL III 模拟题(二) Apriori算法是一种经典的关联规则数据…

[数据集][目标检测]玻璃瓶塑料瓶检测数据集VOC+YOLO格式8943张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8943 标注数量(xml文件个数)&#xff1a;8943 标注数量(txt文件个数)&#xff1a;8943 标注…

ssrf简介

目录 SSRF漏洞 漏洞原理 形成原因 SSRF用途: 怎么找到SSRF漏洞? 漏洞案例 SSRF漏洞 漏洞原理 SSRF(Server-Side Request Forgery:服务器端请求伪造)是——种由仅专构造形成由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF是要目标网站的内部系统。(因为他是…

初识redis:Zset有序集合

Set作为集合&#xff0c;有两个特点&#xff1a;唯一且无序。 Zset是有序集合&#xff0c;在保证唯一的情况下&#xff0c;是根据什么来排序的呢&#xff1f;排序的规则是什么&#xff1f; Zset中的member引入了一个属性&#xff0c;分数&#xff08;score&#xff09;&#…

NLP从零开始------14.文本中阶序列处理之语言模型(2)

3.2 长短期记忆 梯度消失问题的一个解决方案是使用循环神经网络的变体——长短期记忆( long short- term memory, LSTM)。 长短期记忆的原理是&#xff0c; 在每一步t&#xff0c; 都保存一个隐状态和一个单元状态( cell state) , 通过单元状态来存储长距离信息&#xff0c; 长…

Redis内存淘汰

Redis内存淘汰 文章目录 Redis内存淘汰Redis可以存储多少数据淘汰策略选择哪种淘汰算法LRU什么是LRURedis的近似LRU为什么不直接使用LRU近似的LRU淘汰池的优化LRU优化后的对比 LFU什么是LFU为什么引入LFURedis的LFU策略访问频率衰减频率更新 Redis可以存储多少数据 maxmemory配…

Docker续4:harbar私有仓库管理

一、新建一台docker&#xff08;192.168.1.77&#xff09;&#xff08;用于上篇创建私有镜像后的测试&#xff08;拉取镜像&#xff09;&#xff09; 运行docker安装脚本 [rootlocalhost ~]# vim /etc/docker/daemon.json //编辑配置文件 { "…

uniapp-Vue项目如何实现国际化,实现多语言切换,拒绝多套开发,一步到位,看这篇就够

一 安装 找到自己的项目,输入cmd进入命令行,输入安装命令,点击回车进行下载: npm install vue-i18nnext 下载完将在项目的配置文件中看到: 二 使用 2.1 在项目中创建一个文件夹如:lang 用于存放不同语言的包。这些语言文件通常为JSON格式 2.2 在项目main.js文件中引入并初…