Author Topic: 3rd order Sallen Key Unity Gain LPF - stability question  (Read 3860 times)

0 Members and 2 Guests are viewing this topic.

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
3rd order Sallen Key Unity Gain LPF - stability question
« on: April 24, 2020, 03:20:33 am »
I have been testing a 3rd order Sallen Key LPF on a breadboard and so far have not had problems, but I am curious about the potential for instability and oscillation.  My existing design acts as a LPF but also a low source impedance input to an ADC pin on my PIC MCU.  That is important since the maximum recommended impedance on ADC inputs on my PIC is 10k-ohm. I used the following online calculator to create the LPF design:

http://sim.okawa-denshi.jp/en/Sallenkey3Lowkeisan.htm

R1 = R2 = R3 = 330k-ohm
C1 = C2 = 1nF
C3 = 480pF

fc1 = 482.29Hz

My chosen Op-Amp is a Microchip MCP601:
https://www.mouser.jp/datasheet/2/268/21314f-29012.pdf

Here's a partial schematic:

976358-0

The input comes from a car at R1 & R4.  Specifically, there's an audio keypad on the steering wheel of many Toyota cars that let's you adjust Volume and Seek.  When those buttons on the steering wheel are pressed, you get the voltages shown at right in my schematic.  The voltages are fixed voltage for as long as the state shown persists, and the voltages seem to come from a resistor voltage-divided on the car side, with a maximum resistance of 3k-ohm.  I am using my PIC16F1503's ADC input to read the voltage level via my LPF so my PIC knows what button is being pressed.

As you can see in the okawa-denshi calculator above, the component values I used do not oscillate.  However, if I were to plug in different resistance values within a 5% tolerance, I sometimes get shown an oscillation frequency.  5% resistors are cheaper than 1%, which has me thinking about oscillation.

FYI, I am using large value resistors because the input impedance of the OP AMP is very high and can easily accommodate that.  Also, using larger resistances allows me to use smaller capacitors, which is highly desirable for a shorter capacitor discharge time, which allows for a shorter ADC acquisition time.

All said, I am curious to hear thoughts about the stability of my design over the tolerance range of the parts chosen on my schematic and whether it would be safe to use 5% tolerance resistors.

Thank you.
 

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #1 on: April 24, 2020, 06:01:52 pm »
Did you adhere the instructions on proximity of bypass capacitor?  Also, did you include an additional 1uF within 100mm?

Can you show us your board or circuit hookup?
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #2 on: April 24, 2020, 11:36:43 pm »
Did you adhere the instructions on proximity of bypass capacitor?  Also, did you include an additional 1uF within 100mm?

Can you show us your board or circuit hookup?

I certainly appreciate your reply, but I'm a little confused by what you wrote.  As I said, I have found NOTHING WRONG in my BREADBOARD testing of the circuit shown in my schematic.  And as you can see in my schematic, I have a 0.1uF bypass capacitor (C4) on Vdd.  And of course it is in close proximity to the Vdd pin.  There is no instability at all IN MY TESTING.  But I don't know if such will be the case as temperature changes have an impact on resistance values (within their tolerance, of course).

The reason I posted is because I don't have extensive experience in FILTER DESIGN, and certainly not a 3rd order Low Pass using an op amp.  I generated the design with that Japanese web page generator.  The design seems to work fine in my testing on a breadboard, but my main concern is to ensure my current design will not oscillate as component values change within their tolerance range.  My schematic currently shows 1% tolerance resistors, but I am inclined to use 5% tolerance resistors for reasons of cost.  (Yes, even pennies matter.)  But when I plug in different resistance values, all within a 5% tolerance, into that Japanese LPF calculator, there are some instances where the calculator shows an oscillation frequency.  I take that to mean there would be some instability if resistance values were not exactly what my schematic shows.  Maybe I am wrong in assuming that, I don't know.  Again, that is why I posted here to find out.

All said, I would appreciate hearing from someone experienced in LPF design, especially someone who understands the intricacies of a 3rd order LP Sallen Key filter such as the one presented in my schematic.

Thank you!
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #3 on: April 25, 2020, 12:17:03 am »
I'd use a 2 pole Sallen-Key filter and put an RC filter on the side of the ADC. This will shield the opamp from the ADC's capacitive sampling. Whether or not a Sallen-Key filter is prone to oscillation (peaking) depends on the steepness of the filter or better put: the phase margin. There might be better calculators out there which also let you specifiy the phase margin.

Why is D1 there? If it is for over voltage protection then leave it out. First of all: never dump overvoltage into the supply rail. Secondly the input protection ESD diodes should be able to deal with any overvoltage situation since there is a 660k Ohm resistor in series (and the capacitor helps to get rid of spikes).
« Last Edit: April 25, 2020, 12:20:51 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: Someone

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #4 on: April 25, 2020, 12:31:04 am »
Did you adhere the instructions on proximity of bypass capacitor?  Also, did you include an additional 1uF within 100mm?

Can you show us your board or circuit hookup?

I certainly appreciate your reply, but I'm a little confused by what you wrote.  As I said, I have found NOTHING WRONG in my BREADBOARD testing of the circuit shown in my schematic.  And as you can see in my schematic, I have a 0.1uF bypass capacitor (C4) on Vdd.  And of course it is in close proximity to the Vdd pin.  There is no instability at all IN MY TESTING.  But I don't know if such will be the case as temperature changes have an impact on resistance values (within their tolerance, of course).

The reason I posted is because I don't have extensive experience in FILTER DESIGN, and certainly not a 3rd order Low Pass using an op amp.  I generated the design with that Japanese web page generator.  The design seems to work fine in my testing on a breadboard, but my main concern is to ensure my current design will not oscillate as component values change within their tolerance range.  My schematic currently shows 1% tolerance resistors, but I am inclined to use 5% tolerance resistors for reasons of cost.  (Yes, even pennies matter.)  But when I plug in different resistance values, all within a 5% tolerance, into that Japanese LPF calculator, there are some instances where the calculator shows an oscillation frequency.  I take that to mean there would be some instability if resistance values were not exactly what my schematic shows.  Maybe I am wrong in assuming that, I don't know.  Again, that is why I posted here to find out.

All said, I would appreciate hearing from someone experienced in LPF design, especially someone who understands the intricacies of a 3rd order LP Sallen Key filter such as the one presented in my schematic.

Thank you!

First, did you read the excerpt from the datasheet that I posted?

I am pretty sure that your filter is not oscillating due to 5% variance in resistors.  But, lets just say that I wrong. 
What is the frequency of oscillation?  Can you show us an oscilloscope trace? 
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #5 on: April 25, 2020, 12:31:20 am »
@nctnico
I certainly appreciate your reply; but again, I am not an expert in filter design, and since you did not mention specifics in your recommendation, I don't clearly see how my circuit will really benefit from the RC addition you propose.  I must repeat what I said in my opening post about the reason I used large resistors and small capacitors in combination with an op-amp, as opposed to just using a cheap R-C LPF instead of an op-amp -- "capacitor discharge time" affects my ADC acquisition time.  As you can see from my schematic, my existing design uses small 1nF capacitors in the input side of the op-amp.  Discharge time is short, which is what I want.  Using an op-amp circuit and then adding and RC filter on the ADC side would, at least in my mind, defeat the purpose of my having used the op-amp filter in the first place. 

Again, I've tested the circuit on a breadboard, and I am not see any ill effects of "capacitive sampling" from the ADC to the output of the op-amp.  Indeed, I've not read anyone online about the negatives of using an op amp on an ADC input.  If anything, most forums (including the Microchip forum) are filled with talk recommending an op-amp to protect ADC inputs.

My circuit is working on a breadboard, but I've not mass produced a PCB yet, hence my opening post.  I am just curious if my resistor and capacitor values chosen are reasonable, and hearing specifics from someone with extensive experience in op-amp LPF design is desired.  Also, I am wanting to know if I can reasonably get away with using 5% tolerance resistors (again, see my opening post for the schematic) rather than more expensive 1% resistors.  I'm unsure if I even need more expensive C0G capacitors, or if X7R will suffice.  And lastly, within the tolerance range of the components chosen, I am wanting to know if there is worry of oscillation or similar such instability.  Thanks.
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #6 on: April 25, 2020, 12:42:54 am »
First, did you read the excerpt from the datasheet that I posted?

I am pretty sure that your filter is not oscillating due to 5% variance in resistors.  But, lets just say that I wrong. 
What is the frequency of oscillation?  Can you show us an oscilloscope trace?

Yes, of course I read what you attached.  I failed to mention the 1uF~10uF cap only because I already have a 33uF cap on the board.  Indeed, the entire PCB is no where near 100mm in size, so the distance to my 33uF bulk cap is a non-issue.

There is no oscillation now.  As I said in my previous reply to you, the oscillation is ONLY what that Japanese web site calculator is telling me when I plug in different resistor values that are within a 5% tolerance, plus and minus, of the nominal 330k-ohm I have specified. 

Please open that calculator right now and plug in the resistance and capacitance values:

http://sim.okawa-denshi.jp/en/Sallenkey3Lowkeisan.htm

R1 = R2 = R3 = 330k
C1 = C2 = 1n
C3 = 480p

Scroll down and you will see it says "The system does not oscillate." 

Now change the resistance values to something within a 5% tolerance, for example:

R1 = R2 = 313.5k
R3 = 330k
C1 = C2 = 1n
C3 = 480pF

Note that it now says, "Oscillation frequency f = 111.11771320134[Hz]"
 

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #7 on: April 25, 2020, 01:03:22 am »
First, did you read the excerpt from the datasheet that I posted?

I am pretty sure that your filter is not oscillating due to 5% variance in resistors.  But, lets just say that I wrong. 
What is the frequency of oscillation?  Can you show us an oscilloscope trace?

Yes, of course I read what you attached.  I failed to mention the 1uF~10uF cap only because I already have a 33uF cap on the board.  Indeed, the entire PCB is no where near 100mm in size, so the distance to my 33uF bulk cap is a non-issue.

There is no oscillation now.  As I said in my previous reply to you, the oscillation is ONLY what that Japanese web site calculator is telling me when I plug in different resistor values that are within a 5% tolerance, plus and minus, of the nominal 330k-ohm I have specified. 

Please open that calculator right now and plug in the resistance and capacitance values:

http://sim.okawa-denshi.jp/en/Sallenkey3Lowkeisan.htm

R1 = R2 = R3 = 330k
C1 = C2 = 1n
C3 = 480p

Scroll down and you will see it says "The system does not oscillate." 

Now change the resistance values to something within a 5% tolerance, for example:

R1 = R2 = 313.5k
R3 = 330k
C1 = C2 = 1n
C3 = 480pF

Note that it now says, "Oscillation frequency f = 111.11771320134[Hz]"

I did it.  Yes it says it oscillates.  I think it is wrong.
Does your breadboard oscillate?
 
The following users thanked this post: JDW

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #8 on: April 25, 2020, 01:17:33 am »
I did it.  Yes it says it oscillates.  I think it is wrong.
Does your breadboard oscillate?

Thank you for doing that. Again, my breadboard circuit works fine in accordance with the resistors I am using right now at room temperature.  But how do I test it for the oscillation mentioned by that calc?  What pin on the chip, for example, do I probe?  I don't understand what this oscillation is or how to test for it. 

Keep in mind that typing numbers into that calc is easy.  The hard or impossible part is recreating that in real life.  I don't have the resistors to recreate those EXACT values (plugged into the calc) on my breadboard.  Hence, even if somebody could tell me, "put a scope on such-and-such a pin and then power on your board and look for such-and-such a frequency," I don't have resistors with values that perfectly match the numbers plugged into that calc.  And yet, those numbers are realistic insofar as they COULD BE values of those resistors only because those values are "within tolerance." 

Next, if one contends the calc is incorrect with regard to Oscillation, one could also contend the calc is not sufficiently accurate to reply upon for general design.

Lastly, because it is impossible for me to recreate on a breadboard every set of numbers I can plug into that LPF calc, I am hoping for an expert opinion, from someone with extensive experience in op-amp LPF design, who can tell me if my existing design is fine, and whether I can use 5% tolerance resistors, and whether I can use XR7 caps versus C0G.
 

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #9 on: April 25, 2020, 01:31:37 am »
I did it.  Yes it says it oscillates.  I think it is wrong.
Does your breadboard oscillate?

Thank you for doing that. Again, my breadboard circuit works fine in accordance with the resistors I am using right now at room temperature.  But how do I test it for the oscillation mentioned by that calc?  What pin on the chip, for example, do I probe?  I don't understand what this oscillation is or how to test for it. 

Keep in mind that typing numbers into that calc is easy.  The hard or impossible part is recreating that in real life.  I don't have the resistors to recreate those EXACT values (plugged into the calc) on my breadboard.  Hence, even if somebody could tell me, "put a scope on such-and-such a pin and then power on your board and look for such-and-such a frequency," I don't have resistors with values that perfectly match the numbers plugged into that calc.  And yet, those numbers are realistic insofar as they COULD BE values of those resistors only because those values are "within tolerance." 

