[硬件基础]-快速了解PWM

news2024/9/21 10:50:21

快速了解PWM

文章目录

  • 快速了解PWM
    • 1、什么是PWM
    • 2、PWM的频率
    • 3、PWM的占空比
    • 4、PWM信号的输出电压计算
    • 5、脉宽调制幅度
    • 6、脉冲宽度调制生成技术
      • 6.1 使用微控制器生成脉冲宽度调制
      • 6.2 使用模拟电路产生脉冲宽度调制
      • 6.3 其他产生PWM的方法

在本文中,将介绍脉宽调制。 脉冲宽度调制也称为 PWM。 脉冲宽度调制在数字通信、电力电子、路灯的自动强度控制、直流电机的速度控制和可变 pwm 中有许多应用,以从数字信号、数模转换器生成模拟信号。 这种技术还有许多其他应用。 产生PWM信号的方法有数字法和模拟法两种。 我将在本文末尾讨论这两种方法。 因此,让我们从脉宽调制的基本介绍开始脉宽调制或 PWM 是一种通过数字方式获得模拟结果的技术。 它还在逆变器、直流到直流电源中有应用。

1、什么是PWM

你可以用PWM做什么? 它是Pulse Width Modulation脉冲宽度调制,它包括产生方波。 您可以控制 PWM 信号的上升时间或高时间。 最小和最大电压是限制波振荡的值,它们之间的空间称为振幅。 一个周期是波的间隔,您可以在其中找到一个完整的重复,一个周期完成所需的时间称为时间段

2、PWM的频率

一段时间内的频率为 1,这会告诉您一个时间单位内有多少个周期。 例如,如果信号的定时器周期为 20ms,则其频率将为 50Hz,其中 Hz 是频率单位,读作赫兹。

下图显示了波形的幅度和定时器周期:

在这里插入图片描述

3、PWM的占空比

占空比是脉冲宽度调制中使用的一个重要概念。 占空比表示信号在总时间段中处于高电平的时间。

在这里插入图片描述

所以占空比的公式如下面的表达式所示:

Duty Cycle = ( On time of signal / total timer period of signal )

4、PWM信号的输出电压计算

现在让我们看看如何计算占空比。 要计算占空比,您需要知道信号处于高电平的周期有多少。 让我们将高时间设置为 6 毫秒,将低时间设置为 4 毫秒。 总时间周期为 10ms。 现在让我们使用一个简单的规则来计算信号高的时间段与总时间段的百分比。

Duty cycle = 6ms / 10ms = 0.6

通过计算,我们得到 0.6 的占空比,它是无量纲的。 我们总是以百分比来衡量占空比。 当信号的开启时间或高电平时间等于信号的总时间周期时,最大占空比可以是 1 或 100%。 同样,当信号在整个定时器周期内关闭时,最小占空比将为 0 或 0%。下面为具有不同占空比的信号图片:

在这里插入图片描述

5、脉宽调制幅度

脉宽调制的幅度是另一个需要讨论的重要概念,以充分理解这一概念。 幅度是信号的最大电压和最小电压之间的差值。

Amplitude = Vmax - Vmin

在数字信号的情况下,最小电压大多为零。 所以幅度是信号的峰值电压。 让我们想象一个在 0 到 5 伏之间振荡的 PWM 信号。 假设此信号的占空比为 50%。 输出电压会发生一些有趣的变化,而不是预期的 5 伏。 现在它只是 2.5 伏特。

在这里插入图片描述

当您将占空比为 50% 的方波应用于 LED 时,您将在发光二极管上获得 2.5 的电压。 因为当您应用 50% 占空比的方波作为输入电压源时,输出电压的公式为:

Vout = D x Vmax

其中 D 是具有调制信号或方波的脉冲的占空比。 我们将最大电压乘以占空比。 根据上面的输出电压公式,我们可以清楚地看到输出电压和占空比之间的直接关系。 信号的最大电压或幅度保持不变。 为了获得更高的电压,我们需要更高的占空比信号。 为了在输出端获得较低的电压,我们需要应用较低的占空比信号。

当占空比 = 100% 或 1 时,最大输出电压将等于 = Vmax

当占空比 = 0 时,最大输出电压将等于 = 0

路灯中使用类似的概念来控制路灯的强度。 在电力电子电路中使用相同的方法使用降压转换器电路降低电压。

现在您已经了解了脉宽调制的基本概念,例如占空比、信号开启时间、信号关闭时间、PWM 的时间周期及其幅度。 在本文的其余部分,将解释用于生成 PWM 信号的不同方法。

6、脉冲宽度调制生成技术

有两种方法用于生成 PWM:

  • 使用微控制器等数字电路生成 PWM。
  • 使用运算放大器和比较器电路等模拟电路生成 PWM。

6.1 使用微控制器生成脉冲宽度调制

要生成具有可变占空比的数字信号,始终建议使用像 Arduino 这样的微控制器。 因为这些微控制器内置了可用于生成数字信号的模块。 您可以通过编程微控制器轻松设置占空比。

6.2 使用模拟电路产生脉冲宽度调制

产生 PWM 信号的最简单方法是使用运算放大器。 为了用运算放大器产生数字信号,我们使用运算放大器作为比较器电路。 运算放大器由同相端和反相端两个端子组成。 我们在运算放大器的非反相输入端施加三角波,并在反相引脚控制电压输入。 下图是运放产生PWM信号的全过程。

在这里插入图片描述

因此,要了解这种方法的工作原理,首先您需要了解运算放大器作为比较器电路的工作原理。 因此,从上图可以看出,当施加到非反相输入的三角电压小于施加到运算放大器反相引脚的控制电压时,比较器电路的输出将为低电平,每当三角信号的电压为 大于控制电压,比较器输出为高电平。 所以数字信号或脉宽调制的导通时间取决于控制电压的大小。 所以它的平均控制电压和占空比彼此成反比。 因为占空比与 PWM 信号的导通时间成正比。 为了获得更高的占空比,我们需要降低控制电压的值。 为了获得较低的占空比,我们需要增加控制电压的值。 这就是在模拟电子元件的帮助下生成 PWM 是多么容易。

6.3 其他产生PWM的方法

市场上有许多用于产生 PWM 信号的集成电路,它们还具有产生可变占空比数字信号的能力。 其中一些的名称如下:

  • 555定时器IC
  • SG3525脉宽调制控制器

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

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

相关文章

QT基础入门——信号和槽机制(二)

前言: 在Qt中,有一种回调技术的替代方法:那就是信号和槽机制。当特定事件发生时,会发出一个信号。Qt的小部件中有许多预定义的信号,但我们可以将小部件子类化,向它们添加自定义的信号。槽是响应特定信号的…

静电监控系统的作用在哪

静电监控系统主要用于监测和管理静电的产生、传导和消除,以防止静电对生产过程和环境的损害。具体来说,静电监控系统的作用包括以下几个方面: 监测静电的产生和传导:静电监控系统可以实时监测生产现场的静电产生和传导情况&#…

【LeetCode热题100】--33.搜索旋转排序数组

33.搜索旋转排序数组 对于有序数组,使用二分查找: 该题只保证了部分有序,也能进行二分查找 在常规二分查找时查看当前mid分割出来的两部分[l,mid]和[mid1,r],哪个部分是有序的,根据有序的那个部分确定我们该如何改变…

解决WPF+Avalonia在openKylin系统下默认字体问题

一、openKylin简介 openKylin(开放麒麟) 社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作&#xff…

k8s集群-6(daemonset job cronjob控制器)

Daemonset 一个节点部署一个节点 当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。加入集群时,也会为他们新增一个 Pod 。当有节点从集群移除时,这些Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 DaemonSet 的典型用…

Integrity Plus for Mac,保障网站链接无忧之选

在如今数字化的时代,网站链接的完整性对于用户体验和搜索引擎排名至关重要。如果您是一位网站管理员或者经常需要检查网站链接的人,那么Integrity Plus for Mac(Integrity Plus)将成为您最好的伙伴。 Integrity Plus是一款专业的…

WS-FLV直播协议分析

一、简介 ws-flv(websocket-flv)是一种直播协议,其基于WebSocket来传输FLV格式的音视频。可以用来替代rtmp,解决其需要浏览器端依赖flash的问题;替代http-flv,解决浏览器同域名请求的最大并发数限制导致的浏…

英伟达NVIDIA驱动安装

一般,我们新的显卡上机或者新系统可能就需要重新安装显卡驱动。或者是我们在配置深度学习环境时候,需要手动安装驱动。 官网地址:官方高级驱动搜索 | NVIDIA 我们选择好自己需要的驱动后直接安装即可 下载的时候,选择自己需要的驱…

Swift SwiftUI CoreData 过滤数据 1

