La ecuación \ $ \ mathrm {LSB} = \ frac {\ mathrm {FS}} {2 ^ N - 1} \ $ se repite comúnmente, pero en realidad no es correcta. Para un ADC con una resolución de \ $ N \ $ bit, cada bit debe representar un intervalo de \ $ \ frac {1} {2 ^ N} \ $ del rango de entrada. Como tal, la ecuación \ $ \ mathrm {LSB} = \ frac {\ mathrm {FS}} {2 ^ N} \ $ es correcta.
Entonces, la primera entrada se extenderá desde \ $ \ left [0 \ space \ frac {1} {2 ^ N} \ right) \ $, el segundo \ $ \ left [\ frac {1} {2 ^ N } \ space \ frac {2} {2 ^ N} \ right) \ $, y así el cuarto.
Lo que esto significa es que el voltaje que está midiendo podría estar en cualquier lugar dentro de ese rango, por lo que debe decidir cómo desea representarlo; por ejemplo, podría reducir el nivel del rango (1), ceil y pick en la parte superior del rango (2), o seleccione el valor medio (3). Eso daría cálculos de:
$$ \ begin {align} \\
V_ {in} & = \ frac {V_ {ref} \ times \ mathrm {Code}} {2 ^ N} \ tag1 \\\\
V_ {in} & = \ frac {V_ {ref} \ times (\ mathrm {Code} +1)} {2 ^ N} \ tag2 \\\\
V_ {in} & = \ frac {V_ {ref} \ times (\ mathrm {Code} +0.5)} {2 ^ N} \ tag3 \\
\ end {align} $$
Para agregar un ejemplo real a la mezcla, tome el ADC del ATMega1284. Si consulta la página 253 de la hoja de datos , se proporciona la ecuación que relaciona el voltaje con el código ADC. Reorganizando eso en tu formulario, es:
$$ V_ {in} = \ frac {V_ {ref} \ times \ mathrm {Code}} {2 ^ N} $$