2
\$\begingroup\$

I am using a micro controller (TI CC3220 - http://www.ti.com/lit/ds/symlink/cc3220.pdf) which uses 3.3VDC for its operation and has an ADC input range of 1.4VDC.

Questions

  • In order to use the ADC input for reading values from a variable resistor, can I just use a simple resistor divider to step down the voltage from 3.3VDC to 1.4VDC?
  • How do I find the appropriate resistor values R1 and R2 for the divider ? I have tried 47K & 22K and they seems to work fine, but not sure about their long term impact.

Note : I do have constraints on the component size and cost, hence would request the cheapest feasible option here.

Schematic

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
  • \$\begingroup\$ The cheaper solution is avoid a pot. Since resistors are almost free. \$\endgroup\$ – Sunnyskyguy EE75 Jun 7 '18 at 5:28
  • \$\begingroup\$ How do I calculate the resistor values ? \$\endgroup\$ – Zacson Jun 7 '18 at 6:44
  • \$\begingroup\$ I see that chip has 4 ADC inputs. If you plan on using more that one ADC input, then be weary of the plan above, as you may get unexpected results if the ADC switches inputs too fast. Inquire if that's your case... \$\endgroup\$ – Chris Knudsen Jun 7 '18 at 12:26
  • \$\begingroup\$ Zac . you read the datasheet then use a spreadsheet with KVL , or simulate or breadboard, whichever is faster tinyurl.com/y83mmzax but unless you define the response curve, this is a puzzle. \$\endgroup\$ – Sunnyskyguy EE75 Jun 7 '18 at 12:34
  • \$\begingroup\$ @ChrisKnudsen can you please explain further on the issue, in case I use more than one ADC input ? Can I not read ADC one after another in a loop ? \$\endgroup\$ – Zacson Jun 8 '18 at 3:41
2
\$\begingroup\$

The cheapest feasible option is R1 only, R2 is not needed. 68k is about the right value to drop the 50k voltage span to 1.4v. However, potentiometers are notorious for poor tolerance, so the next value up would guarantee less than 1.4v on the pot.

To choose R1 for any given value of Rpot, supply voltage Vs, and voltage required on the top of the pot Vpot, solve the following equation.

$$V_{pot} = V_s \frac{R_{pot}}{R1 + R_{pot}}$$

I'm sure you can use straightforward algebra to manipulate the equation round so that R1 is by itself on the left hand side.

This equation expresses the fact that the current flowing through the two resistors is Vs/(R1+Rpot), so the voltage developed across Rpot is just Rpot times that current. I've separated out the resistor ratio however, as that's the way we'd normally use this potential divider expression, to multiply the input voltage by a function of the resistor values, to get the reduced output voltage.

Rather than flog through the algebra, you might notice that 1.4v is more or less half of 3.3v, so R1 will be a little bit bigger than Rpot. In fact I guessed at 68k (a little bit bigger than 50k) before I did the sums to calculate it exactly.

\$\endgroup\$
  • \$\begingroup\$ Thanks Neil. Could you please explain on how to calculate the value of R1 ? The potentiometer value of 50k is just a random selection in my question and we should be fine with any values. So essentially I am trying to find R1 and the potentiometer value. \$\endgroup\$ – Zacson Jun 7 '18 at 6:43
  • \$\begingroup\$ @Zacson updated answer \$\endgroup\$ – Neil_UK Jun 7 '18 at 8:35
  • \$\begingroup\$ Thanks Neil. Are there any guidelines in selecting the Rpot value ? Would selecting a lower Rpot value improves stability and/or accuracy? Or would it harm the micro-controller as it requires very less current for the ADC ? \$\endgroup\$ – Zacson Jun 8 '18 at 3:45
  • \$\begingroup\$ The data sheet mentions input impedance of 700 ohms to a bit over 2k for the various ADC pins, surprisingly low impedance. The data sheet is too short to give more detail on it, and I'm not going to go hunting, so let's take them at their word. So it would seem that you'll you'll need a lower impedance to drive the ADC over its range properly. You can find out what current the ADC actually needs by (say) putting a 1M resistor to 3.3v, measuring the voltage, calculate ADC loading with the R divider equation. Accuracy is a bit moot with a pot, as it's adjustable. The thing is ideally you want \$\endgroup\$ – Neil_UK Jun 8 '18 at 5:27
  • \$\begingroup\$ ... to cover the whole range, plus a bit. Normally with a voltage divider we'd say Rdivider should be <10% of Rload, but that would give silly low values of 100ohm pot. With those ADC figures, I would expect a 68kR1 and 50k pot to cover a tiny range right at the bottom, due to ADC loading, so I don't know what's going on. How have I misread the data sheet? Are the ADC input figures kk, that is Mohm? 700k to 2M sounds far more plausible, in which case a 50k pot is fine. \$\endgroup\$ – Neil_UK Jun 8 '18 at 5:32
1
\$\begingroup\$

schematic

simulate this circuit – Schematic created using CircuitLab

You can choose 1M pot then compute nearest 0.5% or 0.1% R values that add up to 100K or scale down / 10. Input current for ADC is ~ 5nA

\$\endgroup\$
  • \$\begingroup\$ As suggested by Neil_UK, I hope we may not need R2 at all. What are the advantages / disadvantages in choosing a 1M pot ? \$\endgroup\$ – Zacson Jun 8 '18 at 3:50
  • \$\begingroup\$ Good for low power. \$\endgroup\$ – Sunnyskyguy EE75 Jun 8 '18 at 4:21
  • \$\begingroup\$ Wouldn't that affect the stability of the values read in a noisy environment? \$\endgroup\$ – Zacson Jun 8 '18 at 4:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.