Go Down

Topic: Amplifying a 100 mv signal from a pressure transducer to 0-5V or 0-10V (Read 6032 times) previous topic - next topic

Wawa

It is no problem to interface the output of an INA125 with Arduino's A/D.
A 2-resistor voltage divider is all you need.

Bad idea though to divide to the unstable default Aref.
Better to divide to ~1volt, and use 1.1volt Aref.

Still the problem of a 10-bit A/D, but the sensor might not be much better than that.

I think the HX711 board (Sparkfun) is the best, cheapest, and easiest solution here.
Leo..

alitarraf

Thanks for all the input guys.

Getting better resolution, and programmable gain is great. I actually found also a step by step tutorial on Adafruit on how to wire the ADS1115. This would work great as a start.

The only limitation is that the maximum data sampling rate is 860 samples/s.
What are my alternatives if I want to have a high speed data rate (lets say 50Khz) ?

My pressure sensor natural frequency is 700Khz, if I understand correctly this means that I can sample data (and still be safe) at about 20%, or 140 Khz.
I am not sure how complicated this would get, but would like to hear your thoughts about it.

Thanks
Ali t.

raschemmel

That can't be right. To say that you need to sample your pressure sensor at it's natural frequency doesn't make sense. It should not make any difference how often you sample it. If it is a pressure sensor , it outputs the pressure, period. Suggesting you need to sample it at 140khz sounds absurd. I didn't see anything on the datasheet that supports your suggestion. I would call the company and ask to speak to an Applications Engineer and ask him what sample frequency he recommends.

Let's keep in mind you said this:
Quote
I am a beginner in arduino, and electronics in general.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

Wawa

What are you measuring.
Gas, liquid.
That might be your limiting factor.
Leo..

TomGeorge

Hi,
Are you going still use the kulite pressure sensor?

Are you aware that it is just a pressure load cell, you need exictation voltage in E+ and E- and you read a differential output from S+ and S-.
So you will need a differential AtoD to read it.

To get 100mV you are going to need 10V excitation.

There are AtoD that are designed for load cells applications HX711.

What is the application that requires such high sample rates?

Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

raschemmel

The ADS1115 has differential mode.

Quote
FOUR SINGLE-ENDED OR TWO DIFFERENTIAL INPUTS   
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

alitarraf

There are two phases for this project: 1) I want just to make it work and measure pressure at low sampling rates ~0.5-1Khz. 2) Try to measure high sampling rates ~50Khz.

Ultimately I am trying to measure fast gas pressure fluctuations on the order of 0.1 milliseconds, meaning I need to detect the voltage changes due to pressure under 0.1ms or capture 10,000 samples per seconds.

The natural frequency of my 35 bar pressure transducer is 700 Khz as indicated in the datasheet. The fastest rise time response expected is between 1/7 to 1/5 of the natural frequency (check link of book below, last three lines of last paragraph of page 120).  I also attached a picture of second order response system amplitude vs frequency.
Taking 1/5 or 20% gives me a max of 140Khz operation for my measurement system (pressure fluctuation and others).

So going back to my targeted measurement frequency of 10Khz, I need to sample at least 20Khz to avoid aliasing effects.
So how can I sample faster?

Please correct me if my reasoning is wrong.

Thanks!
Ali T.


https://books.google.com/books?id=6wg5oXzks9UC&lpg=PA120&ots=Jmfp3wghpM&dq=natural%20frequency%20of%20pressure%20transducer%20and%20frequency%20response&pg=PA120#v=onepage&q&f=false

raschemmel

Is 40 kHz fast enough ?

You need an SD CARD shield. I tried this program and it works. You can see my plots on that link.
Read the README file. You CANNOT see the sampled data in realtime ! It is sampled and stored as binary and when you press any key to stop the sampling you are prompted if you want to convert it to CSV file then or later. If you choose later, you will have to enter command line DOS commands .

Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

TomGeorge

Hi,
You need to look at response time of your sensor for a start, not natural frequency.
Consult the supplier or manufacturer about your project to get information on if it is possible for the sensor to react that fast.
I do, that's what they are there for and that's what you are paying for when you buy the product.

I would say you are going to have to got to an industrial/laboratory type data logger for your job.

Quote
I am using other dynamic pressure sensors with Labview and specialized DAQ that can go up to 500Khz.
Another one of those would do the trick, check supplier and see if they have a lower spec model to suit your application.

Tom.... :)

Everything runs on smoke, let the smoke out, it stops running....

alitarraf

Raschemmel 40 Khz is good enough for me! The software seems promising, I will look at it tomorrow, and probably ask you some questions.

Tom, you are right I should check the response time from Kulite.

Thanks for the advice!

Ali T.

alitarraf


Looking at the SdFat read me files suggested by Raschemmel, and assuming I can make the data logging  at 40 Khz work using my arduino and an Adafruit datalogger shield:

1) I still have to amplify the 100mv max signal from the transducer, and if I want to use the SdFat code which is an ANALOGbin logger, this means I cant use the ADS 1115, right?

2) So do I have to do my own non inverting amplifier circuit using the TL 072 or TL082? Then log the amplified analog data using SdFat code?

3) I came accross this instructable where a 40Khz audio signal of 200mv was amplified using TL082, and then read by the arduino through bypassing analogread() and writing a special code. Your thoughts on that approach is appreciated.
http://www.instructables.com/id/Arduino-Audio-Input/

4) Tom, I checked with Kulite and it turned out that the max frequency response is 20Khz, thanks for bringing that out. And yes, as you mentioned, buying a strain gauge daq from NI at ~3,000$ would be the easiest way to go, but I want to try to make this a learning project into arduino and measurements, beside cant afford the NI DAQ!There should be an easier simpler way without the fancy software of doing fast rate measurement!

Thanks for your help!
Ali T.

raschemmel

Quote
still have to amplify the 100mv max signal from the transducer, and if I want to use the SdFat code which is an ANALOGbin logger, this means I cant use the ADS 1115, right?  
The ADS1115 is too slow. (because of the higher resolution)

Quote
2) So do I have to do my own non inverting amplifier circuit using the TL 072 or TL082? Then log the amplified analog data using SdFat code?
I wouldn't recommend using a TL082 or any TLXXX series op amp. They were not designed for single supply operation. I recommend the LT1215 . It is designed specifically for 5V circuits.

Quote
I came accross this instructable where a 40Khz audio signal of 200mv was amplified using TL082, and then read by the arduino through bypassing analogread() and writing a special code. Your thoughts on that approach is appreciated.
http://www.instructables.com/id/Arduino-Audio-Input/
It looks valid. I would use an LT1215 but the author seems to have done ok with the TL082.

Although that Instructable is probably everything it claims to be, I know from past experience that once I realized that all I had to do was actually read the instructions for the Analogbinlogger and it would work fine every time (just not in realtime), I would save myself the time and use that.

This is the Analogbinlogger sketch I used to collect the data plotted and posted on the SDFat post.
This is configured for a 1 Mhz ADC clock, and 40 kHz sample rate
SEE ATTACHED

As I said. READ the README file. (If you actually read the SDFat post I mentioned that you can't put the bin2csv converter program in the same folder as the analogbinlogger library or it won't work.
You have to put the converter somewhere completely different.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

alitarraf

I will try the ADS 1115 for my low freq measurements, and the LT1215, and post my questions/results.

Thank you for all the help!
Ali T.

alitarraf

Question regarding the LT 1125 op amp circuit:
Following the datasheet examples, and running their simulation file (LTspice), there is something that I dont understand,

Why the frequency of the signal changed?

Attached pictures.

Ali T.

raschemmel

Some instrumentation amps have three op amps but the two input amps are just voltage follower buffers:

op amp differential amplifier
The Instrumentation Amp on page-1 of the LT1215 datasheet uses only two op amps:

see page 1 of LT1215 datasheet

Note: There is only ONE input voltage
Your sim shows two input voltages.
Your simulation in Reply#28 shows two input  voltages applied from IN- to GND.
That's not how a differntial amp works. The single input is applied from IN- to IN+
(sensor + wire to IN+, sensor - wire to IN-)
The input is not connected to GND at all.
Your sim is wrong.  Your Vin- and VIN+ inputs are wrong because they appied with respect to ground,
which is not done with a differential amp.

How many wires does your sensor need for the output ? (2 right)
One of them is the sensor V+ wire
the other is the V- wire
The instrumentation amp has two inputs , V- and V+
That is where your sensor connects.
Your V2 in your "simulaton" has it's V- connected to V3 +.
Why do you have multiple voltages ?


You only have ONE SENSOR and it only has two wires. Where are you getting all these other voltages from (V1,V2,V3 ?)

I have no idea what your doing. I have plenty of LT1215s and if I was going to use one for that instrumentation amp I would wire it just like the schematic on page 1. I have no idea why your schematic is wired the way it is.

Have you tried running the simulation with only one voltage between VIN - and VIN + ?

Moreover, the GPB of the LT1215 is 23 Mhz
Max input frequency is 23 Mhz/50 =460 kHz for Gain = 50 (Vin= 100 mV, Vout = 5V p-p)
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

Go Up