减轻 PWM 的滤波要求

经典脉宽调制器 (PWM) 发出 H 个连续逻辑高电平(1),后跟 L 个连续逻辑低电平(0)的重复序列。每个高电平和低电平持续一个时钟周期 T = 1/F (Hz)。结果的占空比可定义为 H/N,其中 N = H+L 时钟周期。N 通常是 2 的幂,但 N 可以是任何大于 0 的整数。 PWM 必须面对的一个挑战是通过过滤流的动态 AC 部分进行衰减,同时保留其平均 DC 值。在整个输出序列范围内,经典 PWM 的频率分量 F/N 也是的,因此难衰减。幸运的是,这个设计理念引入了一个简单的技巧,可以缓解这一挑战。

在讨论这个技巧之前,有必要快速回顾一下其他交流能量缓解技术,所有这些技术都像经典技术一样,采用某种计数器作为其驱动引擎。我几年前读过但找不到参考的一种方法涉及 N = 2 M -1 状态的 M 位伪随机序列生成器,其每个位都连接到数字比较器的一个输入 [1]。剩余的输入以数字W表示。当生成器的数量小于W时,比较器输出1;当生成器的数量小于W时,比较器输出1。否则,输出零。当发生器被计时时,结果是 W 个 1、N-W 个 0 和 W/N 占空比的随机流。结果的频谱“白噪声”性质比传统 PWM 的 F/N 主要成分更容易过滤。

一些 SAM D Microchip 微控制器的硬件中内置了更有效的缓解措施 [2]。这些 PWM 修改8 位经典 PWM 序列的2 X 个连续周期,以产生长度为 2 X+8的更长重复序列。这里 X = 4、5 或 6。对于 K / 2 X+8的占空比,0 ≤ K < 2 X+8,每个八位序列至少具有 K/2 X的整数部分。剩余的 K 个模 2 X尽可能均匀地分布在 2 X八位序列中。结果是占空比调制的八位序列的长序列,在频率 F/2 X+8处或附近具有非常小的频谱能量生成的 Hz 大部分位于 F/2 8附近,并且滤波问题得到了简化。

这些方法的硬件支持并不总是可用。幸运的是,大多数微控制器都可以轻松实现上述技巧,其描述如下。一旦完成 N = 2、3 或 4…多 2 8 个(甚至 2 16 个)状态计数器驱动 PWM 的初始设置,无需软件干预“设置它(占空比),然后就可以忘记它” PWM操作触手可及。当占空比确实需要改变时,所需的 H 值被写入输出比较寄存器 (OCR)。在大多数情况下,两个具有独立占空比的 PWM 可用,通常由同一计数器驱动。考虑一下利用这些功能组合可以实现什么目标。

在一个示例中,计数器可配置为 N = 16。 PWM 的占空比可为 1/16、2/16、3/16,一直到 15/16。剩余状态将为 0/16 或 16/16。两个 PWM 输出由两个电阻按 1:16 的比例串联组合连接。在这两个电阻的连接处,有 2 4 ×2 4 = 2 8个可能的平均值,就像单个 PWM 呈现 2 8个不同状态一样。影响交流衰减的简单方法是在该结点和地之间连接一个电容器(图 1是完整电路的示例。)

加倍并减轻 PWM 的滤波要求



图 1完整电路代表了实现交流衰减的简单方法,其中电容器连接在 PWM 输出端的两个电阻器与地之间的连接点之间。

但这种技术和传统 PWM 都可以受益于更复杂的网络,该网络具有更多数量的电阻器和电容器,甚至还可以选择使用运算放大器来缓冲结果。运算放大器还可以实现包含复杂极点对的滤波器,而不是仅限于实极点,实极点是可获得的极点。前一种类型更有效地化滤波器稳定时间和残余交流能量大小的乘积。(早期的设计理念中已经给出了这样的一个例子。)

我使用 ATmega16 微控制器来实现图 1 电路。尽管可以使用更高的时钟频率,但 F 设置为 1MHz。PWM 1 和 PWM 2 配置为以两种不同的模式运行:前面描述的两个四位单元具有独立值的输出,以及作为具有相同输出的八位单元。这对于两种操作模式都保持相同的 RC 滤波器时间常数。表 1列出了每种模式的 OCR 重复序列。

加倍并减轻 PWM 的滤波要求


表 1四位和八位 PWM 模式用于生成图 2 波形的 OCR 值。

图 2显示了两种模式之一的示波器捕获;两种模式的屏幕截图无法区分,分辨率约为 18 mV。(必须在 R1-R2-C1 结点和负直流电压之间连接一个额外的电阻(未显示)。在不影响 R1-R2 比率的情况下,这会将波形的电压移至接近接地的电压,以便示波器可以显示它具有高分辨率。)

加倍并减轻 PWM 的滤波要求

图 2通过对表 1 中列出的四位和八位 PWM 模式的 OCR 进行编程而生成的波形。两种模式的结果看起来相同,因为示波器以 200 ms/div 扫描速率平均交流能量。

两个四位 PWM 的频率均为 F/16 = 62.5 kHz;八位的频率为 F/256 = 3.90625 kHz。该代码大约每 100 毫秒更改 OCR 寄存器。在图 2 的扫描速率下,示波器滤除 PWM 交流信号,并将其替换为平均值。在随后的图中,示波器以更快的扫描速率显示了它们的峰峰值幅度。图 3显示 8 位 PWM 的电压为 120 mV,而图 4显示 4 位 PWM 的电压仅为 7.5 mV。

加倍并减轻 PWM 的滤波要求


图 3图 1 八位 PWM 电路中电容器两端的交流能量。

 

加倍并减轻 PWM 的滤波要求



图 4图 1 电路中四位 PWM 电容器两端的交流能量。四位 PWM 的周期和幅度比八位 PWM 小 16 倍。

两种模式的步进分辨率均为 18 mV,四位峰峰值噪声在不到半步的情况下接近;任何更多的交流信号衰减都会不必要地增加 1 ms 半步稳定时间。在 1/16 频率下峰峰值为 120 mV(6.7 步长)时,八位 PWM 实现几乎无法使用。电容器值必须增加到 15μF,相关的稳定时间增加 15 倍,才能满足双四位 PWM 方法的能量衰减性能。找元器件现货上唯样商城

本示例中采用的方法非常强大。通过一对与 0.1% 电阻互连、比率为 256:1 的 8 位 PWM,(双八位)16 位 PWM 可以具有比传统 16 位 PWM 更容易过滤 256 倍的交流输出。位单位。小于 N = 2 16或 2 8级的 PWM 分辨率也可以同时减少 PWM 周期并简化相关的滤波要求。甚至还有带有三个或四个 PWM 的微控制器,其输出可以与合适的电阻网络相加。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

谷粒商城第六天-商品服务之分类管理下的获取三级分类树形列表

目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端部分 2.1 在网页中建好目录及菜单 2.1.1 建好商品目录 2.1.2 建好分类管理菜单 ​编辑 2.2 编写组件 2.2.1 先完成组件文件的创建 2.2.2 编写组件 2.2.2.1 显示三级分类树形列表 三、后端部分 3.1 编写商品分类…

matlab编程实践16、17

捕食者与猎物模型 人口增长 在人口增长或衰减的最简单模型中&#xff0c;增长速度或衰减速度与人口本身的数目成正比。增加或减少人口规模会导致出生和死亡数量成比例地增加或减少。在数学上&#xff0c;可以由以下微分方程描述。 可以得出&#xff1a;&#xff0c;其中。 该简…

2023-08-01 LeetCode每日一题(英雄的力量)

2023-08-01每日一题 一、题目编号 2681. 英雄的力量二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的整数数组 nums &#xff0c;它表示英雄的能力值。如果我们选出一部分英雄&#xff0c;这组英雄的 力量 定义为&#xff1a; i0 &#xff0c;i1 &…

Redis - 三大缓存问题(穿透、击穿、雪崩)

缓存穿透 概念&#xff1a; 查询一个数据库中也不存在的数据&#xff0c;数据库查询不到数据也就不会写入缓存&#xff0c;就会导致一直查询数据库 解决方法&#xff1a; 1. 缓存空数据 如果数据库也查询不到&#xff0c;就把空结果进行缓存 缺点是 - 消耗内存 2. 使用布…

ModuleNotFoundError: No module named ‘_sqlite3‘

前言 遇到报错信息如下&#xff1a; ModuleNotFoundError: No module named _sqlite3解决方式 参考解决方式&#xff1a; https://blog.csdn.net/jaket5219999/article/details/53512071 find / -name _sqlite*.socp /usr/lib64/python3.6/lib-dynload/_sqlite3.cpython-36…

Go语言性能优化建议与pprof性能调优详解——结合博客项目实战

文章目录 性能优化建议Benchmark的使用slice优化预分配内存大内存未释放 map优化字符串处理优化结构体优化atomic包小结 pprof性能调优采集性能数据服务型应用go tool pprof命令项目调优分析修改main.go安装go-wrk命令行交互界面图形化火焰图 性能优化建议 简介&#xff1a; …

从0到1开发go-tcp框架【1-搭建server、封装连接与业务绑定、实现基础Router、抽取全局配置文件】

从0到1开发go-tcp框架【1-搭建server、封装连接与业务绑定、实现基础Router】 本期主要完成对Server的搭建、封装连接与业务绑定、实现基础Router&#xff08;处理业务的部分&#xff09;、抽取框架的全局配置文件 从配置文件中读取数据&#xff08;服务器监听端口、监听IP等&a…

记一次phpmyadmin巧妙利用

声明&#xff1a;文中涉及到的技术和工具&#xff0c;仅供学习使用&#xff0c;禁止从事任何非法活动&#xff0c;如因此造成的直接或间接损失&#xff0c;均由使用者自行承担责任。 点点关注不迷路&#xff0c;每周不定时持续分享各种干货。 原文链接&#xff1a;众亦信安&a…

Spring中最简单的过滤器和监听器

1. 过滤器概念引入 Filter也称之为过滤器&#xff0c;它是Servlet技术中最实用的技术&#xff0c;Web开发人员通过Filter技术&#xff0c;对web服务器管理的所有web资源&#xff1a;例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截&#xff0c;从而实现一些特殊的功…

在Windows 10和11中恢复已删除的照片

可以在Windows 10或11上恢复已删除的照片吗&#xff1f; 随着技术的发展&#xff0c;越来越多的用户习惯在电子设备上存储照片。如果这些照片被删除&#xff0c;可能会给用户带来重大损失。当照片丢失时&#xff0c;您可能会想是否可以恢复已删除的照片&#xff1f; …

LabVIEW 开发在不确定路况下自动速度辅助系统

LabVIEW 开发在不确定路况下自动速度辅助系统 智能驾驶辅助系统是汽车行业最先进的升级和尖端技术&#xff0c;智能交通系统依靠智能驾驶辅助系统在公共交通部门工作。该智能驾驶辅助系统技术包括自适应巡航控制&#xff0c;防抱死制动系统&#xff0c;安全气囊展开&#xff0…

腾讯云从业者认证考试考——云服务器

文章目录 云服务器的产品概览腾讯云服务器的优势腾讯云服务器选型腾讯云服务器计费方案 云服务器的产品概览 腾讯云服务器的产品&#xff1f; CVM云服务器&#xff08;Cloud Virtual Machine&#xff0c;CVM&#xff09;提供安全可靠的弹性计算服务。 可以在云端获取和启用 CV…

根据前序和中序遍历序列构造二叉树 (递归+迭代两种方法实现)

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7]源代码如下…

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(13)-Fiddler请求和响应断点调试

1.简介 Fiddler有个强大的功能&#xff0c;可以修改发送到服务器的数据包&#xff0c;但是修改前需要拦截&#xff0c;即设置断点。设置断点后&#xff0c;开始拦截接下来所有网页&#xff0c;直到取消断点。这个功能可以在数据包发送之前&#xff0c;修改请求参数&#xff1b…

逻辑回归变量系数可为负数吗?应该如何解释?

之前很多学员来问逻辑回归变量系数是否都应该为正数&#xff0c;如果出现负的变量系数该怎么办&#xff1f;是否需要重新建模&#xff1f;这些学员都是在网上搜索时&#xff0c;被错误信息误导。网上信息可以随意转载&#xff0c;且无人审核对错。我见过最多情况时很多文章正确…

第4章 案例研究:JavaScript图片库

案例 html部分 <h1 id"title">图片1</h1> <ul><li><!-- onclick绑定点击事件&#xff0c;this为触发dom&#xff0c;return false阻止默认行为 --><a onclick"show_img(this); return false" title"图片1" h…

命令模式-请求发送者与接收者解耦

去小餐馆吃饭的时候&#xff0c;顾客直接跟厨师说想要吃什么菜&#xff0c;然后厨师再开始炒菜。去大点的餐馆吃饭时&#xff0c;我们是跟服务员说想吃什么菜&#xff0c;然后服务员把这信息传到厨房&#xff0c;厨师根据这些订单信息炒菜。为什么大餐馆不省去这个步骤&#xf…

装饰器模式(Decorator)

装饰器模式是一种结构型设计模式&#xff0c;用来动态地给一个对象增加一些额外的职责。就增加对象功能来说&#xff0c;装饰器模式比生成子类实现更为灵活。装饰器模式的别名为包装器(Wrapper)&#xff0c;与适配器模式的别名相同&#xff0c;但它们适用于不同的场合。 Decor…

HTML笔记(1)

介绍 浏览器中内置了HTML的解析引擎&#xff0c;通过解析标记语言来展现网页&#xff1b;HTML标签都是预定义好的&#xff1b;Java工程师&#xff1a;后台代码的编写&#xff0c;和数据库打交道&#xff0c;把数据给网页前端的工程师&#xff1b;网页前端工程师&#xff1a;写H…

快速了解MyBatis---映射关系多对一

文章目录 映射关系多对一映射关系-官方文档映射关系多对1-基本介绍基本介绍注意细节 映射关系多对1-映射方式映射方式配置Mapper.xml 方式-应用实例注解实现多对1 映射-应用实例 映射关系多对一 映射关系-官方文档 文档地址: https://mybatis.org/mybatis-3/zh/sqlmap-xml.ht…