I'm implementing the circuit in the schematic on the breadboard.

  • Difference of inputs V1 and V2 is about 5mV.
  • Differential opamp has gain of 17,4
  • Inverting opamp has gain of 26

Circuit schematic

  1. First problem: I implemented the circuit without 1uF capacitor the I get these; After the differential opamp, osilloscope shows the output voltage is about -90mV (5 * 17,4 = 87). But after passing the inverting opamp the output voltage is about 1500mV which should be 90*26 = 2230mV according to my gain calculations.
  2. Second problem: Then I put 1uF capacitor between opamps, oscilloscope shows the output is about -70mV which should be close to before.

What should I do to get close to the theoretical calculation?

  • \$\begingroup\$ just curious - why dont you have the same values for differential part ( Rf=RG and R1=R2)? \$\endgroup\$
    – R.Joshi
    Jul 3, 2018 at 9:16
  • 1
    \$\begingroup\$ What frequency are you operating at? If you are operating at DC, C1 will block the output of U1A, and the output will basically reflect the offset errors of U2A. \$\endgroup\$ Jul 3, 2018 at 9:26
  • \$\begingroup\$ He removed C1... are you sure the resistor values are correct? \$\endgroup\$
    – po.pe
    Jul 3, 2018 at 9:33
  • \$\begingroup\$ Also, what is the tolerance on the resistors you are using? 1%, 5%,10%,20%? \$\endgroup\$ Jul 3, 2018 at 9:33
  • \$\begingroup\$ Actually I use NTC to get these voltages, what can I do to pass my voltage through the capacitor? 470k resistor has %10, others have %5 tolerance \$\endgroup\$
    – user70
    Jul 3, 2018 at 9:37

2 Answers 2


The LM358 has an input offset voltage error of typically 2 mV. Given that the input is only 5 mV, 2 mV represents a large error signal. On this basis alone, if I needed DC accuracy I would be choosing an op-amp with a significantly better input offset voltage.

Input offset currents are also likely to add to errors.

Adding the capacitor means that the DC gain of the 2nd stage is zero and no further amplification of offset voltages is produced. This may be the effect you are seeing. Try bypassing C1, shorting the two inputs and looking at the offset voltages on the output you get in this scenario.


You're using the wrong op amp and the wrong resistors. Otherwise, no problem.

The LM358 has significant input offset voltages and currents. The fact that you are using different resistor values for the inverting and non-inverting paths means that offset currents come into play more than they should. Worse, your carefully-calculated ratios mean nothing in the face of possible resistor variations within the tolerance values.

Running a simulation with 5 mV at V2 and 10 mV at V1 (and without a significant common-mode voltage your configuration makes no sense), and varying the resistor values over their full tolerance gives an output of -54 to -74 mV, with -63.8 mV at nominal values. Note that at nominal resistor values and zero differential voltage the "nominal" offsets built into the 358 model gave an output of 23 mV. 23 plus 64 gives your nominal 87 mV.

Oh, and I forgot, you're also using a capacitor where you shouldn't. At DC, the capacitor blocks all current flow to R9, so the input is essentially floating. This configuration is used specifically as a high-pass filter, and is intended to block any DC component of the input and is ordinarily used with audio circuits. It is entirely inappropriate for looking at temperatures.

When not using the cap, you should be getting something like the correct result from your second stage. That you have about a 50% error suggests that either R9 or R8 is entirely the wrong value. As a distant second possiblity, the op amp may be bad.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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