there is no way this is true. buy a reasonable quality DAC with good DNL. if you use more bits than you need, the non-linearity is often lower than the number of bits you're interested in and you can use the extra bits to fine-tune values and store those in a table. ($5?)bmrzycki wrote:it's clear the ADC (voltage meter) in your tester is a decent good one, likely much too expensive to attach to an entire bank of potentiometers.
connect the dac to a high-accuracy comparator ($2?) and locate the values between which the flag switches true/false.
for example your input is 5916, your bits are 16. start at 32768 - true. 16384 - true. 8192 - true. 4096 - false. 6144 - true. 5120 - false. 5632 - true. you should see where this is going. with 16 bits you have a maximum of 16 steps to reach any value.
that means you need to run this loop at 16x the desired sampling rate. if you're just measuring a knob you probably will be filtering that already and the rate you're interested in is not going to be more than 1khz. this is easy to accomplish!
if you're only interested in 12 bits, you can use the extra 4 bits to fine-tune linearity. you'll need a table with 4096 entries.
also keep in mind that you can add a bit by using a full-wave rectifier ( abs() ) with low-offset and high-linearity using an existing single polarity circuit. (also $2?)
the ADC on those chips is pretty well useless. that's designed to input basic parameters to the chip to test functions quickly while prototyping. it's also there to be hopefully "good enough" to do something simple like the volume knob on a remote control, or the controls for a gamepad/joystick or RC controller or so on.
it isn't designed to provide what you need. it's thrown in because it's cheap and general purpose.
if you're scanning controls on a precision instrument that is not general purpose.
you can add up to generally 32 (actually i can't remember where i get this impression. it's from experience.. might be to do with offsets or non-linearity or something. you might be able to get more!) channels easily using analog multiplexors. ($2 each, usually 1-to-4.)