Shop OBEX P1 Docs P2 Docs Learn Events
resistors for ADC (MCP3208) — Parallax Forums

resistors for ADC (MCP3208)

raymraym Posts: 2
edited 2013-01-24 11:17 in Robotics
I'm putting together a robot control board, adding an analog-to-digital converter IC (MCP3208) and a bunch of 3-pin headers to a Propeller Proto Board USB.
I've added 4.7K resistors to limit current to Propeller IO pins which will connect to 5V sensors, but no current-limiting resistors are being used for the analog connections to the ADC. My thinking was since i'm powering the ADC with 3.3V, the data signal from it to the Propeller IO pin will not be more than 3.3V, so no damage to the Propeller IO pin will occur.

Does anyone know if current-limiting resistors should be used on the signal input side of the MCP3208 ADC?

In checking the Eddie Control Board schematic, i see reference to resistor banks (R3 and R4) on the analog signal lines to an MCP3008 ADC. The resistors' value is "47" on the schematic. Are these actually 4.7K ohm resistors?

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2013-01-23 11:18
    If the supply voltage for the ADC is 3.3V no resistors are needed on the communication lines between the ADC and Propeller chip. You mentioned analog connections, which should refer to the channel inputs and Vref only. Vref (or any channel input) cannot be higher than Vdd (in your case, 3.3V).
  • raymraym Posts: 2
    edited 2013-01-23 11:35
    If the supply voltage for the ADC is 3.3V no resistors are needed on the communication lines between the ADC and Propeller chip. You mentioned analog connections, which should refer to the channel inputs and Vref only. Vref (or any channel input) cannot be higher than Vdd (in your case, 3.3V).

    The MCP3208 will be used to interface the Propeller to analog sensors, like the Sharp IR sensors. If the channel inputs to the MCP3208 are 5V, should current-limiting resistors (4.7K?) be used? Sounds as though i should use 5V for Vdd, as does the Eddie Control Board for its MCP3008. Thanks Chris for your quick response to my novice questions.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2013-01-23 16:26
    If I remember from the datasheet, the CH inputs cannot be higher than VREF and VREF cannot be higher than VDD. So, if that is 5V, you would need a resistor on the DOUT line coming from the ADC to the Propeller chip. You wouldn't use a series resistor on the CH inputs.

    If you're trying to run VDD/VREF at 3.3V and want to scale the voltage coming into the CH inputs you would use 2 resistors to form a voltage divider designed to scale the input voltage rather than a single series resistor.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-23 20:33
    Just to elaborate a bit on what Chris said. If you you're using 3.3V as the ADC's Vdd and Vref, then you'll need a voltage divider on the chips analog input for analog lines that may be over 3.3V.

    If you're inputs may be up to 5.0V then you could use a 560 ohm resistor between the source and the ADC's anolog input with a second resistor (1K ohm in this case) between the ADC's analog input and ground. This will reduce the voltage at the ADC's input to a max of 3.2V.

    Here's the math:

    Vout = Vin * (R1/(R1 + R2)) = 5.0V * (560ohm / (560ohm * 1000ohm)) = 3.205V

    Edit: I used R1 in the above equation instead of R2. Below is the corrected equation.

    Vout = Vin * (R2/(R1 + R2)) = 5.0V * (1000ohm / (560ohm * 1000ohm)) = 3.205V

    At least that's how I remember it. I hope someone corrects me if I'm wrong.

    Edit: Now I'm pretty sure the above equation is correct.

    You're often better off not using large resistor values (over 10K) on the analog inputs of the MCP3208. The chip can have problems measuring high impedance loads. I don't think the resistor values I listed above should cause a problem (again someone correct me if I'm wrong).

    An alternative to using a voltage divider is to power the ACD chip with 5.0V. In this case you'll need a current limiting resistor on the chips output pin (as Chris just pointed out).

    Edit: Make sure and read Mark_T's post below.
  • Mark_TMark_T Posts: 1,981
    edited 2013-01-24 03:15
    Duane Degn wrote: »

    You're often better off not using large resistor values (over 10K) on the analog inputs of the MCP3208. The chip can have problems measuring high impedance loads. I don't think the resistor values I listed above should cause a problem (again someone correct me if I'm wrong).

    Two things - it all depends on the source impedance driving the voltage-divider - it that is low (a few ohms) then those resistor values are fine. If the source is high
    impedance you are better off using an op-amp to reduce the signal voltage perhaps.

    The upper limit on voltage divider resistance values is dependent on the frequency of the clock you use to talk to the ADC - consult tables 4.1 and 4.2 in the
    datasheet for details, but basically there are 1.5 clock periods to charge up the 20pF sample/hold cap on the chip, and you need the time constant of the effective
    RC of the input impedance+S/H cap to be about 10 times smaller than this time to allow charging up to an accurate copy of the input signal. So if you are
    prepared to sample at lower rates with a slower clock you can tolerate high source impedances.

    Using an op-amp means you can use a high impedance voltage divider and then buffer the output to low impedance to drive the ADC.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-01-24 11:17
    Mark_T wrote: »
    Two things - it all depends on the source impedance driving the voltage-divider - it that is low (a few ohms) then those resistor values are fine.

    @Mark_T, Thanks for expaining things so well. I appreciate it very much.
    raym wrote: »
    IIn checking the Eddie Control Board schematic, i see reference to resistor banks (R3 and R4) on the analog signal lines to an MCP3008 ADC. The resistors' value is "47" on the schematic. Are these actually 4.7K ohm resistors?

    @raym, I'm pretty sure the "47" on the scematic indicates those are 47 ohm resistor arrays. The schematic also shows a voltage divider to drop the 0-16V range to 0-5V range so the MCP3008 can safely measure it.

    BTW, My earlier equation had a typo. It is now fixed.
Sign In or Register to comment.