Xcode: Version 14.3.1 (14E300c) iOS: 16 预览&#xff1a; Code: import SwiftUI import CoreDatastruct TodosSearch: View {State private var search_title "测试"FetchRequest var todos_search: FetchedResults<Todo>init() {let request: NSFetchReq…

纯JS电子表格控件SpreadJS正式发布v16.2——新增甘特图插件

SpreadJS 是一款基于 HTML5 的纯前端电子表格控件&#xff0c;兼容 450 种以上的 Excel 公式&#xff0c;凭借其 “高性能、跨平台、与 Excel 高度兼容”的产品特性&#xff0c;备受以华为、苏宁易购、天弘基金等为代表的企业用户青睐。SpreadJS 为用户带来亲切的 Excel 使用体…

OpenGLES:3D立方体纹理贴图

效果展示 一.概述 前几篇博文讲解了OpenGLES绘制多种3D图形&#xff0c;并赋予丰富的色彩&#xff0c;但是在这些3D图形绘制过程中&#xff0c;有一点还没有涉及&#xff0c;就是纹理贴图。 今天这篇博文我会用如下六张图片对立方体进行纹理贴图&#xff0c;实现六个面都是贴…

Vscoe设置if __name__ == ‘__main__‘: 自动提示

解决Vscode 无 if __name__ __main__: 自动提示问题 配置步骤&#xff1a; 设置——》用户代码片段——》python.json配置文件——》添加"Print to console"项 添加代码内容&#xff1a; "Print to console": {"prefix": "main",&q…

数据可视化工具在成绩分析中的作用与意义

数据可视化是将数据转化为图表、图形和可交互式界面的过程&#xff0c;它在成绩分析中扮演着重要的角色。通过将学生成绩数据以图形化方式展示&#xff0c;数据可视化工具可以帮助教育者更好地理解和解释学生的表现&#xff0c;发现隐藏在数据背后的模式和趋势。本文将详细介绍…

添加驱动模块到内核的两种方法

添加驱动模块到内核的两种方法 1. 放在内核源代码树中 步骤总结&#xff1a; 新建文件夹编写Makefile、编写Kconfig修改上层Kconfig执行make menuconfig执行make zImage 或 make modules 1.1 源码放入文件夹 例如&#xff1a;添加一个按键字符设备模块 在内核目录下的 dri…

代码:对鱼眼相机图像进行去畸变处理

图像投影模型&#xff1a;针孔[fx, fy, cx, cy] 图像畸变模型&#xff1a;切向径向畸变[k1, k2, p1, p2] 说明&#xff1a;用于备忘 第一部分是常规的去畸变操作&#xff0c;在已知内参的情况下对鱼眼相机进行去畸变&#xff0c;这里使用的是remap映射在对图像去畸变后&#x…

毛玻璃 has 选择器卡片悬停效果

效果展示 页面结构 从上述的效果展示可以看到&#xff0c;页面是由多个卡片组成&#xff0c;并且鼠标悬停在卡片上时&#xff0c;会旋转用户图片并且韩式对应的用户信息框。 CSS3 知识点 :has 属性的运用 实现页面整体结构 <div class"container"><div…

复原akshare的股票代码缺失前面000代码

原始的akshare保存成文件&#xff0c;再读取时&#xff0c;代码会被自动转换为如下形式&#xff1a; 我们需要对每一个元素&#xff0c;补齐前面的0&#xff0c;将代码补充为6位 示例程序 import pandas as pdmy_df pd.read_csv("akshare下载文件.csv") my_df[代码…

【Linux基础】Linux发展史

&#x1f449;系列专栏&#xff1a;【Linux基础】 &#x1f648;个人主页&#xff1a;sunny-ll 一、前言 本篇主要介绍Linux的发展历史&#xff0c;这里并不需要我们掌握&#xff0c;但是作为一个合格的Linux学习者与操作者&#xff0c;这些东西是需要了解的&#xff0c;而且…

线程的概述

#include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 功能&#xff1a;创建一个子线程 参数&#xff1a; -thread:传出参数&#xff0c;线程创建成功后&#xff0c;子线程的ID被写到…

SSRF+redis未授权漏洞复现

1.SSRF漏洞简介 SSRF&#xff08;Server-Side Request Forgery&#xff09;即服务器端请求伪造&#xff0c;是一种由攻击者构造攻击链传给服务器&#xff0c;服务器执行并发起请求造成安全问题的漏洞&#xff0c;一般用来在外网探测或攻击内网服务。当网站需要调用指定URL地址…