图腾柱和互补推挽有什么区别?为什么PWM驱动芯片用图腾柱?

2023-11-23 01:30

本文主要是介绍图腾柱和互补推挽有什么区别?为什么PWM驱动芯片用图腾柱?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

推挽电路的应用非常广泛,比如单片机的推挽模式输出,PWM控制器输出,桥式驱动电路等。推挽的英文单词:Push-Pull,顾名思义就是推-拉的意思。所以推挽电路又叫推拉式电路。

//

常见推挽电路

推挽电路有很多种,根据用法的不同有所差异,但其本质都是功率放大,增大输入信号的驱动能力,且具有两个特点:

很强的灌电流,即向负载注入大电流;

很强的拉电流,即从负载抽取大电流。

如图1由NPN+PNP三极管组成的推挽电路,这就是我们常用的互补推挽电路。特点是输出阻抗很小,驱动能力很强。

图1 互补推挽电路

如图2,输入信号由低电平跳变到高电平,上管导通。

图2 上管导通

如图3,输入信号由高电平跳变到低电平,下管导通。

图3 下管导通

如图4,NPN+PNP构成的互补推挽电路是共射极输出,在任意时刻,有且只有其中一个管子导通有输出。

图4 共射极输出

有朋友觉得三极管不都是集电极(C)作为输出吗?怎么画风变了。按常规思路应该是如图5所示的电路图;如果单独输入是0V或12V,那么该电路看似没有毛病,但是输入信号是变化的,电压信号高低电平的跳变有过渡的过程,所以在某个中间电压时会出现两个管子同时导通的情况,这是要炸管的,切记!

图5 错误的推挽电路

如图6为推挽驱动MOS管的电机调速电路,MOS管的G极灌电流及拉电流都很大,于是MOS管的开通和关断时间都非常短,平台电压也非常窄,可有效降低开关损耗。

图6 电机调速电路

当然,如图7把三极管替换成MOS管也是完全可以的,驱动能力会更强劲。

图7 MOS管结构的互补推挽

以上互补推挽电路的输入信号幅值必须和推挽供电电压一致,比如推挽供电电压为12V,那么输入的PWM信号的幅值也必须是12V。如果输入低于12V,输出也也会低于12V,参考图4所示,那么在管子上形成的压降会导致管子发热严重。

//

图腾柱电路

有没有小电压驱动大电压的推挽结构呢?当然有,在很多驱动芯片里非常常见,我们管TA叫图腾柱;如图8所示。

图8

如图9的红框内,图腾柱由NPN+NPN构成,上管前级有个非门。(实际上,芯片框图对有些功能只以模块化展示,涉及的细节属于绝密是不可能呈现出来的)

//

为何芯片采用图腾柱

为什么芯片采用图腾柱而不是互补推挽呢?原因是芯片内部的工作电压为5V(VCC经过芯片内部的线性电源得到5V),由前面对互补推挽的分析得知该结构并不适用于小电压驱动大电压;于是图腾柱结构的推挽孕育而生。

图9 图腾柱

如图10为图腾柱仿真电路,信号源为5V/1k的方波,二极管D1的作用是防止Q3、Q4同时导通而导致炸管。

图10 图腾柱仿真电路

如图11为图腾柱仿真波形,输出与输入相位相反,黄色表示Ui输入波形,蓝色表示Uo输出波形,实现了小电压驱动大电压的推挽输出。

图11 图腾柱仿真波形

如图12为互补推挽仿真电路,信号源为12V/1k的方波。

图12 互补推挽仿真电路

如图13为互补推挽仿真波形,输出与输入相位一致,黄色表示Ui输入波形,蓝色表示Uo输出波形。

图13 互补推挽仿真波形

然而,我们常用的运放也是推挽输出,运放的一个特性就是输入阻抗很大,输出阻抗很小,输出如图14红框所示,输出阻抗不到200Ω。

图14 运放的推挽输出

如图15,运放输出端与反相输入端直接相连就构成了常用的跟随器,输出电压等于输入电压,驱动能力大大增强。

图15 跟随器

要点小结

图腾柱是NPN+NPN结构,互补推挽是NPN+PNP结构;

图腾柱有非线性特征,只能用于PWM输出,而互补推挽有线性特征,除了用于PWM输出外,还可用于模拟信号输出;

图腾柱多见于PWM芯片驱动,用于直接驱动功率MOS管;互补推挽多见于搭建的电路以及MCU(单片机)、运放等芯片;

PWM控制时,图腾柱输入电压可小于驱动电压,而互补推挽必须是输入电压与驱动电压相等。

关于图腾柱和互补推挽,很多时候都被认定是同一个电路(且存在争议),其实不然,正确认识以及了解它们的区别后,相信读者对它们有个全新的认识。

这篇关于图腾柱和互补推挽有什么区别?为什么PWM驱动芯片用图腾柱?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414346

相关文章

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Spring中@RestController和@Controller的使用及区别

《Spring中@RestController和@Controller的使用及区别》:本文主要介绍Spring中@RestController和@Controller的使用及区别,具有很好的参考价... 目录Spring中@RestController和@Controller使用及区别1. 基本定义2. 使

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin