3
\$\begingroup\$

The circuit I am designing includes a PWM signal that goes through a voltage divider, and that signal then gets buffered to be read by an AtoD as part of a measurement circuit. It looks like this:

schematic

simulate this circuit – Schematic created using CircuitLab

The R_Probe is a varying resistance, depending on what it is measuring at the time. The PWM is driven direct from a port pin of an MSP430FR6927 microcontroller running at 3.3V. My tests have shown driving directly from the port pin will be no problem as the load isn't large. The PWM runs at approx 2kHz. The op-amp is powered directly from the 3x AAA batteries, so is around 4.3V at the time of writing this.

The resistor and capacitor on the AtoD input I have not determined the values that work best yet, but I have done it with multiple values, including just a 0ohm resistor and no capacitor.

When I put an oscilloscope probe on the non inverting input of the Op-Amp, I get a nice, clean square wave, which changes its peak voltage depending on the resistance of R_Probe.

When a measurement is taken, the output of the buffer (measured at the AtoD point) follows the input (measured at the non-inverting input) as expected. However, when NOT taking a measurement (R_Probe is open circuit), the output of the buffer has an overshoot which looks like this: enter image description here

Where the red is the input signal and blue is the AtoD signal. This only happens when R_Probe is open circuit, which doesn't make sense to me, as the output should always follow the input. Does anyone know what could be causing this? I have disconnected the probe completely to ensure it is actually open circuit, and still get the exact same waveform. I have tried changing the RC values on the output, which just changes the shape of the peak, and have even removed the capacitor and replaced R3 with a 0Ohm link resistor. I have disconnected the AtoD input also, yet the issue remains.

Is there something I am missing here, or do I perhaps have a strangely behaving op-amp?

\$\endgroup\$
2
  • \$\begingroup\$ @Justme's answer correctly identifies your problem and answers your question, but you don't need OA1 and, possibly, R3, at all, if you properly select the values of the remaining components. \$\endgroup\$
    – john
    May 22, 2021 at 16:17
  • \$\begingroup\$ @john a buffer is needed to make sure the AtoD input doesn't interfere with the result. sor something like measuring a battery level I wouldn't bother, but this needs to be much more precise \$\endgroup\$
    – MCG
    May 24, 2021 at 7:05

1 Answer 1

3
\$\begingroup\$

The MCP601 has a common-mode input voltage that goes only up to VDD-1.2V.

Therefore to properly work with 3.3V signal on input, it needs to have a supply voltage of at least 4.5V.

So your current supply voltage of 4.3V will not work properly, as it is too low.

\$\endgroup\$
4
  • \$\begingroup\$ Thank you very much for this answer! I have used this op-amp as a buffer with a 3.3V supply and a 3V input (DC) which worked fine though. I need to do a bit of Googling on this particular parameter I think as it's clearly something I am not understanding! Why would this cause the output to overshoot like that? And is it only an issue with an AC input? \$\endgroup\$
    – MCG
    May 13, 2021 at 9:18
  • \$\begingroup\$ I have replaced the batteries with 3 fresh ones to exceed a 4.5V supply, and this now seems to be working, so I will mark your answer as correct. I hope you don't mind the follow up questions? \$\endgroup\$
    – MCG
    May 13, 2021 at 9:26
  • \$\begingroup\$ The output is rail-to-rail so it can go up to supply or down to ground and works based on the input voltages. It's just that the input voltages need to be 1.2V below the supply for the op-amp being able to sense the voltages properly, and because it can't sense the voltages properly the output is indeterminate. \$\endgroup\$
    – Justme
    May 13, 2021 at 9:32
  • \$\begingroup\$ Makes sense. I'm currently reading a few application notes on common-mode inputs. It's something I haven't had an issue with before so haven't had to look into it too much. But it's nice to learn something new to look out for. Thanks again for the answer. \$\endgroup\$
    – MCG
    May 13, 2021 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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