Next, if one contends the calc is incorrect with regard to Oscillation, one could also contend the calc is not sufficiently accurate to reply upon for general design.

Lastly, because it is impossible for me to recreate on a breadboard every set of numbers I can plug into that LPF calc, I am hoping for an expert opinion, from someone with extensive experience in op-amp LPF design, who can tell me if my existing design is fine, and whether I can use 5% tolerance resistors, and whether I can use XR7 caps versus C0G.

Three things:
1) analyze the circuit by hand and prove to yourself that you cannot get the required phase shift to achieve oscillation.  This is some work because you will also have to take into account the phase shift associated with the opamp.
2) Simulate it.  Simulators are very helpful to run different cases to see if they oscillate.
3) Run corner case examples with your breadboard.

I am posting a simulation file for you.  It is always best to confirm performance in the large-signal domain (transient response).
 
The following users thanked this post: JDW

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #10 on: April 25, 2020, 01:43:34 am »

Next, if one contends the calc is incorrect with regard to Oscillation, one could also contend the calc is not sufficiently accurate to reply upon for general design.


It appears that the bode plot from the calc site agrees with the LTSpice simulation
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #11 on: April 25, 2020, 01:43:48 am »
Three things:
1) analyze the circuit by hand and prove to yourself that you cannot get the required phase shift to achieve oscillation.  This is some work because you will also have to take into account the phase shift associated with the opamp.
2) Simulate it.  Simulators are very helpful to run different cases to see if they oscillate.
3) Run corner case examples with your breadboard.

I am posting a simulation file for you.  It is always best to confirm performance in the large-signal domain (transient response).

Thank you for your willingness to help, but I must repeat that I have zero experience with LPF design, as evidenced by the fact I used that online calc to create my existing design in the first place.  As such, I do not know how to use your *.asc file.  I also am unclear on the part of doing manual calculations for "phase shift" on the design I have presented.  And lastly, I am not clear on your meaning of "run corner case examples."

I fully realize that folks such as myself are extremely frustrating to you gentlemen who are knowledgeable on the subject.  Some may rightfully contend that I have no business even considering use of such a filter when I know so little about the fundamentals of filter design, but the reason I posted here is for some serious hand-holding on the subject.  Just treat me as a little kid who knows next to nothing on the subject.  That will be a learning experience for me that will get me on the right track.

My humble thanks for your time and kind consideration.
 

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #12 on: April 25, 2020, 01:59:49 am »
Three things:
1) analyze the circuit by hand and prove to yourself that you cannot get the required phase shift to achieve oscillation.  This is some work because you will also have to take into account the phase shift associated with the opamp.
2) Simulate it.  Simulators are very helpful to run different cases to see if they oscillate.
3) Run corner case examples with your breadboard.

I am posting a simulation file for you.  It is always best to confirm performance in the large-signal domain (transient response).


Thank you for your willingness to help, but I must repeat that I have zero experience with LPF design, as evidenced by the fact I used that online calc to create my existing design in the first place.  As such, I do not know how to use your *.asc file.  I also am unclear on the part of doing manual calculations for "phase shift" on the design I have presented.  And lastly, I am not clear on your meaning of "run corner case examples."

I fully realize that folks such as myself are extremely frustrating to you gentlemen who are knowledgeable on the subject.  Some may rightfully contend that I have no business even considering use of such a filter when I know so little about the fundamentals of filter design, but the reason I posted here is for some serious hand-holding on the subject.  Just treat me as a little kid who knows next to nothing on the subject.  That will be a learning experience for me that will get me on the right track.

My humble thanks for your time and kind consideration.

Sure I will be patient!
The .asc file is an LTSpice file.  Most everyone that helps out on this forum is expert at using LTSpice.  It is a free tool and extremely powerful.  You should learn to use it.  Alternatively, if you have access to another circuit simulator, use it instead.

I spent 40+ years designing integrated circuits.  When we say "corner cases" what we mean is run the various extreme cases for parameter variations.  This includes temperature.  In your case, that would be playing around with 5% (or 10%) variations in component values to see how the performance varies.  Not sure what the worst case corners would be for the SK filter.  One approach is to do Monte Carlo simulations and let the simulator run a statistical analysis for you.

