I have the Schmitt trigger op amp on the below diagram. (channel A & B refers the oscilloscope probes on the following figures).

enter image description here

The resistor values are selected to set the trigger threshold as ~9.5 V and ~5.1 V and I use this page to verify the threshold values.

enter image description here

However, the oscilloscope output below shows that the comparator handles the signal on the left side(High=10.71 V; Low=-106.8 mV) correctly, but it fails for the signal on the right side (High=10.36 V; Low=2.85V).

enter image description here

Here there is the zoomed signal: enter image description here

The signal is not only handled wrong, it is also extended 377 usec on the time domain. However, there is no time extension on the signal on the left side of the first oscilloscope figure.

Could anyone tell me why the comparator does not handle the second signal and how it can be solved?

Thank you in advance..

Datasheet of the comparator.

  • \$\begingroup\$ Sven, this is the third(?) question relating to this design and I'm wondering if anything has been solved along the way or if anything has progressed. To me, it seems a lot of hard work keeping up with what should be a really simple design. Maybe it's time to consider giving folk a bigger picture of what is happening AND just as important what the bigger picture is around the design i.e. what the real inputs are and what the outputs feed. I'm not being nosey, I'm trying to help dude. \$\endgroup\$
    – Andy aka
    Commented May 11, 2013 at 20:26
  • \$\begingroup\$ @Andy aka: You have a good memory:) I am almost done with the implementation, hopefully it is the last question about that circuit after this problem is solved. As the oscilloscope output shows I can not get the signal on the right side on the comparator's output. The first figure above is the complete receiver part. I use the circuit exactly how it seems on the diagram above. \$\endgroup\$
    – sven
    Commented May 11, 2013 at 20:45
  • \$\begingroup\$ Hey sven glad to hear it but the answers are going over the same ground in a lot of ways!!! \$\endgroup\$
    – Andy aka
    Commented May 11, 2013 at 21:56
  • \$\begingroup\$ @sven: Did you not understand my answer to electronics.stackexchange.com/questions/68183/… about how this is an open-drain device? \$\endgroup\$
    – Kaz
    Commented May 12, 2013 at 3:15

2 Answers 2


Note that the LMC6772 chip you are using is not an opamp; it's a comparator that has an open-drain output. Since it can't actively drive its output high, the Schmitt trigger circuit won't work as designed.

The datasheet says, "Refer to the LMC6762 datasheet for a push-pull output stage version of this device."

However, look at how you have the optocoupler wired up: the anode of the LED goes to the output of the comparator, and the cathode goes to ground. This means that when the comparator output is "high", the LED is driven by the current coming through your resistor network, and when it is "low", the diode is shorted out. This also means that the "high" voltage at the output of the comparator is the forward voltage of the LED. (According to the datasheet, this is at most 1.8V)

Do NOT switch to the push-pull version of the chip unless you also add a current-limiting resistor in series with the LED.

Note also that the website you used to calculate your resistor values is assuming that the opamp in question has bipolar supplies, and that the output swings to -Vcc when the output is "low". Your opamp is being powered by a singled-ended supply, which makes the lower threshold 7.56V when the output is low.

So, the actual threshold voltages of your circuit are 7.92V when the output is at 1.8V and 7.56V when the output is at 0V.

The general equation for the the voltage at the junction of three resistors, each fed by a voltage source is:

$$V_{junction} = \frac{\frac{V_A}{R_A}+\frac{V_B}{R_B}+\frac{V_C}{R_C}}{\frac{1}{R_A}+\frac{1}{R_B}+\frac{1}{R_C}}$$

In your circuit, one of the three resistors is always connected to ground, so you can ignore that term in the numerator. If we plug in the voltages and resistors you used:

$$V_{junction} = \frac{\frac{12 V}{150 \Omega}+\frac{1.8 V}{470 \Omega}}{\frac{1}{150 \Omega}+\frac{1}{470 \Omega}+\frac{1}{560 \Omega}} = 7.92339 V$$

$$V_{junction} = \frac{\frac{12 V}{150 \Omega}+\frac{0 V}{470 \Omega}}{\frac{1}{150 \Omega}+\frac{1}{470 \Omega}+\frac{1}{560 \Omega}} = 7.56141 V$$

But you're right, these thresholds should work fine in your application, and they don't explain the problems you're seeing. I can only surmise that you're seeing some secondary effects arising from the fact that you're trying to operate a "micropower" comparator at some fairly high voltage and current levels.

  • \$\begingroup\$ I amended the diagram according to jippie's feedback. do you know how I can figure out what are the tresholds of the comparator or how can I set it? \$\endgroup\$
    – sven
    Commented May 11, 2013 at 21:05
  • \$\begingroup\$ thank you for the feedback. Could you tell me what formula do you use to calculate the treshold signal? If the trasholds are 7.92 V and 7.56 V, could you help me to understand why I don't see the correct output as the input signal swings between 10.36 V and 2.85V which should trigger the signals correctly, but it does not and there are glitches on the signal. \$\endgroup\$
    – sven
    Commented May 11, 2013 at 23:13
  • \$\begingroup\$ are you using the formula at the end of this pdf? \$\endgroup\$
    – sven
    Commented May 11, 2013 at 23:37

The comparator you use has open drain output. This means the output of the comparator can only be actively pulled low. The calculations you use are for a push/pull output.

A possible solution is to increase the values of your resistors by a factor 100 and add a 1k pull up from comparator output to Vcc.

  • \$\begingroup\$ I added the pull up resistor and increased the value of the other resistors here is the latest diagram but the output signal is almost not changed. \$\endgroup\$
    – sven
    Commented May 11, 2013 at 21:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.