Shop OBEX P1 Docs P2 Docs Learn Events
What am I doing wrong? (mcp3208) - Page 2 — Parallax Forums

What am I doing wrong? (mcp3208)

2»

Comments

  • turbosupraturbosupra Posts: 1,088
    edited 2012-02-21 21:21
    Hi,

    The scope is of the dataout pin on the ADC when it is not receiving power at Vdd or Vref, I found this out because I loaded Jon's object before connecting the ADC to power. Maybe it would go away if I disconnected both grounds?

    It may be inconsequential, but I thought I would ask.

    Here is the mouser link
    http://www.mouser.com/ProductDetail/Freescale-Semiconductor/MPX5700GS/?qs=sGAEpiMZZMvWgbUE6GM3ORvmt%252b06Ud%2f0DqcthTDA2uE%3d

    and the data sheet
    http://www.freescale.com/files/sensors/doc/data_sheet/MPX5700.pdf



    Tubular wrote: »
    Good that you got it working. Is that scope waveform of the analog input?

    When the ADC takes a sample, it has an internal capacitor (part of the sample and hold circuit) that needs to charge quickly. For that reason ADCs like to be driven from a low impedance source, and its not clear whether your pressure sensor is low impedance or not (have a link? does its datasheet specify a source impedance?) If the pressure doesn't change suddenly you could put a capacitor to ground on the analog input, so the ADC gets a more steady voltage into its internal sampling capacitor, and see if that reduces the noise.
  • turbosupraturbosupra Posts: 1,088
    edited 2012-02-21 21:33
    Based on the 101.5psi range, and the fact that typical max voltage is 4.7 and typical zero pressure offset is .2, so the range is 4.5 volts, 4.5/101.5 = 0.04433 volts per PSI over the 4.5 volt range.

    I believe my math is correct here, what do you think?

    JonnyMac wrote: »
    Do you know how many volts the sensor puts out per psi? Knowing the range of the ADC it might be simple math.
  • LawsonLawson Posts: 870
    edited 2012-02-21 22:03
    turbosupra wrote: »
    Hi,

    The scope is of the dataout pin on the ADC when it is not receiving power at Vdd or Vref, I found this out because I loaded Jon's object before connecting the ADC to power. Maybe it would go away if I disconnected both grounds?

    It may be inconsequential, but I thought I would ask.

    Here is the mouser link
    http://www.mouser.com/ProductDetail/Freescale-Semiconductor/MPX5700GS/?qs=sGAEpiMZZMvWgbUE6GM3ORvmt%252b06Ud%2f0DqcthTDA2uE%3d

    and the data sheet
    http://www.freescale.com/files/sensors/doc/data_sheet/MPX5700.pdf


    What's most likely happening is that the chip is getting power from the propeller communication pins via the input protection network on the MCP3208. i.e. Nearly all CMOS chips protect input and output pins by placing a reverse biased diode from the pin to Vcc and Vss. This makes sure that static or other overloads have a safe place to go, but also means that activity at an input pin can power a chip when Vcc is disconnected. The propeller I/O pins are protected this way and that's why the 3K resistor is needed between Dout and the propeller. (mostly to protect the MCP3208 'cause the prop's a tough chip to kill)

    Lawson
  • TubularTubular Posts: 4,706
    edited 2012-02-21 22:08
    Ok, thanks for the datasheet. Interesting beast.

    They recommend a 470pF cap across the output for use with 8 bit ADCs, then direct you to this application note for 10 or 12 bit ADCs....
    http://www.freescale.com/files/sensors/doc/app_note/AN1646.pdf

    You can try the 750 ohm / 0.33uF filter they recommend, but I think the MCP3208 will not like the 750 ohm impedance while trying to get 12 bit accuracy. If you possibly can, put the unity gain op amp buffer in place, get some good results, and look at removing it later if its for production etc.

    I use the MCP3208 on a commercial product with an op amp to drive each channel, because there was too much noise with a ~2kohm source impedance transducer.
  • turbosupraturbosupra Posts: 1,088
    edited 2012-02-22 06:03
    Thank you Lawson, that makes perfect sense, I did not know that. At least I know it is inconsequential now.
    Lawson wrote: »
    What's most likely happening is that the chip is getting power from the propeller communication pins via the input protection network on the MCP3208. i.e. Nearly all CMOS chips protect input and output pins by placing a reverse biased diode from the pin to Vcc and Vss. This makes sure that static or other overloads have a safe place to go, but also means that activity at an input pin can power a chip when Vcc is disconnected. The propeller I/O pins are protected this way and that's why the 3K resistor is needed between Dout and the propeller. (mostly to protect the MCP3208 'cause the prop's a tough chip to kill)

    Lawson
  • turbosupraturbosupra Posts: 1,088
    edited 2012-02-22 06:04
    Thank you, I will keep that in mind, it seems to be working great now, so I will continue to use it as is unless I start to encounter problems.

    Tubular wrote: »
    Ok, thanks for the datasheet. Interesting beast.

    They recommend a 470pF cap across the output for use with 8 bit ADCs, then direct you to this application note for 10 or 12 bit ADCs....
    http://www.freescale.com/files/sensors/doc/app_note/AN1646.pdf

    You can try the 750 ohm / 0.33uF filter they recommend, but I think the MCP3208 will not like the 750 ohm impedance while trying to get 12 bit accuracy. If you possibly can, put the unity gain op amp buffer in place, get some good results, and look at removing it later if its for production etc.

    I use the MCP3208 on a commercial product with an op amp to drive each channel, because there was too much noise with a ~2kohm source impedance transducer.
Sign In or Register to comment.