图腾柱Totem-Pole和互补推挽Push-Pull有什么区别?为什么PWM驱动芯片用图腾柱?,推挽控制电压和驱动电压相等,图腾柱可以小电压控制输出大电压驱动电路

本文主要是介绍图腾柱Totem-Pole和互补推挽Push-Pull有什么区别?为什么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构成,上管前级有个非门。(实际上,芯片框图对有些功能只以模块化展示,涉及的细节属于绝密是不可能呈现出来的)

//

为何芯片采用图腾柱Totem-Pole

为什么芯片采用图腾柱而不是互补推挽呢?原因是芯片内部的工作电压为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驱动芯片用图腾柱?_腾讯新闻

3、图腾柱驱动电路

个人认为图腾柱电路就是推挽电路的不同叫法。TI的应用手册上也是把推挽电路叫做Totem-Pole

 推挽电路驱动与图腾柱驱动的区别_推挽驱动_CircuitInBrain的博客-CSDN博客

这篇关于图腾柱Totem-Pole和互补推挽Push-Pull有什么区别?为什么PWM驱动芯片用图腾柱?,推挽控制电压和驱动电压相等,图腾柱可以小电压控制输出大电压驱动电路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

解读@ConfigurationProperties和@value的区别

《解读@ConfigurationProperties和@value的区别》:本文主要介绍@ConfigurationProperties和@value的区别及说明,具有很好的参考价值,希望对大家... 目录1. 功能对比2. 使用场景对比@ConfigurationProperties@Value3. 核

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j