0
\$\begingroup\$

I'm designing a 4-bit ADC for a project that receives a reference voltage that ranges from 1.0 to 1.25. The problem is, it's not a linear variation, as in 0001 can be 1.05V, 0010 1.1V but 0011 could be 1.2V, instead of the 0.05V increase shown from 0001 to 0010, there was a 0.1V increase to 0011. So the first comparator will need to have the 1.05V reference, the second one the 1.1V, and the third one the 1.2V, and as this is, I can't use a bunch of resistors with the same resistance, I need different resistors, and I can't imagine how to calculate their values. Considering it's a theoretical project, so it doesn't matter if such resistor is manufactured or not, how can I calculate resistor values to input in comparators a non linear voltage decrease?

\$\endgroup\$
9
  • 3
    \$\begingroup\$ It is difficult to tell what is being asked here. \$\endgroup\$
    – Matt Young
    Commented Mar 17, 2013 at 1:18
  • \$\begingroup\$ What are you trying to measure, and why does your Vref vary? \$\endgroup\$
    – Dave Tweed
    Commented Mar 17, 2013 at 2:08
  • \$\begingroup\$ Sorry, I edited it trying to clear up some of the parts I saw that could be misinterpreted. Please tell me if there's anything that needs explaining. @DaveTweed I'm building a Resistance Thermometer. \$\endgroup\$ Commented Mar 17, 2013 at 2:58
  • \$\begingroup\$ Instead of talking about Vref, Vin and resistors, can you just describe, perhaps using a table, exactly what you want the input-to-output mapping of your ADC to be? What range of input voltages do you want to correspond to each of the 16 output codes? \$\endgroup\$
    – Dave Tweed
    Commented Mar 17, 2013 at 3:16
  • \$\begingroup\$ I think, when you say reference voltage, you mean the voltage you want to measure. Or perhaps you mean that you have 16 comparators, each one comparing something to one of 16 reference voltages. When you say Vin, I want to think that is the voltage you are measuring, but in context, it looks like what most people would call the reference voltage, the voltage (that should be precise and accurate) that your ladder is to divide into accurate (if non-linear) steps. \$\endgroup\$ Commented Mar 17, 2013 at 3:18

2 Answers 2

1
\$\begingroup\$

The easiest way to do this (kind of like counting on your fingers) is to set each resistor equal to the voltage of the step. For instance, the 0001-0010 step is 0.05 volts, so it gets an 0.05K resistor, the first step is 1.05 volts, so it gets a 1.05K resistor, and so on.

But you need to learn ohms law!

\$\endgroup\$
1
\$\begingroup\$

Why not use a $1.50 microcontroller (eg.ATtiny13) that comes with a 10-bit ADC and converts the measured input to output the correct bits?

\$\endgroup\$
1
  • \$\begingroup\$ Good idea and you could also do the same with virtually any half-decent 8-bit (or more) parallel output AtoD with appropriate conversion logic and achieve the "probable" accuracy you want. \$\endgroup\$
    – Andy aka
    Commented Mar 17, 2013 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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