The SK filter is very robust...esp with opamp in unity gain.  It is not going to oscillate unless you have a problem with the opamp itself. 
 
The following users thanked this post: JDW

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #13 on: April 25, 2020, 12:48:54 pm »
For a circuit to oscillate, it must feed back a signal to the input in phase with the signal that generated it.  Kind of a clunky way to say it...a better way is the Barkhausen criterion:  The magnitude of the gain in the loop is 1 and the phase shift is 0°.  So, how do test this SK configuration.  Knowing where to break the loop for this analysis can be tricky, but for the SK it is easy...break the loop at the output of the opamp.  Then input a signal at the dangling end of C1 and analyze/calculate the transfer function to the now open output of the opamp.  If you can get a gain of 1 at  0° then you have an oscillator.  If you get a gain more than 1, generally you will still have an oscillator as the amplitude increases, nonlinearities will bring the gain down to one at some point.

You can do this analysis in LTSpice and save yourself some algebra!  But at some time in your life, you need to plow through this just once.
 
The following users thanked this post: Someone, JDW

Online Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2766
  • Country: ca
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #14 on: April 25, 2020, 02:27:11 pm »
Hi,

(Wimberleytech - congratulations on reaching 1000 posts !!!)

I will give you the answers without too much of an explanation:




Frequency Domain result




Time domain - step input



This modelling shows a well behaved 3 pole low pass filter.

Stability Analysis




Stability Model Results




The stability model results shows that there is 6dB of gain margin. This means that gain of the amplifier has to change from unity to x2 for oscillation.

Gain Stepping


The opamp has been replaced with an amplifier so that I show the effect of increasing the gain:



Gain step results




This model shows that the gain has to be increased to 2, a 6dB increase for oscillation.

Regards,
Jay_Diddy_B






 
The following users thanked this post: JDW

Offline Wimberleytech

  • Super Contributor
  • ***
  • Posts: 1134
  • Country: us
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #15 on: April 25, 2020, 02:38:27 pm »
Hi,

(Wimberleytech - congratulations on reaching 1000 posts !!!)

I will give you the answers without too much of an explanation:



Nice work, and thanks.

Here is a spice file reflecting with Jay showed us.
« Last Edit: April 25, 2020, 02:58:00 pm by Wimberleytech »
 
The following users thanked this post: JDW

Online Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2766
  • Country: ca
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #16 on: April 25, 2020, 02:54:03 pm »
Hi,
Further to my last post.

Component Variation - Tolerance


Monte Carlo Analysis can be used to simulate random component variation.

In LTspice the syntax is

{mc(nominal value, tolerance)}

{mc(10K,0.05)} - this is a 10k \$\Omega\$ 5% resistor

A dummy parameter is used to run the simulation a number of times.

Each time the model runs it uses a different set of parts. It is like building the circuit many times and comparing the results.

Monte Carlo analysis



Frequency Domain



Time Domain



I don't see any hint of instability from 5% components.

Regards,
Jay_Diddy_B
 
The following users thanked this post: Wimberleytech, JDW

Online Someone

  • Super Contributor
  • ***
  • Posts: 5156
  • Country: au
    • send complaints here
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #17 on: April 25, 2020, 11:37:10 pm »
My schematic currently shows 1% tolerance resistors, but I am inclined to use 5% tolerance resistors for reasons of cost.  (Yes, even pennies matter.)  But when I plug in different resistance values, all within a 5% tolerance, into that Japanese LPF calculator, there are some instances where the calculator shows an oscillation frequency.
a) what tolerance do you expect on your capacitors? how does that relate to the variation/tolerance of the other components?
b) the online "calculator" is probably incorrect

I must repeat what I said in my opening post about the reason I used large resistors and small capacitors in combination with an op-amp, as opposed to just using a cheap R-C LPF instead of an op-amp -- "capacitor discharge time" affects my ADC acquisition time.
I'm not sure what you mean by "capacitor discharge time", as an idealised linear system the input from the sensor to the ADC can be completely described by a frequency response. Notably, most ADCs are improved by adding more capacitance on their input pin (reducing the impedance driving the input).
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #18 on: April 26, 2020, 01:20:56 am »
a) what tolerance do you expect on your capacitors? how does that...

Although I appreciate your comment, it's clear you didn't read previous comments.  I went into detail about tolerance.  So for yourself and all others who later find this thread, please read through all previous comments.  A lot of your questions are probably already answered there.

