图腾柱和互补推挽有什么区别?为什么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

相关文章

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化