Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Точности термодатчиков

К утру термодатчики нагрелись только до 19°C (в комнате, судя по нескольким платиновым терморезисторам, было +21.7°C, хотя настольный китайский термометр упорно рисует аж 24.2), я продержал их до 10 утра (за эти два часа они нагрелись еще на 1°C) и закончил мониторинг.

В позапрошлый раз я уже приводил исходник скрипта для считывания файлов с температурами. Для того, чтобы вычислить аддитивные поправки для сведения показаний датчиков к одной точке, написал еще два скрипта. Первый вычисляет поправку и погрешность для двух термометров пары.
function plotdt(T, idxsch)
    idxsch *= 2;
    difrns = T(:,idxsch-1)-T(:,idxsch);
    D = median(difrns);
    sgn = '+';
    if(D < 0) sgn = '-'; endif
    sigma = std(difrns);
    printf("T_1(%d) = T_0(%d) %c%.4f +- %.4f\n", idxsch, idxsch, sgn, abs(D), sigma);
    plot(T(:,1), medfilt1(D-difrns, 5));
    xlabel("T, ^\\circ{}C");
    ylabel(sprintf("T_1-T_0%c%.4f", sgn, abs(D)));
    title(sprintf("Temperature difference for pair %d (\\sigma=%.4f)", idxsch/2, sigma));
endfunction

Второй скрипт вычисляет то же самое для нулевых термометров разных пар.
function plotpair(T, idxsch1, idxsch2)
    i1 = 2*idxsch1-1;
    i2 = 2*idxsch2-1;
    difrns = T(:,i1)-T(:,i2);
    D = median(difrns);
    sigma = std(difrns);
    sgn = '+';
    if(D < 0) sgn = '-'; endif
    printf("T_0(%d) = T_0(%d) %c%.4f +- %.4f\n", idxsch2, idxsch1, sgn, abs(D), sigma);
    plot(T(:,1), medfilt1(D-difrns, 5));
    xlabel("T, ^\\circ{}C");
    ylabel(sprintf("T(%d_0) - T(%d_0) %c %.4f", idxsch2, idxsch1, sgn, abs(D)));
    title(sprintf("Temperature difference for sensors %d_0 and %d_0 (\\sigma=%.4f)", idxsch2, idxsch1, sigma));
endfunction

Так как расстояние между термодатчиками внутри каждой пары было достаточно маленьким, то даже при перепаде в пару градусов по всей диагонали градиент между датчиками пары был небольшим. Поэтому RMS разницы их показаний не превышал 0.03°C (самый худший случай), правда, поправка для приведения температур к одной точке принимала значения от -0.24°C до +0.56°C! Однако, во всем диапазоне температур после введения этой поправки показания датчиков шли, как говорится, ноздря в ноздрю.
С межпарными поправками сложней: во всем диапазоне температур из-за значительных градиентов статистика пострадала, поэтому я считал для двух диапазонов (полный и 19±1°C). Естественно, в узком диапазоне RMS болтался в районе тысячных градуса, а вот в полном диапазоне составлял от 0.0031°C до 0.1203°C. Поправки же в обоих диапазонах отличались лишь на 2-5 сотых градуса. Точно так же в пределе отклонение было 0.55°C.
Так что, если для датчиков в паре я уверенно могу сказать, что точность у них не хуже ±0.05°C, то между датчиками несколько сложней. Сравнивать их показания с терморезисторами я не могу, т.к. забыл откалибровать терморезисторы при минусовой температуре, и не уверен, что там реально наблюдался такой мощный градиент (да и вообще, не понимаю, как в 20-мм дюралевой плите мог наблюдаться градиент в 2-3°C на 15 сантиметров!).
Tags: octave, термодатчики
Subscribe

  • Qt-creator на нескольких мониторах

    Сижу, значит, пишу код. И внезапно ощущаю нехватку одновременно открытых как минимум четырех кусков кода! А на одном основном мониторе (хоть и 2560…

  • Электронщики поймут

    Для тех, кто придумал бессвинцовку, должен быть отдельный котел со свинцом! (не мое) Reposted from dreamwidth:…

  • Шо, товарищи, facebook и watsapp — тыгыдым?

    Собственно, уже часа 2 с хвостиком не работают. Интересно: это роскомпозор охренел или что? Reposted from dreamwidth:…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 1 comment