复习一下电子设计基本元器件,运算放大器 ...... 矜辰所致
目录
最近在某个传感器产品上面用到了运算放大器,然后在进行电路设计的时候遇到一些细节,还去翻阅笔记,查找了相关的资料。
运放作为电子设计的基础元器件之一,在我的博文中还不曾来好好说明介绍一下,正好借此机会,我们从应用的角度来聊一聊运算放大器。
我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!
说到运放,在相关专业大学课本模拟电子技术一书中可是花费了很多章节来讲述,但是实际上我回头看了一遍课本…… 不太看得下去……
因为在讲运放的开始模电书上就给你一张运放内部结构电路图,类似下图(书上的图我没特意去找):

然后就开始各种理论分析了……
我们本文从应用的角度,为了让大家能够 快速的分析基本运放电路 的角度出发,来说明一下运算放大器的基本知识。
先来点基本知识,这些应该都是书本上、网络上的一些基本概要,走个过场 = =!。
基本的运算放大器如图所示:

对运算放大器做一些基础的说明(我都忘了以前从哪里抄下来的记在笔记本上的,反正走个过场,):
1、引脚端口:
有两个输入端口:同相(+)输入端 和 反向(-)输入端,一个输出端口,然后 2个 供电引脚。
2、信号输入:
当输入信号从 “-” 端口输入放大器时,输出端的输出信号与输入信号反相;
当输入信号从 “+” 端口输入放大器时,输出端的输出信号与输入信号同相;
当两个输入端口同时输入信号时,运算放大器实现减数运算,输出信号与较大的一方同相。
3、理想运放:
一个理想的运算放大器必须具备下列特性(这些东西是理论东西,就算不懂这些名词,也不影响后面我们会使用运放):
无限大的 输入阻抗、等于零的输出阻抗、无限大的开环回路增益、无限大的共模排斥比的部分、无限大的频宽。

特别说明,本文的讨论是基于 “理想的运算放大器”,并且是通用的运算放大器,特殊用途的不在此讨论范围。
下面开始的这些点,就是理解运放工作的要点了 !!!
先来说说运放工作时候的电流:
运放的输入端是没有电流流入或者流出的!!!! 但是输出端是可以经过电流的!!!
知道这一点是进行后面分析的基础,要说为什么运放输出端是没有电流的,因为他有着无限大 的输入阻抗。
输出端的电流流向如下图所示(电流通过正电源流向输出,或者通过输出流向负电源):

输出端的这些电流是由运放的供电端提供的,其实这里也可以稍微理解一下,为什么运放的输出最大值不可能超过供电电源,输出的最小值不可能低于负电源( 电流是从电压高的地方流向电压低的地方 )。
运放 Vout 的公式:
Vout = 开环增益* ( Vin+ - Vin-)
.
开环增益你可以理解为运放本身的“放大倍数”,他是一个很大很大的值,理想运放这个值都是 无限大。
.
所以公式最后基本就是 Vout = 无限大 * 同向输入端与反向输入端的差值。
通过这个东西可以告诉我们一个运放的特性(要记住):
假如运放的 正输入端的电压 高于 负输入端的电压 ,即便只高一点点,由于开环增益 无限大,所以他还是会产生他能够输出的最大正电压 。
相反的,假如运放的 正输入端的电压 低于 负输入端的电压 ,所以他还是会产生他能够输出的最大负电压 。
对于 负电源接 0V 的场合,那么他能产生的最大负电压也只能是 0 V。
运放作为比较器的应用就是用到了运放的这种工作特性,我曾经写过使用运放 作 比较器的文章:
在运放电路中,我们经常听到负反馈,什么是负反馈? 为什么要引入负反馈?
简单来说,负反馈就是把输出端的电压,引入到 负输入端的操作,如下图:

上面 Vout 电压通过 R1 电阻引入到 Vin- 端,形成了一个负反馈电路。
在上面我们介绍运放工作特性的时候知道,如果没有反馈,那么运放好像只能用作比较器。这种输入与输出并不存在正常的数学运算的工作方式可能并不是我们想要的。
所以,我们想输出一个稳定的可以计算的电压,就需要引入负反馈,下面是一个最简单的负反馈电路分析:
下面的分析还是基于上面的 1.3 小节 运放的工作特性,那个运放的工作特性是需要记住的重点!

只要记住了运放的工作特性,那么所有的反馈都可以以此为基础进行分析。
我们举一个简单的例子:

