0
\$\begingroup\$

I am new to this matter and would like to learn how could I determine the right filters to use for my circuit. I have read some tutorials about active and passive filters but can't get the right values for it. I have also read about the formula of getting the values but dont know how to determine the corner frequency of my circuit.

I am currently making a basic circuit for a weighing scale and I want to know what type of noise affects my load cell output as well as my op-amps. I use AD620 as my in-amp. http://users.ece.utexas.edu/~valvano/Datasheets/AD620.pdf

and AD822 as a difference amp and a non-inverting amp since it is dual. http://www.analog.com/static/imported-files/data_sheets/AD822.pdf

Based on the datasheets, I can't determine what part of the characteristics would be a help to know what filter and values are needed. I think I need filters between my load cell and in-amp, and also for the non-inverting and difference amp.

Sorry for the noob question but any help would be appreciated and I am willing to learn. FYI, I use a full-bridge load cell for my pressure sensor.

Here is my circuit:

enter image description here

\$\endgroup\$
  • \$\begingroup\$ Why not show a circuit? What is your sampling rate btw? \$\endgroup\$ – Andy aka Jan 7 '15 at 8:40
  • \$\begingroup\$ i have updated my post with my circuit. how would I know my sampling rate? sorry i can't answer your simple question but i am willing to learn what you are saying \$\endgroup\$ – Rhonald Rei Pahayac Jan 7 '15 at 8:45
  • \$\begingroup\$ You have an arduino and it has an ADC - how many times per second do you sample your signal? This is crucial to work how how to design an appropriate filter. Taking just one reading now and then is going to be fraught with problems. The biggest noise problem will likely have the biggest impact where the signal is smallest and that is at the input to the IA. Why not feed your ADC with the output from the AD620 directly? \$\endgroup\$ – Andy aka Jan 7 '15 at 8:51
  • \$\begingroup\$ ok right now I sample 4 times per second and I repeat it for about 20 cycles for smoothing of values using moving average. I'm currently experimenting on what is the right amount of samples per second to have a smooth reading on my ADC \$\endgroup\$ – Rhonald Rei Pahayac Jan 7 '15 at 8:58
  • \$\begingroup\$ I don't feed my AD620 output directly to the ADC because I want to have an output swing of about 0 - 5V and since its not a rail-to-rail op amp according to the datasheet, I perform some level shifting so I have an output of 2.5V to 3.45V from my AD620. I chose that range of output because according to the datasheet, the safe range is within -Vs + 1.9V to +Vs - 1.2V. And then from there I subtract a voltage a little less than 2.5V to have an output of 30mV to 100mV and then I amplify it by 4.9 times using a non-inverting to have an output swing of 150mV to 4.8V to feed on the ADC \$\endgroup\$ – Rhonald Rei Pahayac Jan 7 '15 at 9:03
0
\$\begingroup\$

I sample 4 times per second and I repeat it for about 20 cycles for smoothing of values using moving average.

OK this is the basic information needed. To prevent the effects of noise causing aliasing you need to filter the signal before it enters the ADC at below 2 Hz. This might be best done on the final op-amp (gain stage) by using a sallen key filter: -

enter image description here

This is a typical circuit although the values will be different for your application. Here's the link for the circuit above - it may be useful for you. Here is a very useful link - it's a calculator and this is what the calculator looks like when you scroll down the link to the relevant part: -

enter image description here

You might also consider putting a capacitor across the lower of the two 10k resistors that feed the 1st AD822 - a value of 33uF creates another 1Hz low pass filter that, along with the sallen key filter gives you a third order filter. Even so, depending on the noise this may not be good enough and a final rC filter on the output of the op-amp stage converted to a sallen key filter may be needed. 10kohms and 10uF would be about right.

And, if all this seems a little over-the-top, consider sampling at a much higher rate (maybe 100 times per second) because the filters require smaller capacitors and you can average more in your MCU.

One final thought - the IA may be subject to EM Interference and this may require 1k ohms in each input leg with a 100nF across the two input pins.

\$\endgroup\$
  • \$\begingroup\$ ok thanks i have read about this aliasing problem and the way to solve this is the part you have suggested which is the anti-aliasing filter. I have read that the frequency would be fs or my sampling rate over 2, so that is equal to 2Hz. Is that the value that I will enter on the fc field of the sallen key calculator? So much thanks for this! will definitely try this on my circuit. \$\endgroup\$ – Rhonald Rei Pahayac Jan 7 '15 at 10:47

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.