开关电源-PFC驱动电路的工作原理

PFC驱动电路的工作原理

由于PFC的控制地和MOS管组成的双向开关的源极不共地,因此需要解决开关管浮地驱动问题。
在这里插入图片描述

图2 驱动电路图
电路图说明:

  1. PFCPWM是DSP的PWM信号;
  2. VCC_4V和AGND是DSP侧的电源和控制地;Vccp_14V和AGND_DRV是MOS管驱动的电源和控制地;
  3. PFCDRVA和PFCDRVB分别是2个开关管的栅极驱动信号;
  4. U302为隔离光藕,U303是集成驱动芯片。
    工作原理
    1.1驱动电路基本工作原理
    其工作原理大致如下:DSP发出PWM驱动控制信号;驱动信号通过后级推挽等放大电路驱动隔离光藕实现驱动信号的隔离传输功能(隔离光耦将弱信号的控制地和强抖动电平的驱动地隔离,同时也利用光传输对前级驱动的电噪声进行屏蔽和抑制)。由于隔离光耦的输出电流有一定限制,无法直接驱动MOS管,故需通过驱动芯片将其输出电平信号进行整形和电平转化,最后驱动MOS管。
    1.2隔离光藕和驱动芯片的选择
    隔离光耦是整个驱动电路的关键器件,其选型需综合考虑最大工作隔离电压、开关速度、CMTI、传输延迟、最大开关频率、成本等指标。另外关于隔离光藕的带宽指标如何选择,其对于相位裕量的影响有多大,目前还不是十分清楚,还有待后续进一步研究。
    同时,驱动芯片逻辑的选择也直接取决于电路光藕的选择。以图2中的电路为例,由于H7413Z PFC的开关频率为70KHz,故需选用高速光藕。图2中所选用的逻辑光藕U302的输入输出信号为反逻辑,其输入输出波形示意如图3所示(以PS9317为例)。后级的驱动芯片U303也需选用反逻辑的芯片与之匹配,其输入输出逻辑如图3所示(以UCC27423为例)。
    在这里插入图片描述

图3 PS9317输入输出波形
1.3 PWM信号的放大和电平转换
由于DSP的PWM信号幅值和输出电流均有限,无法直接驱动隔离光耦的原边LED,因此需使用电平转换和放大电路,提升驱动能力。并且还需根据所用隔离光耦的VF特性差异,设计不同的前级电路:
(1) 对于逻辑门光耦,其LED的VF离散性较小(例如HCNW2211为0.32V,见图5).
在这里插入图片描述

图5 HCNW2211的VF分布范围
(2) 对于栅极驱动光耦,由于部分厂家LED的VF离散性较大(例如Renesas PS9552L3为0.45 V,见图7),如果直接用图6的推挽放大,当VF分别取到上下限时,I­F很难设计在7-16mA之间(图8)。H941AZ设计之初为解决HCNW2211的独家问题,拟采用驱动光耦(39100114),同时为满足I­F的要求,因此设计反逻辑+推挽输出做为前级电路。
在这里插入图片描述

图7 PS9552L3的VF分布范围
在这里插入图片描述

图8 PS9552L3和FOD3120的IF推荐范围
随着光耦技术的发展,业内还出现一种IPM接口驱动光耦,如39100151(ACPL-P480和TLP715)。它们具有更小的封装(如Stretched SO-6),价格也合理,而VF离散性较小(约0.2V)。
1.4光耦输出整形和放大
通常,隔离光耦的输出电流有一定限制。例如逻辑门光耦HCNW2211的IO小于25mA,即便是栅极驱动光耦FOD3120,其最大输出电流也只有2.5A,无法同时驱动2个SPW47N60C3。因此,光耦输出还需要再加一级放大电路。在调试过程中发现,采用三极管推挽放大,由于强共模干扰的存在,会引起驱动Vgs的高、低电平并不是平直波形,特别是低电平存在杂乱的波动(图9)。如果波动超过开关管的Vgs(th),可能造成误开通。若改用共地驱动芯片,一方面对光耦的输出进行整形,提高栅极驱动Vgs电平的平整度(图10);另一方面利用驱动芯片输入级逻辑电平的滞环,进一步增强对光耦输出干扰信号的抑制能力。此外,驱动芯片一般采用FET图腾柱输出,其开关速度较推挽三极管更快,有利于减小开关损耗。
在这里插入图片描述

图9 采用推挽三极管输出的Vgs
在这里插入图片描述

