当前位置: 首页 > news >正文

嵌入式硬件杂谈(八)电源的“纹波”到底是什么?

纹波的引入:在我们嵌入式设备中,很多时候电路电源的纹波很敏感,纹波太大会导致系统不工作,因此设计一个纹波很小的电路就是我们的需求了。

电路的纹波是什么?

纹波(Ripple)是指电源输出中叠加在直流电压上的周期性波动成分,通常是由于交流电源整流和开关电源的工作原理所引入的。它表现为输出直流信号上的周期性波形,主要包括低频和高频的正弦或脉冲信号。

纹波的来源

整流电路 在交流电整流为直流的过程中,由于滤波器(如电容)的容量不足,会在直流电中留下未完全消除的波动,通常表现为工频纹波(如 50Hz 或 60Hz)。

开关电源 开关电源通过高频开关工作,导致输出电压中可能存在高频的脉动分量,这是由于高频开关噪声和电感/电容滤波不足造成的。

负载波动 当负载变化时,电源调节响应可能滞后,导致短时间内出现电压波动。

因此如下图的才是纹波,其他两幅图中的都不是纹波。

下面这两幅图都不是纹波。

首先我们要知道电源分为线性电源和开关电源,他们都可以把一个电压转为另一个电压,但是在转变的过程中,他们会表现出不同的特性,这个问题在之前我们的硬件篇中也有讲过,

线性电源的内部原理

线性电源是一种通过线性调节器对电压进行稳压的电源类型,其核心是利用串联调整元件工作在线性区进行电压调节。

输入整流和滤波:交流输入电压通过整流桥整流成脉动直流电压,再通过滤波电容(或电感-电容组合)滤波,形成一个相对平滑的直流电压。

稳压电路:使用一个串联调整元件(如晶体管或 MOSFET),与负载串联,调节输出电压。

调整元件根据误差放大器的反馈信号工作在线性区,调整通过的电流大小。

反馈控制:输出电压通过采样电路与参考电压(如基准二极管产生的稳定电压)进行比较。

误差放大器放大两者的差值,控制调整元件,以稳定输出电压。

表现出来的特性也不算纹波了,纹波淹没在其中了。

开关电源的内部原理

开关电源(Switching Power Supply)是一种通过高频开关技术将电能高效转化的电源类型,其调节方式基于开关元件的开断操作。

输入整流和滤波:将交流电压整流成直流电压,通过滤波器消除工频噪声。

高频转换:开关元件(如 MOSFET)在高频(几十 kHz 到几 MHz)下工作,通过脉宽调制(PWM)控制开关占空比,调节输出电压。高频变压器在此阶段将输入电压升压或降压。

输出整流和滤波:高频脉冲电压通过二极管整流,再通过电容和电感滤波,形成稳定的直流电压输出。

反馈控制:采样输出电压,与参考电压比较后,将误差信号反馈到控制电路,调节开关元件的占空比。

不产生纹波的电源

电源中要做到完全不产生纹波几乎是不可能的,但纹波的幅度可以被极大地抑制。以下是一些关键点:线性稳压器是实现低纹波的最佳选择:线性稳压器通过调整元件(如三极管或 MOSFET)在其线性工作区内连续调整输出电压,能够平滑输入电压的波动。它不会像开关电源那样使用高频开关操作,因此没有开关引起的高频纹波。滤波器和反馈控制可以将输入端残余的低频纹波进一步抑制,使得输出电压极其平稳。大部分剩余干扰信号可能是系统噪声:系统噪声可能来源于输入电源的电磁干扰(EMI)、电路板的寄生效应或者外部环境。线性稳压器的高频抑制特性可以减少这些噪声传导到输出端。

 开关电源一定会产生纹波