上图中已经给出了大部分分析, 分析的前提是基于 运放的输入端没有电流流入,和 运放的工作特性,正输入端 与负输入端在在稳定下来的电路中会基本相等。
上图中继续计算:
( 0 - Vout) / R1 = Vin- /R2
Vout = - (R1/ R2) * Vin-
这里我们只是举了一个简单的例子应用本文的理论知识进行说明计算,后续我应该会单独写一篇博文来记录一下常用的运放电路分析。
然后有的朋友还会有疑问,既然有负反馈,那么是不是也有正反馈?
正反馈肯定是有的,但是本文并不打算分析正反馈,我简单的用几句话说明一下:
负反馈降低了电路的放大能力,但能够改善电路的放大性能,减小了波动,电路稳定性更好。
正反馈提高了电路的放大能力(可以自己根据运放特性想象一下), 在正反馈中,输入和输出信号的相位相似,因此两个信号相加,适用于振荡电路中。
对于学习运放的朋友,看很多文章或者视频,都会遇到 虚短与虚断这两个概念,很多的教学分析都是基于这两个概念的,其实只要了解 运放的特性,是否对于这两个概念自然就懂了。
虚短:
其实就是在分析反馈电路的时候,根据运放的特性我们可以知道,电路最后的稳定状态,肯定是 Vin+ 基本等于 Vin- 的。
这种 Vin+ = Vin- ,在分析的时候就当成短路了一样来分析,但又不是真正的短路,所以叫做虚短。
实际上记住运放的特性就明白了。
虚断:
虚断,其实也就指的是运放的输入端没有电流流入和流出。
就类似于电路断开了就没有电流了,所以分析的时候把两个输入端想象成断开的,称为虚断。
其实只要知道运放的输入阻抗非常非常高,这点也能很好的明白。
新手是否需要去记这个 虚短与虚断 看个人把,但是通过本文的分析,你应该什么都能够理解了 = =!
本文使用了几个简单的几个知识点,说明了一下如何去理解分析运放。
1、
运放的输入端是没有电流流入或者流出的。
2、
假如运放的 正输入端的电压 低于 负输入端的电压 ,他会产生他能够输出的最大负电压 ;
假如运放的 正输入端的电压 高于 负输入端的电压 ,他会产生他能够输出的最大正电压 ;
如果能够理解记住本文的内容,那么大家在以后遇到运放电路分析的时候是大大的有帮助的,有些东西没必要死记硬背,了解运放的特性和工作原理,可以让你在面对不同的运放电路时,都能够得心应手。
当然,在实际应用中我们常用的运放电路也就那么一些,有时间我会单独写一篇博文应用本文的知识点进行分析。
好了,今天有点赶= =! 本文就到这里! 谢谢大家!
请帮助我理解范围运算符...和..之间的区别,作为Ruby中使用的“触发器”。这是PragmaticProgrammersguidetoRuby中的一个示例:a=(11..20).collect{|i|(i%4==0)..(i%3==0)?i:nil}返回:[nil,12,nil,nil,nil,16,17,18,nil,20]还有:a=(11..20).collect{|i|(i%4==0)...(i%3==0)?i:nil}返回:[nil,12,13,14,15,16,17,18,nil,20] 最佳答案 触发器(又名f/f)是
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图
我明白了:x,(y,z)=1,*[2,3]x#=>1y#=>2z#=>nil我想知道为什么z的值为nil。 最佳答案 x,(y,z)=1,*[2,3]右侧的splat*是内联扩展的,所以它等同于:x,(y,z)=1,2,3左边带括号的列表被视为嵌套赋值,所以它等价于:x=1y,z=23被丢弃,而z被分配给nil。 关于ruby-带括号和splat运算符的并行赋值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正处于学习Ruby的阶段,我想查看一些小型库的源代码以了解它们是如何构建的。我不知道什么是小型图书馆,但希望SO能推荐一些易于理解的图书馆来学习。因此,如果有人知道一两个非常小的库,这是新手Rubyists学习的好例子,请推荐!我想使用Manveru'sInnatelib,因为它试图保持在2000LOC以下,但我还不熟悉其中经常使用的Ruby速记。也许大约100-5
由于匿名block和散列block看起来大致相同。我正在玩它。我做了一些严肃的观察,如下所示:{}.class#=>Hash好的,这很酷。空block被视为Hash。print{}.class#=>NilClassputs{}.class#=>NilClass为什么上面的代码和NilClass一样,下面的代码又显示了Hash?puts({}.class)#Hash#=>nilprint({}.class)#Hash=>nil谁能帮我理解上面发生了什么?我完全不同意@Lindydancer的观点你如何解释下面几行:print{}.class#NilClassprint[].class#A
问题是:除了在“OperatorExpressions”?例如:1%!2 最佳答案 是的,可以创建自定义运算符,但有一些注意事项。Ruby本身并不直接支持它,但是superatorsgem做了一个巧妙的把戏,将运算符链接在一起。这允许您创建自己的运算符,但有一些限制:$geminstallsuperators19然后:require'superators19'classArraysuperator"%~"do|operand|"#{self}percent-tilde#{operand}"endendputs[1]%~[2]#Out
在Ruby中有运算符(operator)。在API中,他们没有命名它的名字,只是:Theclassmustdefinetheoperator...Comparableusestoimplementtheconventionalcomparison......theobjectsinthecollectionmustalsoimplementameaningfuloperator...它叫什么名字? 最佳答案 参见上面的@Tony。然而,它也被称为(俚语)“宇宙飞船运算符(operator)”。
我很难理解Ruby中sender和receiver的实际含义。它们一般是什么意思?到目前为止,我只是将它们理解为方法调用和获取其返回值的调用。但是,我知道我的理解还远远不够。谁能给我一个Ruby中发送者和接收者的具体解释? 最佳答案 面向对象中的一个核心概念是消息传递和早期概念化,这在很大程度上借鉴了计算的Actor模型。艾伦·凯(AlanKay)创造了面向对象一词并发明了最早的OO语言之一SmallTalk,他拥有voicedregretatusingatermwhichputthefocusonobjectsinsteadofo
也许这听起来很荒谬,但我想知道这对Ruby是否可行?基本上我有一个功能...defadda,bc=a+breturncend我希望能够将“+”或其他运算符(例如“-”)传递给函数,这样它就类似于...defsuma,b,operatorc=aoperatorbreturncend这可能吗? 最佳答案 两种可能性:以方法/算子名作为符号:defsuma,b,operatora.send(operator,b)endsum42,23,:+或者更通用的解决方案:采取一个block:defsuma,byielda,bendsum42,23,