Saturday 12 September 2015

Pressure Sensor Breakout Board - MPS20N0040D-D

I was checking the statistics of how many people read my blog and which pages are the most popular. I am always surprised and often humbled by how many people read my stuff - please keep reading and commenting and let me know if there is something specific I need to cover.  Anyway I noticed that one of my most popular posts concerned the usage of a cheap pressure sensor - the MPS20N0040D-D.  A lot of readers have commented and contacted me on getting this sensor up and running - I'm not surprised, its hard to do!

To try to make things more simple I've decided to design a small breakout board which should make things easier - If people are interested I will get a load manufactured, built and tested and that way all that's needed is to connect the breakout board up to the microcontroller or ADC of choice and get on with using the sensor.

The original pressure sensor post

So referencing the previous post the sensor is essentially a 5 kOhm Wheatstone bridge sensor which measures pressure.  In order to get it to work a difference amplifier with some gain is required. To get the sensor to work well in any given situation I'm going to add some filtering to ensure that the sensor works properly as much as possible even if there is electrical noise present - it's always a good idea to do that.

Here is the breakout board circuit:


I've already discussed the circuit function in the other post about the pressure sensor so I'm not going to go into great detail.

The left part of the schematic is the pressure sensor itself which is connected to a filter stage.  The filter stage contains ferrite beads which are special soft iron components designed to remove high frequency electronic noise.  The rest of the filter circuit is made up of standard RC filters to remove any other unwanted noise.

Wikipedia entry on Ferrite beads

The next part of the circuit is the difference amplifier made up on a 'Jelly bean' Op-Amp the LMV385 and some resistors.  The circuit amplifies the difference measured between pins 2 and 3 and passes the output to another gain stage which amplifies it further.  The output is then passed to a 3 pin connector which will be used to connect the breakout board to a breadboard before connecting this on to a microcontroller or ADC.

LMV358 datasheet.pdf

The important part of this design is going to be the PCB layout.  We need to ensure that the circuit is constructed and designed as robustly and efficiently as possible.  Because it is a breakout board it needs to be of a small form factor but we also want the circuit to be noise immune and still function as intended.  This isn't always easy - lets set some parameters and see if they are achievable:
  • PCB dimensions - less than 25 x 25 mm
  • Use a complete ground plane on one layer
  • Ensure the external connections are accessible
  • Minimize track length as much as possible
  • Utilize surface mount components (0805)
The layout took me about an hour and a half!  I don't think it came out too badly.  There was a great deal of moving components and tracks about.  It was completely routed by hand - I don't agree with using an auto-router.  The results are always poor (in my opinion).

Top Layer of Pressure Sensor Breakout
Bottom Layer of Pressure Sensor Breakout
The combined layers with dimensions
I managed to get it all into a tight space - less than 22 mm is fair I feel.  The electronics is all on the top side and the pressure sensor is on the bottom side.  When in use the top side will be facing downwards but that is no hardship. I used a design rule checking file from a board manufacturing house to check that the design is viable and they can make it - It passed with no errors!  I must be getting better at this...

Just for fun and because I have found it lets me know if mechanically the design won't work - here is the PCB rendered in 3D.

The rendered PCB top layer

The rendered PCB viewed isometrically
For those that are interested here is the parts list for this breakout board:


It's a bit annoying that the minimum order quantity for surface mount resistors are sometimes in the hundreds...I never seem to need that many - hey ho.  The cost of 10 uF 0805 capacitors is extortion in my opinion!  The total component cost is £3.15 to populate a single PCB.  The problem is because of the minimum order quantity (MOQ) it would cost £7.28 to obtain all of the components and there will be some left over (moan...grumble...whinge)

No matter - Lets get some quotes for the cost of constructing the PCB.  I use Elecrow in China to make my PCBS but there are plenty of places you can get this service.

http://www.elecrow.com/

The quoted cost for manufacture from Elecrow was £9.70 for ten PCBS so that brings the cost for one complete breakout board to £4.12 - this doesn't take into account design or manufacture or testing...If we were to include all of that it pushes the price up considerably.

- UPDATE - 25-09-2015

The boards arrived from Elecrow in record time and I've built one up.  Guess what...there were some mistakes.  The land pattern for the sensor I used was incorrect - I had to bend the pins a little to get it to fit.  I also made a mistake with the OP-amp configuration.  Pins 5 and 6 need to be reversed in order for the circuit to work as intended.  I now have 8 PCBS which will need to be modified in order to get them to work.  No matter - I'll update the design to ensure the correct connections and footprints are used.  I also want to increase the footprint for the 0805 parts as it was difficult to hand solder the boards.  The silk screen was absolutely useless!  I must have set the font size too low.  It didn't take too long to populate the board so I'm pleased overall (read massively proud of myself!)

Here are some pictures of the completed board:

The underside of the board with the Sensor
The topside of the board with the components...and mistakes - hey ho!
I have setup an online store here selling this breakout board and some of my other designs -

Lang Electronics Design - Online Store

I will probably do a post using the breakout board soon as I can now make more use of the sensors.

That's all for now, take care - Langster

8 comments :

  1. could i use this module to measure water pressure? or it is just to measure dry air and gasses pressure?

    ReplyDelete
  2. Boa noite!

    Quero usar para medir pressao de 0pa a 1000pa ,da para usar ?

    ReplyDelete
  3. Como posso adquirir a Placa de quebra do sensor de pressão - MPS20N0040D-D ?

    ReplyDelete
  4. Hello nice project. I am doing a project in which we selected this sensor to measure blood pressure but i have few questions in my mind regarding your project 1)what is the range of output voltage in milivolt of pressure sensor? as you have mentioned it to be from 0mv to 25mv then the gains of opamp are 5.6 and 2.7 so by multiplying gain with input milivot we get 0v and 378mv.so how we get output in (1-5)volts? 2)what is the cut off frequency of RC filter? i calculated by formula 1/2pieRC it came to be 159154.94 Hz equivalent to 160KHz but why? 3) what is the resistance of ferrite bead inductor at 100Mhz in circuit?.... or i am missing something? thanks for sharing project on blog

    ReplyDelete
    Replies
    1. Answers to your questions:

      1. I measured 0 to 25 mV as the bare output of the sensor when I was first prototyping with it.

      2. The output is read by the microcontroller analogue to digital converter. The values measured are what was seen.

      3. The cut off frequency of the filter looks to be correct - I haven't checked. The filter is present to prevent external noise affecting the circuit.

      4. The ferrite bead is present to prevent external electronic noise affecting the circuit. In all honesty I cannot remember which bead I used but it would have a low DC resistance but prevent external interference from 20 MHz to 200 MHz signals with peak attenuation somewhere in the middle.

      Hope this helps!

      Delete
  5. Thanks, Alex. You have saved me the trouble of designing a signal-conditioning circuit for the MPS20N. Previously, I had been using an NXP MPXV5010 in a project, but the price of these has gone thru the roof. The price is irrelevant since these devices are impossible to obtain. In case anyone is interested, my project is an "electronic wind instrument" (EWI), details of which can be found here: http://www.mjbauer.biz/REMI_3.htm Cheers - Mike

    ReplyDelete
  6. Hi Mike, I took a look at your blog! Very well written article!

    ReplyDelete
  7. Hi bro . I'm a chemist working for my PhD thesis . I need help in circuit connection between 5V battery, oscilloscope and 1 psi d 4v ascx pressure transducer.
    I'm not able get signal with the circuit diagram currently have .. help me

    ReplyDelete