Pressure sensor acquisition with  ADC - Page 1
Forum section: electronics / general

author: patelectro
author_rank: Newbie
timestamp: January 02, 2013, 03:24:14 pm
content: first of all, thanks for the quality videos you make david!I have a pressure transducer MPX4115AP that i want sample. It is powered with 5V but the adc i am working takes only 1.8V as input. What is the best way to lower the range and filter high frequency noise?Also, what is the output impedance to make the acquision go smoothly?What i have running now is a low-pass filter followed by an op-amp as an inverting amplifier.I need a precision of a few meters for the altitute and the vertical acceleration is about ~15Gplease help!

author: andyturk
author_rank: Frequent Contributor
timestamp: January 02, 2013, 11:29:48 pm
content: I'm no expert, but I'm using a similar sensor (MPXV6115V) in a project. My ADC has a range of 0-3.3V so the buffering situation is roughly the same. I just used a non-inverting op amp buffer followed by a simple resistor divider on the output to knock sensor values down to what the ADC can read. Your sensors output the lowest voltage in their quiescent state, so an inverting buffer (what you have already) would let you calibrate a voltage divider without driving the sensor to a known value.The 6115s measure vacuum, and produce their highest voltage in the quiescent state, so my buffers are non-inverting to make the calibration process easier. The simple voltage divider output means I'm throwing away 4% of the measurable range (sensor output never drops below 0.2V), but it's probably not worth worrying about.As far as output impedance is concerned, you'll have to base that on your ADC's requirements. It depends on the size of the ADC's internal sampling capacitor and how much time it has to settle. Faster sampling requires lower output impedance to avoid measurement errors and crosstalk between channels (if you have one ADC reading multiple sensors). I'm using 2.7K/5.1K dividers which means I can use the fastest possible sampling on my mcu.On the filtering front, I'm curious to see what others recommend. Aside from what the sensor datasheet suggests, I'm doing it all in software because I've got plenty of CPU and tweaking filter constants in C++ doesn't require a soldering iron.There's more info on my trials and tribulationshereandhere.

author: UPI
author_rank: Regular Contributor
timestamp: January 02, 2013, 11:58:33 pm
content: Quote from: patelectro on January 02, 2013, 03:24:14 pmSince the max output of your sensor is around 4.87V and you need to get this down to 1.8V or less, I would try using an LM4040 at 3V or 3.3V in series with a resistor to keep from losing any resolution like you would have with a simple divider.Here is a link to a simulation using a 3V zener instead of an LM4040. I wouldn't use a zener because they are very unstable with temperature changes. The LM4040 should be stable within about 5mv over a pretty large temperature range.http://www.falstad.com/circuit/#%24+1+5.0E-6+10.20027730826997+50+5.0+50%0AO+1104+352+1200+352+1%0Ag+1104+496+1104+528+0%0Az+1104+352+1104+240+1+0.805904783+3.0%0Ar+1104+352+1104+496+0+330.0%0AR+1104+240+1104+176+0+0+40.0+4.8+0.0+0.0+0.5%0AI am planning on doing this with TL431 adjustable precision references which are very similar to the LM4040. The tests I did showed a TL431 set to 10V to be stable within 7mv under a 1500W heat gun from about 24". Damn good if you ask me.At this point, I am just putting a .1uf cap from the ADC input to ground for filtering. I was also careful to split up AVCC and AGND from the digital side. I won't know how well my circuit works for a few weeks, but it simulates well.See what you think.Edit - never mind. I forgot that the range would be reduced to 3-4.8V. Doh!

author: nctnico
author_rank: Super Contributor
timestamp: January 02, 2013, 11:59:15 pm
content: Just use a resistive divider to scale the sensor's output to the ADC range. A capacitor across the ADC input will filter noise.