开关电源的工作原理决定了它必然会产生纹波,且纹波大小是衡量开关电源质量的重要指标:纹波产生的原因:高频开关动作(开关管的导通和关断)会引入尖峰电压和电流,形成高频纹波。高频变压器、电感和电容中的寄生效应也会导致高频纹波。输出滤波器的设计不足或元件选型不当可能加剧纹波的幅度。纹波大小是衡量开关电源性能的关键指标:高品质开关电源会通过更好的滤波设计(如 LC 滤波器、多级滤波)和优化电磁兼容性(EMC)的设计,来尽量减小纹波。即便如此,开关电源的纹波水平通常比线性电源高,尤其在高频端。

使用线性稳压器实现低纹波设计的优势

如果需要设计纹波极小的电源,线性稳压器是更好的选择,原因包括:本质低纹波:线性稳压器没有高频开关操作,不会引入高频纹波。其输出的低频纹波主要由输入端工频纹波决定,可以通过合理选择滤波电容容量和种类来进一步抑制。更好的噪声抑制性能:线性稳压器可以有效滤除输入端的高频噪声和低频波动,使得输出更加稳定。适用于对噪声和纹波敏感的场景,如音频设备、精密测量仪器和通信设备。设计简单:与开关电源相比,线性电源的电路设计和调试更加简单,不需要考虑高频开关噪声的复杂抑制措施。

选择线性稳压器的注意事项

虽然线性稳压器在纹波性能上表现出色,但在设计时也需要注意其缺点:效率较低:线性稳压器通过调整元件线性降低电压,多余的能量以热的形式耗散,因此效率较低,尤其是在输入电压和输出电压相差较大的情况下。功率限制:由于热损耗问题,线性稳压器的功率输出有限,不适合大功率场合。输入输出差距的限制:线性稳压器要求输入电压高于输出电压(称为压差),通常需要设计预留足够的压差。

因此不产生纹波,抑制输入电压波动,大部分测到的是系统噪声的,而开关电源一定产生纹波,纹波大小是衡量开关电源的指标,如果想设计纹波很小的电源,用线性稳压器才是不错的选择。

特性线性电源开关电源
主要纹波来源工频整流后的残余纹波高频开关操作和 EMI
纹波频率低频(50Hz 或 60Hz)高频(kHz 至 MHz 级别)
纹波幅度非常小,通常在毫伏级别较大,通常在几十到几百毫伏范围
控制难度易于通过滤波和反馈控制抑制难度较高,需设计多级滤波

多小的纹波才算小?

纹波电压评价适用场景
< 1 mV极小精密测量仪器(如医疗设备、实验室用精密电源)。
1 - 10 mV很小高端音频设备、低噪声通信设备、模拟电路供电。
10 - 50 mV一般数字电路、电机驱动、普通嵌入式设备。
50 - 100 mV中等开关电源常见水平,适用于功耗较大且对噪声不敏感的设备(如家用电器)。
> 100 mV较大对噪声敏感性低的设备或非关键性供电场景。

纹波的允许范围因应用不同而异:

(1)模拟电路和精密设备

  • 纹波越小越好,通常小于1 mV

  • 例如:

    • 高精度ADC/DAC:纹波可能直接影响信号质量。

    • 医疗设备:如心电图仪和超声波仪器,需要非常干净的电源供电。

(2)数字电路

  • 数字电路相对耐受一些,但纹波过大会引发逻辑错误。

  • 典型需求:

    • 一般数字电路:纹波小于50 mV即可。

    • 对噪声敏感的高速通信接口或高速处理器:纹波应控制在10 mV以内。

(3)功率电子和电机驱动

  • 功率驱动器和大功率负载对纹波要求较低,可以接受较大的纹波(50-100 mV或更高)。

  • 例如:

    • 工业电机控制、电池充电设备。

(4)音频设备

  • 音频设备的纹波会影响噪声水平:

    • 高端音频设备通常要求纹波小于5 mV,以避免听得见的电源噪声。

    • 一般音响设备:纹波小于10-20 mV即可。

(5)嵌入式系统和单片机

  • 典型的单片机和嵌入式系统要求纹波在10-50 mV范围内。

  • 如果系统包含精密传感器模块,可能需要更低的纹波。

相关文章:

嵌入式硬件杂谈(八)电源的“纹波”到底是什么?

纹波的引入&#xff1a;在我们嵌入式设备中&#xff0c;很多时候电路电源的纹波很敏感&#xff0c;纹波太大会导致系统不工作&#xff0c;因此设计一个纹波很小的电路就是我们的需求了。 电路的纹波是什么&#xff1f; 纹波&#xff08;Ripple&#xff09;是指电源输出中叠加在…...

保姆级教程Docker部署ClickHouse镜像

目录 1、安装Docker及可视化工具 2、创建挂载目录 3、运行ClickHouse容器 4、Compose运行ClickHouse容器 5、查看ClickHouse运行状态 1、安装Docker及可视化工具 Docker及可视化工具的安装可参考&#xff1a;Ubuntu上安装 Docker及可视化管理工具 2、创建挂载目录 # 创…...

【Rust自学】7.3. 路径(Path)Pt.2:访问父级模块、pub关键字在结构体和枚举类型上的使用

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 7.3.1. super 我们可以通过在路径开头使用super来访问父级模块路径中的内容&#xff0c;就像使用..语法启动文件系统路径。例如&#xff…...

【前端,TypeScript】TypeScript速成(七):数组与函数式编程相结合

数组与函数式编程相结合 使用函数式编程遍历数组 一个最简单的例子如下&#xff1a; const a [1, 2, 3, 4]a.forEach(v > {console.log(v) })由于此处使用了函数式编程&#xff0c;因此我们可以做一些比 console.log 更复杂的事情&#xff0c;比如将 a 中的数据放到另一…...

第十六届蓝桥杯模拟赛(第一期)(C语言)

判断质因数 如果一个数p是个质数&#xff0c;同时又是整数a的约数&#xff0c;则p称为a的一个质因数。 请问2024有多少个质因数。 了解 约数&#xff0c;又称因数。整数a整除整数b&#xff0c;b为a的因数&#xff08;约数&#xff09;质数&#xff0c;又称素数。只有1和它本身两…...

Linux应用软件编程-多任务处理(管道)

管道&#xff1a;进程间通信的文件 管道特点&#xff1a; 1. 读阻塞&#xff1a; 读端和写端都存在时&#xff0c; 当管道中无数据时&#xff0c;read阻塞等待读。 2. read到0&#xff1a;当所有的写端关闭&#xff0c;管道中有数据时&#xff0c;读到数据&#xff0c;无数据…...

如何在鸿蒙本地模拟器中使用HDC工具

引言 HDC是指华为设备连接&#xff08;Huawei Device Connector&#xff09;工具。它的作用类似Android开发的ADB工具。在华为鸿蒙&#xff08;HarmonyOS&#xff09;操作系统的开发过程中&#xff0c;HDC工具起到了至关重要的作用。它允许开发者在开发主机&#xff08;如 PC&…...

《Vue进阶教程》第三十一课:ref的初步实现

往期内容&#xff1a; 《Vue进阶教程》第二十课&#xff1a;lazy懒执行 《Vue进阶教程》第二十一课&#xff1a;支持缓存 《Vue进阶教程》第二十二课&#xff1a;自定义更新(调度器) 《Vue进阶教程》第二十三课&#xff1a;渲染计算属性的结果 《Vue进阶教程》第二十四课&…...

C语言初阶习题【19】三子棋游戏

1.实现三子棋游戏 2.思路 我们把游戏实现部分放在game.c和game.h中&#xff0c;把游戏的测试代码放到test.c中 main函数在test.c中。 2.1 test.c中 先写main 函数&#xff0c;在main函数中调用test函数。 int main() {test();return 0; }test.c函数实现让玩家进行选择是否…...

Linux day 1129

家人们今天继续学习Linux&#xff0c;ok话不多说一起去看看吧 三.Linux常用命令 3.1 Linux命令体验 3.1.1 常用命令演示 在这一部分中&#xff0c;我们主要介绍几个常用的命令&#xff0c;让大家快速感 受以下 Linux 指令的操作方式。主要包含以下几个指令&#xff1a; ls命…...

【优化算法】梯度优化算法:一种新的原启发式优化算法算法

目录 1.摘要2.算法原理3.结果展示4.参考文献5.获取代码 1.摘要 本文提出了一种新型的元启发式优化算法——梯度优化器&#xff08;Gradient-based Optimizer, GBO&#xff09;。GBO算法灵感来源于牛顿法&#xff0c;采用两个主要操作&#xff1a;梯度搜索规则&#xff08;Grad…...

内部类(3)

大家好&#xff0c;今天我们继续来看看内部类&#xff0c;今天我们来学习一下内部类的分类&#xff0c;我们来看看一共有几种&#xff0c;它们有什么作用&#xff0c;那么话不多说&#xff0c;我们直接开始。 9.1 内部类的分类 先来看下,内部类都可以在一个类的哪些位置进行定…...

svn分支相关操作(小乌龟操作版)

在开发工作中进行分支开发&#xff0c;涉及新建分支&#xff0c;分支切换&#xff0c;合并分支等 新建远程分支 右键选择branch/tagert按钮 命名分支的路径名称 点击确定后远程分支就会生成一个当时命名的文件夹&#xff08;开发分支&#xff09; 分支切换 一般在开发阶段&a…...

rust_shyper

title: 探索 Rust_Shyper&#xff1a;系统编程的新前沿 date: ‘2024-12-30’ category: blog tags: Rust_ShyperRust 语言系统编程性能与安全 sig: Virt archives: ‘2024-12’ author:way_back summary: Rust_Shyper 作为基于 Rust 语言的创新项目&#xff0c;在系统编程领域…...

HAL 库 HAL_UARTEx_ReceiveToIdle_IT 函数解析

一、存在位置&#xff1a;stm32f1xx_hal_uart.c 二、具体代码 二、返回值&#xff1a;HAL_StatusTypeDef 通过查看返回值HAL_StatusTypeDef在stm32f1xx_hal_edf.h文件中定义为结构体类型。 status&#xff1a;&#xff08;进展的&#xff09;状况&#xff0c;情形 三、函数名…...

【ArcGIS Pro】完整的nc文件整理表格模型构建流程及工具练习数据分享

学术科研啥的要用到很多数据&#xff0c;nc文件融合了时间空间数据是科研重要文件。之前分享过怎样将nc文件处理成栅格后整理成表格。小编的读者还是有跑不通整个流程的&#xff0c;再来做一篇总结篇&#xff0c;也分享下练习数据跟工具&#xff0c;如果还是弄不了的&#xff0…...

REDIS的集群

REDIS的集群模式&#xff1a; 主从模式&#xff1a;redis高可用的基础&#xff0c;哨兵和集群都是建立在此基础之上 特点&#xff1a; 主从模式和数据库的主从模式&#xff08;工作模式&#xff09;是一样的&#xff0c;主负责写入&#xff0c;然后把写入到数据同步到从&…...

酒店管理系统的设计与实现【源码+文档+部署讲解】

酒店管理系统的设计与实现 摘 要 中国经济近几年来取得蓬勃飞速发展&#xff0c;使得人民生活水平的要求和生活的质量有了很高的要求。因此人们对外出旅游和就餐的需求也越来越大。同时&#xff0c;随着我国科技水平的兴起和对互联网新时代的大力支持&#xff0c;酒店管理系统在…...

[论文阅读] (34)ESWA2024 基于SGDC的轻量级入侵检测系统

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…...

从社区共识到资本效能:解析SYNBO的去中心化投资协议创新

Web3 资本市场正处于深刻变革的关键节点。随着去中心化技术的不断进化&#xff0c;传统风险投资模式逐渐显现出效率、透明性与公平性等方面的局限性。而 SYNBO 的出现&#xff0c;为这一市场注入了全新的可能性。 作为新一代去中心化风险投资协议&#xff0c;SYNBO 不仅创新性地…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...