电子说
本文展示了如何使用晶体管设计施密特触发器,如何改进基本设计,以及为什么有时它可能是最好的方法。
它有什么作用?
施密特触发器是一个决策电路。它用于将缓慢变化的模拟信号电压转换为两种可能的二进制状态之一,具体取决于模拟电压是高于还是低于预设阈值。比较器可以做很多相同的工作。
我不能买一个集成电路来做这个吗?
是的,CMOS 器件是可用的,但您不能选择阈值电压,它们只能在有限的电源电压范围内工作。例如,74HC14 旨在在 +5v 下运行,阈值通常为 2.4v 和 1.8v。
或者您可以使用比较器 IC,并通过额外的分立电阻器定义阈值。
如果您需要清理嘈杂或失真的数字信号,请使用 IC。如果您的要求需要不寻常的电压或精确的阈值,您可能必须设计一个特殊的电路。
双晶体管施密特触发器及其工作原理
假设输入电压Vi接近于零。T1没有基极电流,所以它处于关闭状态。T2通过R1和RA汲取基极电流,因此它处于开启状态(根据设计,它处于饱和状态 - 即其集电极-发射极电压V CE接近于零),因此Vo位于由下式形成的分压器的中点R2 & RE,介于+V和地之间。
现在假设Vi开始增加。T1的发射极电压由流入T2的电流保持固定,因此当Vi达到高于该值 0.6v(称为VP)时,T1将吸收一些基极电流并开始导通。
当它这样做时,T1开始使T2缺乏基极电流,因此T2开始关闭,因此其发射极电压开始下降。但这会增加 T1的基极-发射极电压,因此T1会更快地开启。正反馈使电路进入T1开启(并且设计为饱和)而T2关闭的状态。Vo现在靠近+V。
最后,假设Vi开始回落到零。T1的发射极电压现在由其自身的发射极电流控制。当Vi下降到高于该值约 0.6v 时(称为VN),T1将开始关闭。这允许T2再次开始开启,将其自己的发射极电流添加到T1的,从而向上推动发射极电压。这迫使T1更快地关闭,并且正反馈再次使电路快速进入其他状态,T1关闭,T2开启。
阈值和电流
我需要强调一个重要的设计约束。假设Vi从零开始缓慢上升,并达到T1开启的阈值。该阈值 ( VP ) 由流经RE的T2的发射极电流设置。一旦Vi达到VP,T2就关闭,通过RE的电流现在通过T1。
假设该电流大于来自T2的电流。如果是这样,T1的发射极电压会在T1开启时突然升高。但随后T1会突然发现其基极电压 ( Vi ) 现在小于其新的发射极电压,并会立即关闭。但随后它的发射极电压会再次下降,因此它会再次开启。换句话说,电路会振荡。
因此,设计者必须确保T1中的电流(I1)小于T2中的电流(I2),否则电路将无法工作!
并且由此得出,T2再次开启的阈值(VN )必须低于VP。我想,这两个阈值之间的差异被称为电路的“滞后”,类似于变压器铁芯中发生的情况。
设计实例
设计一个电路来数字化这种嘈杂和失真的信号。提供+5v 和+24v 的电源轨。输出信号必须与在 +5v 下运行的数字逻辑兼容。
如果可以调整输入信号以适应 +5v 电压轨,则可以使用基于 CMOS 逻辑(例如 HC14)的解决方案。也可以使用比较器,但这里显而易见的方法是使用 +24v 电源轨的基于晶体管的设计。我会选择几个容易获得的 30v npn 开关——它们和苹果一样常见。
警告。以下内容不适合那些坚持精确的人。设计不一定总是涉及困难的总和!
第一步是确定阈值VP。从波形上看,它可能应该在 12 或 13v 左右。
接下来,选择将在T2中流动的电流。较低的值可以节省能源,但意味着集电极负载电阻的值较高,这可能会减慢开关边沿。现在在T2中选择 3 mA 。那么发射极电阻RE将为 [12v / 3mA] = 4k。使用 3.9kΩ。接下来,将R2计算为 [(24v - 12v) / 3mA] = 4k。此处也使用 3.9kΩ。
最后,选择T1的集电极电流,从而选择较低的阈值电压VN。噪声尖峰看起来很麻烦,因此将I1设置为 [9v / 3.9kΩ] = 2.3mA 时,将目标设置为 9 或 10v 左右是明智的——这将产生大约 4v 的滞后。那么R1是 [(24v - 9v) / 2.3mA] = 6.5k。使用 6.2kΩ。
R3限制T1的最大基极电流,可以安全地为 [2.3mA / 30] = 77μA(因为晶体管的电流增益不会低于 30),因此R3为 [(24v - 9v) / 77μA] = 194k。使用 180kΩ。(我假设电路由零阻抗电压源驱动。如果不是,则可以从R3中减去源阻抗。)
剩下RA & RB。RA用于在T1关闭时限制T2的基极电流,而RB确保不受温度影响。这两个电阻形成一个分压器,它必须将T2的基极设置为(例如)12.6v,T1关闭,并吸收明显高于T2基极电流的电流,该电流不能超过 [3mA / 30] = 100μA。
选择通过RA和RB的泄放电流为500μA左右,使其远大于T2的基极电流。
那么如果R1为零,RA和RB之和将为 [24v / 0.5mA] = 48kΩ,分压器中点为 12.6v,[ RB / ( RA + RB )] = [12.6v / 24v] = 0.53,这意味着RB = 1.1 RA。这意味着RB是 [48k x 1.1/2.1] = 25k 并且RA是 [48k - 25k] = 23k。但是R1不是零,而是 6.2kΩ,因此RA的实际值为[23k - 6k] = 17k。因此,将值四舍五入,因为更多的电流无关紧要,并选择RA = 15kΩ 和RB = 22kΩ。
那里。完成的。现在构建一个并尝试一下。好吧,无论如何,模拟它。它按预期工作,在 12v 和 8v 下切换。
设计实例的最终电路
该电路的输出从大约 13v 摆动到 24v,而规范说输出电平应该是 0v 和 5v。我需要添加一个由 +5v 电源轨供电的电平转换晶体管来纠正这个问题。最简单的解决方案是添加一个 pnp 逆变器。
并且在 15kΩ 电阻器 R6(即RA)上包括一个电容器(4.7 或 10nF),使电路开关更快、更干净——输出边沿的上升和下降时间约为 500 纳秒。
最终电路如下所示。我最终得到了 3 个晶体管和 9 个电阻器(和一个电容器)。这 13 个组件将占用令人不舒服的 PCB 面积,而且组装成本也可能会让人大吃一惊。应该有更好的解决方案。
使用三个晶体管的替代方法
最初的 2 晶体管电路实际上只是具有正反馈的长尾对。像这样画出来,并从第三个 (pnp) 晶体管T3获取反馈,就得到了这里所示的电路。它的工作原理与之前的电路类似,只是现在更有效地利用了 pnp 晶体管的增益。
它还使用更少的电阻器 - 其中一个仅用于将输出摆幅限制在所需的 5v。
和之前一样,当输入电压Vi接近于零时,T1没有基极电流,所以它处于关闭状态。T2开启(使RC短路),T3也是如此。输出Vo为高电平。
随着Vi上升,迟早它会达到足以让T1开始开启的值。这必须在T1的基极电压略高于T2时发生。RA和RB形成一个分压器,定义T2的基极电压,这两个电阻定义了上限阈值VP。
当T1打开时,它会关闭T2和T3。输出Vo下降到接近零(假设RC足够大)。
现在假设Vi开始下降。当 T1 的基极电压降至刚好低于T2时, T1将再次关闭。该电压由分压器RC - RA - RB固定,并且可以设置在零(如果RC =∞)和VP之间的任何位置。该电路的一大优点是VP和VN都由分压器定义,因为它们将在基于比较器的解决方案中。
一个更简单的选择
最初的设计解决方案过于复杂(13 个组件),因为它分两个阶段解决了问题——首先制造施密特触发器,然后安装电平转换器。
将这两个阶段合二为一并不比用 pnp 类型替换 npn 晶体管更复杂。该解决方案仅使用 9 个组件。
该电路(几乎)与原始电路完全相同,只是交换了 +24v 和接地。你甚至可以说,把皱眉倒过来!如果你是那些一直坚持微笑的恼人的人之一。
原电路中+13v 和+24v 的输出电平现在变为+11v 和0v。规范要求 +5v 和 0v,所以我只需要大约一半的可用输出摆幅,我可以通过为R2A和R2B选择合适的值来获得。
一个更简单的选择
如果你已经读到这里,你现在知道电路是如何工作的,如何设计一个,以及如何调整它。但是您可能仍然想知道,如果有的话,您何时会选择这种方法。
这不是一个容易的问题。答案取决于您设计的系统类型。如果输入信号相对较大,并且您决定VP和VN必须相距很远(例如,为了抑制干扰噪声),并且系统已经包含分立元件,则基于晶体管的解决方案可能是答案。如果不是,那么首先尝试一个简单的解决方案可能是值得的,只要看看它在实践中的效果如何。设计示例问题可能可以通过此处显示的非常简单的电路来解决(尽管实际上,我对此表示怀疑)。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !