Connect MPX10DP and LM358 module

Hi. I need help. I have the Freescale MPX10DP pressure sensor (http://www.freescale.com/files/sensors/doc/data_sheet/MPX10.pdf) and a LM358 module like this http://www.wayengineer.com/index.php?main_page=product_info&products_id=2981.

I have read posts about OpAmps and MPX's for some hours now, but as I am a mechanical engineer I give up. :~

The MPX10DP has these connections: 1 GND, 2 +Vout, 3 +Vs and 4 -Vout.
The LM358 module has these connections: VCC, IN, OUT and GND.

When I measure voltage (connect mpx 1 to Arduino ground and mpx 3 to Arduino 5V) 1-2 and 1-4 give approximate 2,55 V. Between 2-4 give 0,029V. Change when pressure is added.

This post is quite close to my setup: Differential Pressure Sensor and Op Amp - Sensors - Arduino Forum.
But I don't understand this (post reply #7):

  • connection of pin 1 and 3 of the mpx, shouldn't it be swapped?
  • the LM358 schematics has separate inputs, my module have only one input.

(My plan was to measure level in a hot water tank in my homebrew equipment, and control valve for filling and only apply heating power when level is above the element.)

In what way should I connect mpx output (pin 2 and/or 4) to the LM358 module?

The LM358 is a poor choice of amplifier for that sensor. You should use an instrumentation amplifier such as INA122 instead. Even better, use a combined instrumentation amplifier and 24-bit ADC such as the ADS1231.

Whether you need to swap pins 1 and 3 in the circuit you referred to depends on whether you want an increasing or decreasing output voltage when the pressure increases.

You have an differential output from the pressure sensor and your amplifier must also have an differential input.
Exactly whats written in #7.
LM 358 or an instrumental OP and how many bits in the ADC depends on what precision you want. Only on and off?

Pelle

Thank you for answer and guidance!

I will check the INA122 or similar instrumentation amplifier.

The water tank capacity is 25 liter. A resolution of 0,5 or 0,2 liter will be sufficient for my setup.

How high is the tank, and how hot does the water get? I ask because e-Tape might be a simpler solution. See Liquid Level Sensor - 8" - SEN-10221 - SparkFun Electronics. Another solution is capacitive sensing.

Thank you for the tip about e-Tape. :slight_smile: I am planning to use two level indicators and I think this solution will be a little to expensive. Besides the functional water level device, I also like a challenge. So I continue with the MPX10DP for now!

I have ordered some INA122's. Waiting for the postman, I have done some preparations but need some verification :):

  • Max pressure of sensor is 10kPa with an output of 35mV, roughly 1 meter of water. My tank is no more than 30cm high, so the sensor output will be 10-11mV. To get this up to 5V of the Arduino analog input I need a gain of 450-500. Correct?
  • By coincident this is quite close to the calculated resistance Rg=450ohm. From TI INA122 datasheet: G = 5 + (200000/Rg). Correct?

But for the wiring I am a little uncertain. Can it really be straight forward?

  • Arduino 5V power and ground to sensor and amp.
  • From sensor two Vout's to the two Vin's of the amp.
  • Resistance 450ohm on amp Rg.
  • And amp's Vo to analog pin on the Arduino.

HansF:
But for the wiring I am a little uncertain. Can it really be straight forward?

  • Arduino 5V power and ground to sensor and amp.
  • From sensor two Vout's to the two Vin's of the amp.
  • Resistance 450ohm on amp Rg.
  • And amp's Vo to analog pin on the Arduino.

You may also need a decoupling capacitor connected between Vcc and Gnd of the instrumentation amplifier - consult the datasheet for recommendations.

You will need to connect the Ref pin of the op amp either to ground, or to a small positive voltage, depending on the sign of the zero-pressure voltage provided by the sensor. Try connecting it to ground to start with. If the output voltage is zero and remains zero when the pressure is increased, or it is nonzero and decreases when the pressure is increased, try swapping the + and - amplifier inputs.

I have also the MPX10DP but I can't find the right code, can anybody help me Out ?

Something like a HX711 shield would be a good solution. My only worry is that the sensor's initial offset is about half of fullscale, so some form of offset adjustmant may be necessary.

Allan

The MPX10DP could be powered from the E+ and E- pins of the HX711 board (4.3volt regulated).
Then the output of the sensor will be in range of the HX711's inputs.

Maybe easier to use an MPX sensor with buildin instrumentation amp and temp compensation.
Most of them do.
Leo..