1 способ. Весь диапазон входных напряжений разбивается на два или несколько поддиапазонов (слегка перекрывающихся). Каждому свой (выходной) операционник со смещением. Например:
0.0 ... 6 мВ -> 0 ... 5 В
5.9 ... 8 мВ -> 0 ... 5 В
7.9 ... 10 мВ -> 0 ... 5 В
Каждый поддиапазон - на свой вход АЦП, потом их можно софтом склеить.
Точность ограничивается только цепями вокруг операционников.
2 способ. К сигналу добавляется белый шум, делается множество измерений, результат усредняется. Точность при этом не увеличится, зато дискретность (плавность) легко увеличить более чем на порядок.
Например: 10-битный АЦП щёлкает с частотой 12800 Гц, 256 измерений суммируются, сумма делится на 16 (= sqrt(256)) сдвигом на 4 разряда вправо. Получается 14-битный результат (0.05 градуса). Так как 12800 / 256 = 50 Гц, то заодно давится сетевая наводка.
Среднеквадратичная величина шума должна быть примерно 16 единиц (плюс-минус лапоть).
Складываем оба способа и получаем точность лучше 0.5 градуса и плавность, необходимую для регулирования.