Повозился сегодня еще чуток.
В программу ввел дополнительную переменную которая автоматически корректирует значение АЦП в зависимости от его значения.
Откопал старый снегоходный термометр, которые я в то время продвигал тут на форуме. Эти термометры делались как я уже говорил на предприятии по изготовлению термоприборов для пищевой промышленности. Сейчас не помню точно какие у него погрешности но точность не хуже чем у "термико" в нем используются трех проводные терморезистивные (не термисторы) датчики так что я взял его значения за эталонные.
Вообщем удалось добиться расхождения мах 1.5 градуса при температуре 200С.
Но тут вылезла другая бяка.
Дело в том что при высоких температурах (примерно от 160С до 200С) сопротивление термистора меняется очень незначительно. То есть например при температуре +25С сопротивление = 100 кОм, и при падении t на один градус то есть до 24С сопротивление будет = 80кОм, разница аж 20 кОм, а вот при 190С сопротивление = 100 Ом и при падении скажем даже на 5 градусов будет составлять = 95 Ом, то есть всего 5 Ом на 5 градусов!
По этому 10 битный АЦП контроллера не может уловить такие небольшие изменения сопротивления и из за этого шаг температуры увеличивается.
Например до 160 С температура растет плавно, отображаются десятые доли градуса, то выше каждый шаг изменения температуры начинает нарастать.
Чтоб более наглядно было давайте так напишу.
Рост t до 160С для примера с шагом в 0,5С:
100,5 - 101,0 - 101,5 - 102,0 - 102,5 - 103,5 - 104,0 - 104,5 - 105,0 - 105,5 - 106,5 - 107,0 - 107,5 - 108,0
Рос t > 160C
160.0 - 165.0 - 170.0 - 175.0 - 180.0 - 185.0 - 190.0 - 195.0 - 200.0
То есть индикация с 190С прыгает сразу на 195С пропуская 191 - 192 - 193 - 194, но само значение температуры в норме. Если на эталонном 190 то и на моем 190, если на эталонном 193,5 то на моем все еще 190, а вот как только на эталонном 195 то и на моем сразу становиться 195.
Расхождение в коммерческом диапазоне температур (-20 +100) достаточно низкие, около 0,5 - 1 градус.
Расхождение в диапазоне +100 - +200 градусов от 1 до 1,5 максимум на температурах от 160 до 200 градусов.
Теперь нужно сделать нормальный датчик, запаять его в металлическую гильзу и протестировать на чем нибудь.
Плюс буду допиливать прошивку и тестировать в отрицательных температурах.
Может удастся найти внешний 12 битный (а может и 16 битный) АЦП но это уже удорожает и усложняет конструкцию.
Вообщем поживем увидим.