This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] OPA392:对运算放大器和比较器输出振荡求和(在仿真中)

Guru**** 2665185 points

Other Parts Discussed in Thread: LM35, OPA392, TLV1811, TINA-TI

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1584680/opa392-summing-opamp-and-comparator-output-oscillate-in-simulation

器件型号: OPA392
Thread 中讨论的其他器件: LM35TLV1811、TINA-TI

您好:

我正在设计一个电路来检测两个 LM35 之间的特定温差(例如:环境温度与电池温度):

我将使用 OPA392 向第一个 LM35(环境温度)的输出添加 0.1V (~ 10°C)。 然后、我使用 比较器 TLV1811 来检测此信号是否高于第二个 LM35 的信号(电池温度)。 比较器提供“温度良好“信号(用于进一步处理)。

我天真地使用电压源/发生器模拟了 LM35。 我还添加了一个迟滞、当比较器输出为低电平时、通过下拉比较器正输入端的信号来实现。

image.png

该设计原则上起作用。 但是、仿真会在比较器高电平到低电平转换的阈值(时间光标“A")“)附近振荡、即当负比较器输入端的 LM35_BATTERY 信号达到正比较器输入端的信号电平时、VOMP+:

image.png

如果我将 R9 和 R6 都增加十倍、则振荡不会出现在高电平到低电平转换上、而是出现在低电平到高电平转换上(时间光标“b")“)。

我担心我可能会在实际电路上看到这种振荡。

如果我通过移除 R6(或将其增加到 1T)来消除迟滞、则振荡将消失。

因此、我假设迟滞电路未按预期工作。 迟滞电路中的误差在哪里?

我附加了仿真、以便您获得电路和结果:
LM35-运算放大器 — PushPullKomparator - 4TI.TSC

谢谢。
Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Daniel、

    为什么您有这么长的(双反向器)迟滞环路?  在 T2 的漏极到源极之间增加 1nF 电容器有助于实现。  

    OPA392 不是问题。 TLV1811 反馈就是问题所在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、 Ron Michallick 、

    感谢您的答复。

    我同意 OPA392 不是问题。 相反、我认为当输出发生转换时、TLV1811 似乎会向同相输入注入一些信号。 印象是否正确?

    关于“长迟滞环路“:没错、通过使用直接反馈(例如,通过使用 1M Ω 电阻将 TEMPGOOD 信号馈送到比较器的同相输入)、转换时不会出现振荡:  

    TINA-TI 文件: e2e.ti.com/.../35-LM35_2D00_OpAmp_2D00_PushPullKomparator-_2B00_-direct-feedback-_2D00_–4TI.TSC

    请注意、与第一次仿真相比、我向 第二个 LM35 (LM35_BATTERY) 信号添加了一个“噪声源“(2mV 振荡信号)。 否则、即使没有反馈、仿真中也不会出现振荡、因为电压源很完美。  我忘记在上面的第一次仿真中添加“噪声源“。

    借助此反馈配置、TEMPGOOD 信号在 VCOMP+为高电平(5V 时)时将其上拉 5mV。 该引脚为低电平时(0V 时)、对 VCOMP+没有显著影响。 这是一个有效的迟滞反馈、在转换时没有振荡。

    然而、目的是为从高电平到低 TEMPGOOD 信号的转换建立一个定义的阈值。 换句话说、当 TEMPGOOD 信号为高电平(5V 时)时、VCOMP+应接近 VOPOUT。 当 TEMPGOOD 信号为低电平(0V 时)时、VCOMP+应 比 VOPOUT 低约 10%。 这提供了一个迟滞环路。 此外、TEMPGOOD 信号可用于启用/禁用与温度升高相关的电路(未显示)。

    这就是 “双逆变器“ 应该实现的目标。 第二个晶体管 T2 类似于“开漏“输出、并在 TEMPGOOD 信号为低电平时选择性地启用 R9/R6 分压器。 我想不到一种使用晶体管和电阻器实现此目的的更简单方法。 如果你有任何建议,我很乐意听到他们。

    回到您关于 在 T2 上添加 1nF 电容器的建议、我相应地更改了仿真、并且振荡不会出现。 在将“噪声源“添加到 LM35_BATTERY 信号时、会出现一些抖动、但可以 通过将电容增加到 20nF ~ 30nF 来尽量减少抖动、请参阅下面的:

    TINA-TI 文件: e2e.ti.com/.../33-LM35_2D00_OpAmp_2D00_PushPullKomparator-_2B00_-noise-_2B00_C1-controlled-object-_2D00_–4TI.TSC

    进一步增加电容没有什么帮助、而是增加了更多的抖动。

    是否有任何关于如何完全消除抖动的建议、或者这些“仿真工件“是否已经到了在工作台上实施电路并进行测试的时候了?
    谢谢。
    Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ron、

    我了解了您的“如此长的迟滞循环“注释。 您似乎建议提供一个更简单的迟滞环路。 :-)

    我通过将输入交换到比较器来简化反馈路径。 现在、比较器不会发出“TEMPGOOD"信号“信号、而是发出“警报“信号来直接驱动 n-MOSFET T2、然后激活分压器并下拉基准信号。 这样可以从反馈环路中移除逆变器。 逆变器现在改为生成“TEMPGOOD"信号“信号。

    然而、T2 上的电容器仍需要消除 TEMPGOOD 信号 从低电平到高电平转换时的振荡、而 TEMPGOOD 信号现在是比较器从高电平到低电平的转换、请参阅下面的仿真:

    TINA-TI 文件 (2MB): e2e.ti.com/.../38-LM35_2D00_OpAmp_2D00_PushPullKomparator-_2B00_-noise-_2B00_short-fb-loop-_2D00_–4TI.TSC

    “你说什么?

    周末愉快!
    此致、

    Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、

    T2 上的漏极具有低于接地电压的瞬态电流、因此我建议使用电容。 TEMP_GOOD 是否是唯一需要的输出?  

    您是否有此输出的逻辑或数学公式? 我怀疑一个更简单的解决方案是可能的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ron、

    T2 漏极上的瞬态来自哪里? 是 TLV 吗?

    正确、TEMPGOOD 输出是进行控制所需的唯一输出(它控制安全电路以防止过热,但上述电路中未显示)。 此外、为了仅用于感应(也不包含在上述电路中)、LM35 温度传感器的输出将被放大、然后馈送到 ADC、以便微控制器可以访问温度信号。

    TEMPGOOD 信号的逻辑为:

    * TEMPGOOD 转换至高电平:LM35_BATTERY <(LM35_AMBIENT + 0.1V)* 0.9

    * TEMPGOOD 转换至低电平:LM35_BATTERY > LM35_AMBIENT + 0.1V  

    考虑到应用运行的温度范围、因数 0.9 会将温度阈值降低约 3 - 4°C(并且与生成固定偏移的减法相比,实现起来更简单)。

    谢谢。
    Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、

    以下是 T2 漏极上的瞬态电流来自?

    栅漏极电容。

    以下是最简单的实现方式。 为了获得真正的补充数学性能、请将 R2、R3 替换为随 VOUT 变化的电流源。 电流源影响电阻 (R1) 会在电压中产生数学运算。  因此、在(电池环境温度)> 10°C 时、功能会变为低电平;在 (电池环境温度)> 5°C 时、功能会变为高电平。  

    作为电阻器的 R2、R3 会随着环境温度的变化而改变公式。 TA 是方程的一部分。

    这需要在多大的环境温度范围内工作?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、

    这是一种用作迟滞加性比较器的拓扑。

    根据绘制的阈值为 LM35 差值+50mV、+100mV (+5C、+10C)

      

    e2e.ti.com/.../LM35_2D00_Additive-hysteresis-comparator.TSC

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ron、

    感谢您的两种 替代设计。 它们在仿真中表现出色、因为它们不会表现出任何“抖动“或振荡。  

    不过、我不太愿意采用这些设计。 据我了解、这些设计需要 LM35 灌入电流、这是不可能的。 根据数据表、LM35 只能拉电流。 此外、我无法针对该限制可靠地仿真 LM35 的行为。 因此、我更喜欢将 LM35 连接到高阻抗输入来实现早期的设计、因为此处的相关输出电压。 我认为、这可以使用简单的电压源进行可靠仿真。

    未来、我将更加尊重 CGD 和 实际 MOSFET 会表现出的其他寄生电容。 到目前为止、这些效应没有影响我的设计、因为我使用了 MOSFET 和驱动器或者执行了逻辑电平切换。  


    谢谢。
    此致、

    Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、

    晶体管电流仅提供 10uA 电流。 可以在 LM35 输出端添加一个下拉电阻器来吸收 10uA 以上的电流、因此 LM35 会拉出电流。  最低温度是多少?

    可以将电路更改为 减去 来自电池 LM35 的输入电压。 这将是拉电流。 最低温度仍会是一个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ron、

    谢谢、很有帮助。 我记得以前在电路中的 LM35 输出端上会看到这些下拉电阻器。
    此应用的环境温度范围是+15°C(环境温度)- 40°C。

    此致、
    Daniel

    PS:我花了一些时间来了解您的第二种拓扑、您使用的电流源可通过比较器的输出在两个值之间切换、从而实现迟滞。 我对您如何选择电阻反馈网络的巧妙比率来通过加减第二个电流实现+10mV/+5mV 迟滞印象深刻。 我取其值、R4 和 R5 以大约 0.9:4.1 的比率对 Vcc=5V 进行分频。 因此、运算放大器的反相输入约为 0.9V、当 R2=100k 时、可通过 R2 产生 9uA 的电流。 通过 R3 =1MOhm 的电流在比较器输出为 5V 时额外增加 0.9uA、或者在比较器输出为 0V 时减去 4.1uA。这会通过 R1=10k 产生 10uA 或 5uA、进而在 R1 上生成 10mV 或 5mV 的电压、并添加到 LM35 电压。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、 Ron Michallick 、

    我把您的电路进行布局。 我现在获得并测试了 PCB。 拓扑效果很好。 谢谢。

    由于我不情愿处理低于 10 μ A 的电流、因此更改了电阻值、将流经 R1 的电流增加到原来的十分之一。

    我正在写我的理由,以便我可以稍后查看:-)

    在分压器中、我将 R5 更改为 40k、因此在 R4 = 10k 时、运算放大器输入为 0.8V Vcc (= 4V)。

    我还将 R2 更改为 11k、因此在压降为 1V 时、通过它(和通过 R1)产生的电流为 91µA

    I 降低到 R3=100K 和 R1=1K(即为十分之一)。 因此、当比较器输出(“TEMPGOOD")“)为 5V 时、  10uA  流经 R3、并添加到流经 R1 的电流中。 当比较器输出为 0V 时、 40uA 共模信号。 因此、流经 R1 的电流为 100uA 或 50uA、进而在 R1 上产生 100mV 或 50mV 的电压。 这是添加到 LM35 电压的温度偏移。  

    最后、我向 LM35_Ambient 添加了一个 1k 下拉电阻器、以确保 LM35 提供电流。

    周末愉快!
    此致、
    Daniel