Boost电压增益分析(输入电流低频脉动时)

2023-11-04

1. Boost电压增益

  如图所示,Boost电路的应用极为广泛,不光在DC-DC中有应用,而且在AC-DC中Boost型PWM整流器和Boost型PFC是主流拓扑。Boost的增益都很清楚,即Vo=Vin/(1-D)。但是在输入电流有低频脉动时,比如整流器和PFC的输入电流是50Hz,也就意味着在开关周期内电感是没有实现伏秒平衡的,用DC-DC中在开关周期内通过伏秒平衡求解电压增益是不可行的。但是目前的文献几乎都是在开关周期内去求解PFC的电压增益,实际是不准确的。
在这里插入图片描述
  举个例子,输入电压是正弦半波,幅值为10V,频率100Hz,占空比固定为0.5,如果按照伏秒平衡定理求解,输出电压的幅值将是20V,但是从仿真波形中发现输出电压电压幅值仅为14V。那么如何去求解实际的输出电压呢。
在这里插入图片描述
  这个其实和PWM整流器二次纹波电压的求解思路是一致的,参考《单相PWM变换器的有功功率解耦设计_仇铭婕》。从论文的思路中可以发现,端口的功率等于网侧功率减去电感功率,请务必减去电感功率,否则你会发现网侧功率和负载功率的瞬时值不一样,当然平均值肯定是一样的。PWM整流器工作模式就是Boost型,所以像这种输入电流脉动的情况下要求解直流电压,只能通过功率求解,但是功率计算是很麻烦的,如何能够快速求解输出电压呢。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. CCM模式下Boost电压增益

  DC-DC是在开关周期内进行伏秒平衡,得到输出电压。当输入电流存在低频脉动时,电感再开关周期内是无法实现伏秒平衡的,但是在低频内是必然实现伏秒平衡的,所以可以看做低频下的伏秒平衡,本仿真中就是1/100s内的伏秒平衡。
  输入电压在100Hz内的平均值是6.37V,占空比比恒定为0.5,求解出的输出电压在100Hz内的平均值是12.74V,和上面的仿真波形是一致的。如果要求输出电压的脉动分量,只能通过功率求解了。
  另一种情况时输入电压固定,占空比低频变化,如下图所示,占空比幅值是0.8,频率100Hz,输入电压恒定为10V,此时占空比去求解100Hz内的平均值是0.51。根据DC-DC电压增益可得输出电压在100Hz内的平均值是20.4V。和仿真也是一致的,要求解脉动电压,只能通过功率求解了。
在这里插入图片描述
  如果想得到实际的输出电压,而不是平均值。可以把输入电压和电感电压相加,然后用时间平均(也就是Boost型DC-DC的电压增益求解方法),得到最终的输出电压。仿真结果验证了该方案,也就是说当电感电压较大时(当电感电流很大或电感值很大),电感电压在时间平均过程中将不能认作是0,而是要作为一个电压参与到时间平均。总结一下,伏秒平衡其实是时间平均的一个特例,当电感电压的交流分量较大时,此时伏秒平衡失效,但是时间平均依然是成立的。如下图所示,Boost电路的输入电压60V,但是加上VL之后就是100Hz波动的,然后按照时间平均计算就能得到输出电压的波形。
在这里插入图片描述

3. DCM模式下Boost电压增益

  上面分析的是CCM模式下的Boost电压增益,但是在DCM下上述结论不成立。先回顾一下DC-DC中DCM模式的电压增益,从下面公式可知,电流增加部分的占空比加上电流减小部分的占空比,除以电流减小部分的占空比就是电压增益。
在这里插入图片描述
  将这个结论拓展到100Hz,如下图所示,输入电流断续,在0.01秒内,电感电流上升的时间是0.0036s,下降的时间是0.0022秒,根据DC-DC断续时的增益表达式可得,电压增益为2.63。输出电压平均值是26.3V。和仿真结果一致。

在这里插入图片描述

4. 总结

  当输入电流有低频脉动时,不能用DC-DC开关周期内的伏秒平衡去做,但是可以先求解输入电压和占空比的低频内的平均值,然后按照DC-DC里的表达式去求解电压电压增益。

5. 参考资料

单相PWM变换器的有源功率解耦设计

6. 反馈与建议

  • upqcyjp@163.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Boost电压增益分析(输入电流低频脉动时) 的相关文章

  • 一个新的通用指针any_ptr(现在为dumb_ptr)使代码在智能指针中更可重用

    我最近一直在使用很多不同的 boost 智能指针 以及普通指针 我注意到 当你开发时 你往往会意识到你必须切换指针类型和内存管理机制 因为你忽略了一些循环依赖或其他一些烦人的小事情 当发生这种情况并且您更改指针类型时 您必须要么去更改一大堆
  • 使用 gtest 模拟 boost 共享内存派生类

    我有一个简单的 CPP 类 存储项目的一些配置 此类使用 boost 进程间共享内存进行存储 因此可以从我的服务器上运行的不同进程进行访问 现在 我想对我的程序运行一些测试 所以我想模拟我的共享内存对象的功能 为了使用 gtest 做到这一
  • 在 while(1) 循环中增强互斥锁的scoped_lock

    我有两个进程共享一个队列 该队列由互斥体和条件同步 我的一个进程中有以下代码 named mutex mutex open only MyMutex int main while 1 scoped lock
  • 为什么Boost在“程序选项”中使用全局函数覆盖来实现自定义验证器

    这个例子 http www boost org doc libs 1 55 0 doc html program options howto html idp163429032显示一个名为validate在全局范围内定义重载函数boost
  • boost 构建中缺少头文件

    我从 github 存储库克隆了当前的 boost 源 https github com boostorg boost https github com boostorg boost包括所有引用的子存储库 我使用最新的 XCode 命令行工
  • 如何从 cpp_dec_float_50 转换为 cpp_int?关于一般的浮点数?

    我的基本目标是减去两个应该相等的浮点数 考虑一下 float x 1 float a x 30 x 40 float b x 30 b x 40 std cout lt
  • 如何使用Boost.Asio C++? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我会尝试使用该库在多个平台上使用套接字 Boost Asio c 我在这里下载了最新版本 http sourceforge net p
  • 设置种子增强::随机

    我想通过使用不同的种子数来重置随机序列 运行此测试代码时 boost mt19937 gener 1 boost normal distribution lt gt normal 0 1 boost variate generator
  • 可以将 boost 累加器用作类成员

    我正在尝试使用升压累加器来计算滚动平均值 当我像这样声明内联变量时 include
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何确保我们读取 boost::child 进程中的所有行

    我在上面看到了下面的代码boost child文档页面 其中解释了如何读取子进程的输出 http www boost org doc libs 1 64 0 doc html boost process tutorial html http
  • 将 boost::future 与 Continuations 和 boost::when_all 一起使用

    我想用boost future与延续和boost when all boost when any Boost trunk 不是 1 55 包括后者的实现 根据提案建模 here http www open std org jtc1 sc22
  • (shared_ptr+weak_ptr)兼容原始指针的设计

    Preamble 在C 11中有std shared ptr std weak ptr组合 尽管非常有用 但它有一个令人讨厌的问题 无法轻松地从原始指针构造shared ptr https stackoverflow com questio
  • E0145 成员可能未初始化 - cmake - VS2017

    我正在尝试将 C 应用程序与 PCL 库链接 我使用 VCPKG 安装了 PCL 及其所有依赖项 我正在使用 Visual Studio 2017 和 cmake 3 12 for X64 当我尝试构建解决方案时 它给了我以下错误 E014
  • CMake 找不到 boost

    Windows 7 64 位 CMake 2 8 10 Steps 下载加速 http sourceforge net projects boost files boost 1 51 0 http sourceforge net proje
  • 使用 karma 生成指针向量的输出

    我在使用 karma 为 boost shared ptrs 向量中保存的结构生成输出时遇到一些麻烦 我有一个使用无法编译的整数的小测试用例 我在想我可以使用 deref iterator 自定义点来处理这种情况 或者开箱即用的精神可能会注
  • Boost 错误代码参考

    有谁知道在哪里可以找到升压错误代码的参考 特别是 异步套接字处理程序返回的错误代码 Google 和 grep 头文件已调为空 我从 Linux 上的 asio error hpp 中提取了错误值 顺便说一句 我仅使用标头 asio 而不是
  • boost::bind 会导致开销吗?

    我目前正在从事网络软件方面的工作 它有一个主要类 server这显然代表一个服务器实例 A server实例可以发送请求 并通过回调通知用户响应 代码如下 class server public typedef boost function
  • 将 for_each 和 boost::bind 与指针向量一起使用

    我有一个指针向量 我想为每个元素调用一个函数 但该函数需要一个引用 有没有一种简单的方法来取消引用元素 Example MyClass ReferenceFn Element e MyClass PointerFn Element e My

随机推荐

  • r730xd服务器文档,r730xd配置服务器远程

    r730xd配置服务器远程 内容精选 换一换 如果默认的yum apt zypper源不可用 工具安装过程中会从华为开源镜像站匹配对应的镜像文件 并给出下载地址 如果没有匹配到 请自行获取对应操作系统版本的镜像文件 镜像文件名称请参见鲲鹏开
  • request.getRequestDispatcher(url) /error 404

    二 使用语法 request getRequestDispatcher 资源URI forward request response response sendRedirect web应用 资源URI 在进行web开发时 跳转是最常见的 包
  • Next 主题配置

    当前用得最多的是next主题 那为什么用得多呢 当然是符合大多数人的审美 我使用的是next v7 8 0 下载地址 theme next hexo theme next 1 基本设置 1 1 主题设置 打开博客根目录 Blog 文件夹 右
  • proteus仿真STM32串口的各种问题和解决办法

    最近在学习STM32串口通信 想试试能不能用proteus仿真 发现还是有挺多问题的 刚一开始在原理图放个STM32就报错 通过查阅资料才知道 选择 Design gt Configure Power Rails 添加到VCC VDD里头既
  • 测试开发必备10大技能,你达标了吗?

    一个人到底要走多少弯路 才能成为一名合格的测试开发工程师 近年来 随着敏捷开发 微服务架构 DevOps逐渐深入人心 软件行业发生了翻天覆地的变化 相应地 软件测试行业也洗牌加剧 软件测试的准入门槛 也从以前的是个人就行 逐渐变成了 科班出
  • JAVA————一门强大的面向对象编程语言

    JAVA 一门强大的面向对象编程语言 Java是一门面向对象编程语言 不仅吸收了C 语言的各种优点 还摒弃了C 里难以理解的多继承 指针等概念 因此Java语言具有功能强大和简单易用两个特征 Java语言作为静态面向对象编程语言的代表 极好
  • 卷积神经网络实现人脸表情识别

    文章目录 一 实现过程 1 1 下载数据集 1 2 根据猫狗数据集训练的方法来训练笑脸数据集 1 2 图片分类 1 3 作为健全性检查 计算一下在每个训练分割中我们有多少图片 训练 验证 测试 1 4 卷积网络模型搭建 1 5 图像生成器读
  • ClassCastException: java.math.BigInteter cannot be cast to java.math.BigDecimal

    原文链接 https blog csdn net huxiaochao 6053 java article details 84750905 java Math BigInteger转 int类型 使用spring data jpa 查询数
  • kmeans总结

    1 关于分类和聚类 kmeans属于聚类算法中的一种 分类和聚类是不同的概念 虽然两者的目的都是对数据进行分类 但是却有一定的区别 分类是按照某种标准给对象贴标签 再根据标签来区分归类 聚类是事先没有给出标签 刚开始并不知道如何对数据分类
  • 06功能之读取文件统计数字的次数(hash_map存储)

    06功能之读取文件统计数字的次数 hash map存储 1 思路分析 1 每次将读取到的数字存在字符数组 2 从字符数组截取实际长度保存成string对象 3 建立hans map
  • 【0304】密码分类

    密码学基本概念 密码学的主要任务 为存储和传输中的信息提供信息安全保护 解决 1 机密性 如何使信息让授权的人能看懂 别人看不懂 2 可鉴别性 3 完整性 包括不可修改 4 抗抵赖性 密码学 密码编码学 寻求有效密码算法和协议 密码分析学
  • GB28181-2022注册注销基本要求、注册重定向解读和技术实现

    规范解读 GB28181 2022注册 注销基本要求相对GB28181 2016版本 做了一定的调整 新调整的部分如下 更改了注册和注销基本要求 见 9 1 1 2016 年版的 9 1 1 1 增加对NAT模式网络传输要求 宜增加TCP传
  • openEuler22.03启动提示错误:Failed to execute /sbin/init、Failed to execute /bin/sh,无法进入系统

    现象描述 openEuler服务器重启后 提示如下错误 定位思路 首先查看提示到的sh和init是否存在 如果存在 他们的权限是否跟正常机器一致 处理步骤 挂载光盘 进入救援模式 点击rescue的 选1 之后提示报错 救援模式无法进入 换
  • ES6字符串的扩展

    1 模板字符串 2 打印输出结果
  • java web 字体颜色循环变化 js实现

    setInterval 函数 设定颜色刷新的时间间隔 div h2 class title 天黑 h2 h4 请睁眼 h4 div js部分
  • rv1126-A/B升级方案报错

    一 修改配置 打开device rockchip RV1126 RV1109 BoardConfig mk 将RK Uboot DEFCONFIG配置成rv1126 ab 二 修改分区参数 根据mkfirmware sh文件中的参数PARA
  • JAVA机试题图书管理系统----三层架构模式

    通过Java程序实现图书管理系统 一 功能如下 使用一维数组 1 实现新增图书功能 2 实现查询图书功能 3 删除图书功能 二 具体实现 图书类包括 图书名称 价格 借出状态 int类型0表示己借出1表示未借出 借出日期 4个数组 管理类包
  • 数据字典功能

    1 什么是数据字典 数据字典存储有关数据的来源 说明 与其他数据的关系 用途和格式等信息 它本身就 是一个数据库 存储 关于数据项的数据 数据字典是个指南 它为数据库提供了 路线图 而不是 原始数据 换句话说 数据字典通常是指数据库中数据定
  • 软件之遇到的错误整理(KEIL)

    许久不用KEIL了 新接触的LORA项目中要用这个 安装这个软件出了许多莫名奇妙的错误 读本科时用的挺顺手的 现在用的一点也不习惯 参考了网上的教程 整理如下 免得许久不用之后又浪费时间在这上面 一 报错 FATAL ERROR L250
  • Boost电压增益分析(输入电流低频脉动时)

    1 Boost电压增益 如图所示 Boost电路的应用极为广泛 不光在DC DC中有应用 而且在AC DC中Boost型PWM整流器和Boost型PFC是主流拓扑 Boost的增益都很清楚 即Vo Vin 1 D 但是在输入电流有低频脉动时