LINUX.ORG.RU

Как правильно измерять температуру

 , ,


0

2

Микроконтроллером с помощью АЦП, меряющим напряжение на терморезисторе. По хардкору. Максимально точно. Со всем немыслимым и мыслимым матаном и метрологией, и оценкой погрешностей.

Допустим, начинаем с самого простого, измеряем один раз, потом вычисляем напряжение по формуле

референсное напряжение * показание АЦП / (2^разрядность АЦП - 1)
, дальше по даташиту терморезистора по напряжению температуру

★★★★★

Максимально точно это платиновым сопротивленим, малый ток, чтобы самонагрев был несущественным, отсюда малое напряжение, нужен усилитель (операционный).

дальше по даташиту терморезистора по напряжению температуру

В даташите обычно температура/сопротивление. Когда измеряют напряжение, исходят из того, что терморезистор стоит в делителе, запитаном от ИОН. И у всего свои погрешности. Вы хотите, чтобы вам тут кто-то просуммировал погрешности схемы измерений, существующей у вас в голове?

mky ★★★★★ ()

Матаном не отделаться, надо еще загонять микроконтроллер в сон на время оцифровки, серебряный корпус с платиновым заземлением и схемотехника уровня бог.

ilovewindows ★★★★★ ()
Последнее исправление: ilovewindows (всего исправлений: 1)

Нужно провести калибровку термометром более высого класса. Например, твой прибор дает 0.5% погрешности, тебе нужен прибор для калибровки с 0.1%. По калибровочной кривой получаешь поправочные коэффициенты. Затем надо набрать статистику и проверить что все попадает в 3 сигма и нет систематики. Отдельно вопрос по линейности. Все требования к средствам измерения изложены в ГОСТ.

И всегда помни, что ты измеряешь не температуру объекта, а напряжение на терморезисторе, что является косвенным измерением.

Uncle_Bobby ()

если уж хардкорить в точность, то минимум работать с 4 проводной схемой. меряешь ток, меряешь напряжение, естественно через сигма-дельта ацп.
делишь и получаешь сопротивление резистора без сопротивления проводов.
по приложенной в описании резистора формуле вычисляешь температур по значению сопротивления. для платины формула такова.
и это минимум если задумываться о точности…

pfg ★★★ ()
Последнее исправление: pfg (всего исправлений: 1)

Вообще, конечно, факторов, влияющих на измерение бесконечно много. Разброс характеристик датчиков, погрешность АЦП, разводка платы и способ подключения датчика, неточность и разброс применяемых схем усиления, напряжение питания, температура, при которой производятся измерения, расположение в пространстве как датчика, так и контроллера, наличие или отсутствие электромагнитного фона, помех по питанию, грозовые разряды и вспышки на солнце, безусловно, тоже влияют, расположение луны, атмосферное давление, артериальное давление …

Как делал я. Мерил сотню, тысячу или даже 1e6 раз, усреднял, сравнивал показания с калиброванным термометром на интересующем меня диапазоне и потом строил регрессию по этим данным. Мне хватило, если правильно помню, кубической зависимости. (Но вот в госте по платиновым и по K-термопарам то ли седьмая степень, то ли ещё больше.)

Конечно, для твоих целей ещё было бы не лишним применить фильтрацию от всяких «вспышек на солнце», стабилизировать внешнюю температуру, сделать питание от батарейки с хорошим линейным стабилизатором, взять дорогой инструментальный ОУ, залить всё эпоксидкой и завернуть в серебряный саркофаг. Но для калибровки тогда нужен и соответствующий референсный термометр.

anonymous ()
Ответ на: комментарий от Uncle_Bobby

математикой можно усреднить шумовые составляющие измеряемого сигнала, да исправить нелинейность измерений смотри формулу.
а если аппаратная схема некачественна и не дает хорошую повторяемость результата, то математикой можешь хоть обдрочится, ничего точного не выковыряешь.

pfg ★★★ ()
Ответ на: комментарий от Liz812

не спорю. получи математикой точность в 0,1 градуса из встроенного в микроконтроллер датчика температуры на основе обратносмещенного pn перехода…

pfg ★★★ ()
Ответ на: комментарий от pfg

А в чем проблема? Задача сводится к нахождению оптимальной фитирующей функции. Чем больше точек, тем точнее функция. Число измерений ведь не ограничивается?

Liz812 ()
Ответ на: комментарий от Liz812

проблема в том что для измерения температуры с точностью 0,1 градуса используют дорогой платиновый датчик с большими схемными ухищрениями, вместо того, что бы применить дешевый полупроводниковый датчик температуры, а точность достичь с помощью хитроумной математики :)

напишешь крутую математику повышения точности измерений для полупроводникового датчика температуры - получишь всемирное признание и много бабла.

ждем-с…

pfg ★★★ ()

Я измеряю лазерным измерителем. Очень удобно, можно мерить, как температуру котлет в духовке, так и нагрев корпуса ноутбука (он металлический). Если корпус в районе термальных зон 40+, то это явный напряг. А всякие lm-sensors, это от лукавого, они же не имеют физических датчиков.

anonymous ()
Ответ на: комментарий от Harald

а откуда они показания берут, из либастрала штоле

Подозреваю, что есть расчет нагрузки для конкретного процессора к его тепловыделению, вот и вся физика.

anonymous ()
Ответ на: комментарий от anonymous

Не слишком ли заумно?

А что тут заумного? Провели тесты, выявили соотношение нагрузка-температура, привязали к типу процессора, выдали данные для пользователя. Ну вскрой ноутбук-компьютер, и протестируй реальную температуру на поверхности, такие приборы продаются в «переходах».

anonymous ()
Ответ на: комментарий от Harald

Ну тогда о чем разговор? Привели бы что-ли какое-нибудь низкоуровневое апи? Названия достаточно. Чтобы я раз и навсегда пересмотрел свои представления о сенсорах температуры железа.

anonymous ()

Всё херня. Термочувствительная пластина с щелью сквозь который идёт лазер изменяя свою кривизну от температуры щель сдвигается что увеличивает/уменьшает световой поток сила которого считывается как мозга и рук хватит максимально точно. Вот прям ща придумал ^.^ А все эти терморезисторы с последующей магией перерасчётов коффиэциентов и прочих частных случаев внешки дающей погрешность делает грустно. Хотя зато удобно, это да.

LINUX-ORG-RU ★★ ()