图10 采用驱动芯片输出的Vgs
1.5其他附属电路的工作原理
在图2中,由于隔离光藕U302与驱动芯片U303对供电电源的要求不同,为简化设计,我们通过稳压管D308将14V转化为5.1V给隔离光藕U301供电。D302是驱动芯片的负压钳位二极管;在驱动回路,利用稳压管和电容并联(如D301,C304)形成负压,提高驱动脉冲零电平的抗干扰能力;C301是H7413Z中为防止驱动芯片ENB脚受到干扰导致误关断而增加的,可以根据实际调试情况是否去除。另一种方法可以是,在ENB脚与VDD之间外加大于10Kohm的上拉电阻。
参考原文:《PFC驱动电路的工作原理》

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

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

相关文章

深度学习与机器学习区别

深度学习与机器学习区别 本文目录: 一、特征提取方面 1.1、机器学习 1.2、深度学习 1.3、机器学习特征提取 1.4、深度学习特征提取 1.5、深度学习特征提取例子 二、数据量和计算性能要求 三、算法代表 3.1、朴素贝叶斯算法 3.2、决策树 四、神经网络 一、…

FineReport学习2

当原始数据中存储的字段不适宜展现在报表上;或原始数据在数据查询时不易修改,但对显示在报表中的值有要求;或需要根据不同的原始数据在报表中显示不同的值时,就可以利用数据字典做巧妙的转化 设置数据字典 数据列的过滤&#xff…

软件工程——第5章总体设计知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.总体设计的基本目的? 2.总体设计的任务? 3.总体设计过程由哪两个阶段组成? 4.总体设计的步骤? 5…

Python基础语法笔记整理(黑马8天学会python笔记)

Python 第一章、基础语法 01.字面量(写在代码中的固定的值) 02.注释 # 单行注释 """ 多行注释 """03.变量 变量无类型,数据有类型 变量名 变量值04.数据类型 数据类型: type()05.类型转换 字符串转数字&#xff…

在 K8S 中部署一个应用 下

接着上一篇继续部署应用到 K8S中 之前简单部署的简单集群,三个工作节点是运行在 docker 和 kubelet 的,还有一个是控制节点 ReplicationController , pod 和 service 本次关系 之前有提到 ReplicationController , pod 和 服务…

使用 Debian、Docker 和 Nginx 部署 Web 应用

前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程。着重介绍了 Debian、Docker 和 Nginx 的安装和配置。 第 1 步:更新和升级 Debian 系统 通过 SSH 连接到服务器。更新软件包列表:sudo apt update升级已安装的软件…

C语言编程—预处理器

预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CP…

2022年12月份青少年软件编程Python等级考试试卷六级真题(含答案)

一、单选题(共25题,共50分) 1.数据文件“abc.txt”中包含若干个英文单词,如图所示: 读取文件“abc.txt”中数据的Python程序段如下: file abc.txt word_b [] for word in open(file):if word[0:1] a and len(word)>4:wo…

Linux 环境变量 命令行参数

文章目录 问题引入环境变量环境变量相关操纵(附源码)命令行参数问题解释 问题引入 Linux下,为什么我们自己写的可执行文件需要写明路径才可以执行,而系统的命令不需要? 如何使自己的命令也可以不带路径执行&#xff…

SAP-QM质量管理视图字段解析

QM物料授权:如果在物料主记录中输入物料授权组,则系统将检查(在物料基础上)用户是否具有对以上名称对象的授权。如果未输入授权组,则不进行授权检查。要通过授权检查,用户需要 物料授权,其中包含有字段值所表示的相关授权组。 收货处理时间:收货后的加盐时间(天数)如…

基于Servlet+JDBC实现的基础博客系统>>系列3 -- Servlet后端服务器搭建

目录 前言 1. 前期准备 2. Model层 2.1 数据库的设计 2.2 数据库表对应的实体类实现 User类 Blog类 2.3 JDBC 工具类实现 2.4 UserDao 的实现 2.5 BlogDao 的实现 3. Controller 层实现 3.1 博客列表页 3.1.1 约定前后端交互接口 3.1.2 编写后端代码 3.1.3 编写…

Redis复习

文章目录 分布式锁基本概念及问题超时问题可重入锁 Pub/Sub消息多播Pub/Sub模式订阅消息结构PubSub缺陷 线程 I/O模型非阻塞I/O事件轮询(多路复用)select函数指令队列 分布式锁 基本概念及问题 如果操作要修改用户状态,需要先读取再修改用户…