I don't see any hint of instability from 5% components.

Jay, I am humbled and eternally grateful for the time you so kindly spent on those simulations.  That is the kind of hand-holding my feeble brain really needed.  Thank you very much.

It also seems clear that the calculator either was incorrect when it cited an Oscillation frequency as I varied the 330k resistors (within a 5% tolerance) OR their "Oscillation" means something other than what I am thinking.  But thank you, Jay, for running the 5% resistor tolerance simulations to show the filter is indeed perfectly stable.  Thank you also for showing that so long as I use 5% tolerance capacitors (e.g., C0G) all will be well.  BRAVO!
 

Online Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2766
  • Country: ca
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #19 on: April 26, 2020, 01:42:45 am »
JDW,

The simulation is showing the filter is stable with an op-amp that is working correctly.

The LTspice simulation do not include the MCP601.

If the real circuit doesn't work like the model, try a different op-amp.

Regards,
Jay_Diddy_B
 
The following users thanked this post: JDW

Online Someone

  • Super Contributor
  • ***
  • Posts: 5156
  • Country: au
    • send complaints here
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #20 on: April 26, 2020, 02:55:01 am »
Thank you also for showing that so long as I use 5% tolerance capacitors (e.g., C0G) all will be well.
C0G is only the temperature stability/coefficient tolerance, it is a separate rating to the capacitor tolerance, and capacitor tolerance is usually specified in an extremely specific measurement with regard to excitation signal, frequency, DC bias. The tolerance of a capacitor in circuit is the multiplicative result of all its variances. EIA Class I ceramic capacitors are the exception to the rule with their very low sensitivities, almost every other capacitor type varies outside its nominal "tolerance" in real use.
 

Offline JDWTopic starter

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: jp
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #21 on: April 26, 2020, 03:03:03 am »
Thank you also for showing that so long as I use 5% tolerance capacitors (e.g., C0G) all will be well.
C0G is only the temperature stability/coefficient tolerance, it is a separate rating to the capacitor tolerance, and capacitor tolerance is usually specified in an extremely specific measurement with regard to excitation signal, frequency, DC bias. The tolerance of a capacitor in circuit is the multiplicative result of all its variances. EIA Class I ceramic capacitors are the exception to the rule with their very low sensitivities, almost every other capacitor type varies outside its nominal "tolerance" in real use.
I appreciate the explanation, but if you could extend that explanation to Jay's LTSpice simulation, where he used 5% tolerance capacitors, that would be even more specific and helpful.  But from what I can see in my breadboard test and in Jay's very kind simulation, the schematic put forth in my opening post seems to be a solid design, despite the fact it's not possible to simulate the Microchip Op-Amp in LTSpice.
 

Online Jay_Diddy_B

  • Super Contributor
  • ***
  • Posts: 2766
  • Country: ca
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #22 on: April 26, 2020, 03:49:24 am »
Hi,

You can work out what all the effects like temperature, tolerance, dc bias add up to and run the simulation with the tolerance set to accommodate all of the parameters.

If I run the Monte Carlo analysis again with

10% resistors

25% capacitors, 5% for initial accuracy and 20% for other effects

I get:




and



No hint of any instability

Regards,
Jay_Diddy_B
 
The following users thanked this post: JDW

Online Someone

  • Super Contributor
  • ***
  • Posts: 5156
  • Country: au
    • send complaints here
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #23 on: April 26, 2020, 06:40:28 am »
despite the fact it's not possible to simulate the Microchip Op-Amp in LTSpice.
The MCP601 can be simulated in LTspice, but that requires a person with the motivation to do your work for you.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 9336
  • Country: fi
Re: 3rd order Sallen Key Unity Gain LPF - stability question
« Reply #24 on: April 26, 2020, 09:51:11 am »
Note the extra RC filter referred to by nctnico is required due to special input characteristics of SAR ADCs. If you don't like the idea, you can think about it being a part of the ADC, not part of your filter. Though, this extra RC filter can participate in your filter response, as well. See ADC datasheets and appnotes for more information. Typically, R is small like 10-50 ohms, and C is small as well, some hundreds of pF.

Often, with the suggested values (by the ADC manufacturer), the corner frequency of the RC is far above of the required Nyquist frequency, so it does not work for anti-aliasing. It's to filter large current spikes only.
 
The following users thanked this post: JDW


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf