Формула Стейнхарта-Харта (Термистор + arduino)

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Добрый день!
Подскажите плиз по термистору NTC 3950! Купил гдет год назад у китайцев десяток, и только сейчас до них добрался... Уже 3 устройства нужно собрать с ними :cry:
Везде пишут про формулу Стейнхарта-Харта:
1/T = a+b(lnR)+c(lnR)3
с оговоркой: a,b,c – константы термистора, определенные при градуировке в трех температурных точках, отстоящих друг от друга не менее, чем на 10 °С.

Есть код для ардуины, типа нужно только подставить эти самые константы:

Код: Выделить всё

double A=, B=, C=;//коэффициенты зависящие от типа термистора(из даташита или выводятся эмпирически)
void setup(){
pinMode(A0, INPUT);
}

void loop() {
double term=term1(analogRead(A0));
Serial.println(term);
delay(2000);
}

float getR(float V) //функция преобразования значения полученного с аналогового входа в сопротивление терморезистора
{
float result;
result=-10*V/(V-1024);
return result;
}

float term1(int AnalogDC)
{
double tempertura;
tempertura = 1 / (A + B * (log(getR(AnalogDC))) + C * (log(getR(AnalogDC)))*(log(getR(AnalogDC)))*(log(getR(AnalogDC))) );
tempertura = tempertura - 273.15;
return tempertura;
}

И есть инфа со страницы продавца на алибабе:
Electrical characteristics
A: Resistance value: R(25°C)=100K±1%
B: B Value: B=3950±1% (calculated from resistance value at 25°C and 50C)
C: Insulation resistance 50MΩ or over by DC500V megger (between glass and lead wire)

Thermal time constant (τ): τ≤10~17s (in still air)
Thermal dissipation constant (δ): δ=1.1~1.6mW/°C (in still air)
Operating temperature range:-50~+260℃

Но как выбрать из этой инфы константы - вообще не ясно. На Хабрахабр есть какая-то дурная статья, но там про это вообще ничего не сказано, а в коде видно что эти константы маленькие, т.е. значительно отличаются от того что в описании у китайцев.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Nyan Cat, а вы можете в интересующем вас диапазоне снять зависимость сопротивления от температуры? Например, от 0 до 70 градусов Цельсия с шагом 5 градусов. Если предоставите экспериментальные данные, то я вам мигом подберу коэффициенты этой теоретической кривой Стейнхарта-Харта, которые наилучшим образом будут приближать ваши экспериментальные точки. За одно можно будет проверить насколько хорошо согласуются экспериментальные точки с теоретической кривой.
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

B@R5uk, в принципе могу. У меня есть ртутный градусник до 100С.
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

С ртутным градусником не вышло, показания снимал с DS18B20.

Код: Выделить всё

t, Сº         кОм
 100         4,84
  95         5,99
  90         7,23
  85         6,35
  80         7,62
  75         9,15
  70         11,0
  65         13,6
  60         16,9
  55         21,1
  50         26,7
  45         33,5
  40         43,1
  35         56,7
  30         72,9
  25         99,1
  20         111,8
  15         146,0
  10         191,8
   5         239,0
   0         320,0

С нулём пришлось повозиться на улице :)
Изображение
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

тут ещё заглянул в прошивку (Marlin) для 3d-принтера , там на таблице соответствий сопротивления от температуры все работает. Но мне нечем измерить температуру больше 120....
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Жаль, что не получилось с ртутным градусником. Погрешность температуры DS18B20 по даташиту составляет пол градуса, и это, в принципе, хорошая точность. Но реально получился гораздо худший разброс. Судите сами (кружочки -- ваши измерения, сплошная линия -- теоретическая кривая с наилучшими параметрами):

Изображение



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

Параметры теоретической кривой получились такими:

a = 2.351154844456321e-003
b = 2.247399576412669e-004
c = 6.339122325703313e-009

При этом сопротивление под логарифм я подставлял в килоомах. Если подставлять его в омах, то второй коэффициент надо разделить на натуральных логарифм 1000, а третий -- на куб этого логарифма.

Если оставить только вторую серию измерений (которая с наибольшим числом точек), то получается вот что:

Изображение



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

Коэффициенты теоретической кривой в этом случае получились такими:

a = 2.386401013140771e-003
b = 2.219640006473501e-004
c =-5.361527325546542e-007


Скорее всего, ваш метод измерений был не очень аккуратным. Когда работаешь с температурой, для достижения наилучшей точности её измерения необходимо дожидаться установления термодинамического равновесия между термометром и изучаемым объектом. Необходимо исключить быструю потерю или приобретение тепла извне измеряемой системой, что приводит к неравномерному нагреву изучаемого тела и термометра, как следствие к из различной температуре в момент снятия показаний. В лабораторной практике эта проблема решается с помощью калориметра.

В домашних условиях калориметр можно соорудить обернув тряпкой майонезную баночку и запихнув её в поллитровую банку. Я бы внутрь налил воды, поставил бы в неё ртутный градусник и опустил бы туда терморезистор. Его контакты и подходящие провода, разумеется, необходимо изолировать от воды (каким-нибудь резиновым клеем, например). Подливая горячую или холодную воду (или кладя кусочки льда) можно менять температуру терморезистора и, дожидаясь установления равновесия, измерять эту температуру ртутным термометром. Важно именно дождаться равновесия.

Буду рад обсчитать ваши данные, если вы ещё раз их аккуратно промереете.
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

B@R5uk, большое вам спасибо!
Да, действительно, было выполнено три серии измерений. Изначально, хотел нулевыю температуру получить льдом, но у меня сломался холодильник, и с его починкой, из-за обстановки в районе, есть проблемы.
А тут смотрю, на улице как раз 0. В общем, вытащил туда принтер с уже установленым термистором на столе с подогревом и начал измерять... тут выяснилось, что на улице нет нуля, и пршлось вытаскивать ещё вентилятор. Измерил до 20°C, потом решил нагреть до 100°C и снимать показания "на падении". Тут выяснилось, что компьютерный блок питания не может нагреть до сотни (по крайней мере, пока на него грешу) при нулевой температуре. Нагрев законился гдет на 53°C, поэтому затащил всё это дело в летнюю кухню, и продолжил измерения. Там отказался от идеи снимания показаний "на падении" и начал измерять по порядку. Измерил с 20 до 70°C, и обнаружил что и в закрытом помещении так же есть проблемы с нагревом до сотни, хотя обогревателем поднял температуру в помещении до 15°C.
Затащил все домой, подождал пока все остынет (боялся что столик принтера покоробит) и продолжил измерения.
Дома удалось раскачегарить столик на принтере только до 85°C, поэтому 90-100°C уже измерил аналогочным термистором на электроплите.
Ещё, я заметил что в доме показани отличаются от того что было в летней кухне где-то на 10-15 кОм, и понял что все эти измерени - полная ерунда. Показания прибора зависит от температуры в помещении... Да и сам способ измерения мне не внушал доверия, так как я видел, что измерения снятые пол часа назад - уже "не такие" (сейчас уже понятно, что это из-за того что я включил обогреватель в летней кухне).
В общем, затра буду снимать ртутный градусник с котла (там крепящие болты краской замазаны).
Измерения уже буду проводить по описанной Вами методике :)
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Ещё нужно будет подогнать температуру в помещении, под корректные данные на приборе. Найду резисторы с погрешностью 1% для калибровки.
Последний раз редактировалось AlekseyEnergo Пт ноя 21, 2014 23:06:44, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Предупрежден!
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Если ртутный градусник -- это часть прибора, то я бы не стал его снимать. Во всяком случае, если он не имеет цену деления заметно точнее, чем 0,5 градусов (как у цифрового датчика). Лучше откалибровать датчик по нулю градусов (температура равновесной системы вода-лёд) и использовать его для измерения. Ведь его контакты можно точно так же заизолировать и поместить датчик в калориметр с водой.

И не обязательно делать измерения точно через 5 градусов, главное, чтобы их было по-больше. Мне, кстати, попадались резисторы с точностью до 0,1%.

А ещё, температуру кипения воды нельзя использовать как реперную точку, она сильно плавает с изменением атмосферного давления.
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Уточните плиз, куда помещать термометры и куда "подсыпать лед/подливать кипяток"
Изображение
А то читаю тут про калориметры, и везде схема "b", но по вашему описанию, я понял что нужно измерять по схеме "а"

B@R5uk писал(а):Мне, кстати, попадались резисторы с точностью до 0,1%.

У меня ток 1%, и те нужно будет выпаивать
Последний раз редактировалось AlekseyEnergo Пт ноя 21, 2014 23:09:12, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Подредактировал.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Как-то так:

СпойлерИзображение


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

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

Хозяйственный аналог калориметра -- термос. Если есть под рукой, то можно его использовать, очень удобно. Главное, дождаться установления термодинамического равновесия.
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Есть термос с широким горлом, его и буду юзать.
а термистор нужно поместить в "тело"? Тело - это майонезная банка обернутая трапкой?
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Тело = терморезистор. =)
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

теперь все ясно, спс :)
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Собрал таки всё необходимое, тщательно подготовился, потратил пол дня и всю ночь, и провел эти измерения
Изображение
Показания R1 и R2 сняты одним прибором, но в разном режиме. Показания иногда менялись +-1 или 0,1. Записывал то что дольше отображалось на табло.
Вложения
NTC 3950.xls
(8.5 КБ) 374 скачивания
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Калибровочные коэффициенты по первому сопротивлению:
a = 2.330769683729996e-003
b = 2.098038766743609e-004
c = 6.188891115698229e-007

Калибровочные коэффициенты по второму сопротивлению:
a = 2.229327435341785e-003
b = 2.401007279668999e-004
c = 2.083923088681597e-007

Судя по графикам вторые внушают больше доверия (да и точность измерения у них выше). Из таблицы видно, что результаты по первому сопротивлению смещены на 1,5 кОм вниз относительно результатов по второму сопротивлению. Интересно, какие именно из них ближе к реальности? Как именно вы измеряли сопротивление в каждом случае? Вообще, надо бы честно посчитать погрешность рассчитанных коэффициентов.

Чтобы получить температуру в градусах надо сопротивление в килоомах и коэффициенты выше подставить в эту формулу:
T = 1 / ( a + b * ln(R) + c * ( ln(R) )^3 ) - 273.15

Например, пересчитанная назад температура для второго случая будет такой:

Код: Выделить всё

   11.0000   10.9472
   15.0000   15.0253
   20.0000   20.0329
   25.0000   24.9913
   30.0000   30.0310
   35.0000   35.0334
   40.0000   40.0086
   45.0000   44.9685
   50.0000   50.0091
   55.0000   54.9907
   60.0000   59.9467
   65.0000   64.9315
   70.0000   69.9828
   75.0000   75.0417
   80.0000   80.0599
Думаю в диапазоне 0...85 градусов в одну десятую градуса можно смело верить, но не больше. Жаль маловато измерений и диапазон узковат.

А в первом случае такой:

Код: Выделить всё

    5.0000    4.8129
    6.0000    5.8120
    7.0000    6.9561
    8.0000    7.9800
    9.0000    9.0608
   10.0000    9.9920
   11.0000   11.0815
   15.0000   15.1762
   20.0000   20.1609
   25.0000   25.1469
   30.0000   30.2478
   35.0000   35.1085
   40.0000   40.0057
   45.0000   45.1605
   50.0000   49.6647
   55.0000   55.3213
   60.0000   59.3315
   65.0000   64.1951
   70.0000   70.3486
   75.0000   74.1507
   80.0000   81.2819
Точность измерения сопротивления при его малых значениях весьма критична.

Программа на Матлабе для расчёта:
Спойлер

Код: Выделить всё

%clc
clear
format compact

wdata=[
    5   254     -1
    6   242     -1
    7   229     -1
    8   218     -1
    9   207     -1
    10  198     -1
    11  188     190.5
    15  155     156.9
    20  123     124.4
    25  98      99.5
    30  78      79.8
    35  63      64.5
    40  51      52.5
    45  41      43.0
    50  34      35.3
    55  27      29.2
    60  23      24.3
    65  19      20.3
    70  15      17.0
    75  13      14.3
    80  10      12.1
];

t=wdata(:,1);
r1=wdata(:,2);
r2=wdata(:,3);
addr=wdata(:,3)>0;

%plot(r1(addr),r2(addr),'o')

A=[ones(size(r2(addr))),r2(addr)];
B=(A'*A)^-1*A';
C=B*r1(addr);
r21=C(1)+C(2)*r2(addr);

R=r1;
%R=r2(addr);
%R=[r1(~addr);r21];
T=273.15+t;
%T=273.15+t(addr);

lnr=log(R);
A=[ones(size(lnr)),lnr,lnr.^3];
B=(A'*A)^(-1)*A';
x=B*(1./T);
a=x(1);
b=x(2);
c=x(3);
disp([a;b;c])

RR=logspace(log10(4.1),log10(390));
TT=1./(a+b*log(RR)+c*log(RR).^3);
dT=T-1./(a+b*lnr+c*lnr.^3);

lims=[4,400];

subplot(4,1,1:3)
semilogx(R,T,'o')
hold on
semilogx(RR,TT,'k')
hold off
xlim(lims)
title('Зависимость темературы датчика от его сопротивления')
ylabel('Абсолютная температура, К')
%xlabel('Сопротивление датчика, кОм')
subplot(4,1,4)
semilogx(R,dT,'o')
xlim(lims)
title('Отклонение экспериментальных точек от теоретической кривой')
ylabel('Отклонение, К')
xlabel('Сопротивление датчика, кОм')

disp('======')
%disp([t(addr),1./(a+b*log(R)+c*log(R).^3)-273.15])
disp([t,1./(a+b*log(R)+c*log(R).^3)-273.15])

Хотелось бы знать, а где именно вы будете использовать эти результаты? И как вы добились такой высокой точности установки температуры?
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

Спасибо что откликнулись и за программу на матлабе!
Показания со столбика R2 более точные, ещё после первой попытки калибровки этого термистора, выяснил что прибор на 1%-х резисторах врет на -0,1кОм. В более точном режиме -0,01кОм. На больших сопротивлениях погрешность разная.
B@R5uk писал(а):Хотелось бы знать, а где именно вы будете использовать эти результаты? И как вы добились такой высокой точности установки температуры?

Использовать буду в 3d-принтере, в "скороварке" и хочу повесить на свою "лабораторную" печку. Особая точность на самом деле не нужна. В 3d-принтере например, нужно только для установки какой-то условной точки, а дальше экспериментально установлю большую или меньшую температуру. В принципе, так и в других устройствах будет. Просто они будут более точно соответствовать реальной температуре :)
А измерял всё как и рекомендовали: взял 2 термоса (большой для роли калориметра и меньше для горячей воды), ведро льда, замазал DS18B20 и термистор резиновым клеем, закрылся и сказал чтоб никто не расхлебенивал двери и не шастал без особой необходимости, а дальше всё вполне очевидно :)
Более высокие температуры измерить не удалось, так как на клее температура эксплуатации указана до 90°, да и держать температуру даже на 80° уже было сложно.
Изображение
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

А сопротивление непосредственно мультиметром измерялось в режиме измерения сопротивлений? Я не знаю как Ваш, но обычно они тоже врут по каким-то внутренним причинам. Обычно, чтобы прецизионно измерять сопротивления используют мостовую схему и магазин эталонных сопротивлений (там куча переключателей 0...9 на каждый разряд сопротивления), но да ладно.

В вашем случае можно было бы калибровать непосредственно в устройстве, измеряя сопротивление в некоторых условных единицах, численно равных показаниям АЦП. Однако, необходимо, чтобы эти показания были пропорциональны реальным значениям сопротивления (без постоянного смещения). Тогда коэффициенты a, b и c будут такими, что не надо будет пересчитывать показания АЦП сначала в сопротивление, а потом в температуру. Но над линейностью и температурной стабильностью электрической части надо будет постараться.

Я бы реализовал на ОУ и маломощном транзисторе источник тока, которым бы питал датчик-терморезистор. Напряжение с него подавал бы непосредственно на АЦП для измерения. Ток надо выбрать достаточно малым, чтобы при минимальной поддерживаемой температуре напряжение на термисторе не превышало опорного напряжения АЦП, но в то же время достаточно большим, чтобы при высоких температурах напряжение на термисторе было гораздо больше дискретности измерения напряжения. Эталонное напряжение для источника тока можно брать непосредственно с вывода опорного напряжения АЦП (куда внешний конденсатор подключается). Это решит проблему калибровки двух приборов измерительных приборов -- источника тока и вольтметра - АЦП. То есть, если опорное напряжения будет плавать, то сразу у двоих и это не изменит показаний. Останется только позаботится о температурной стабильности ключевого резистора в генераторе тока.

И всё-таки как Вы добились температуры в термосе равной 50, 60, 80 градусов так точно?
Аватара пользователя
Nyan Cat
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 24, 2014 22:37:31
Откуда: Ясиноватая

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение Nyan Cat »

B@R5uk писал(а):А сопротивление непосредственно мультиметром измерялось в режиме измерения сопротивлений? Я не знаю как Ваш, но обычно они тоже врут по каким-то внутренним причинам. Обычно, чтобы прецизионно измерять сопротивления используют мостовую схему и магазин эталонных сопротивлений (там куча переключателей 0...9 на каждый разряд сопротивления), но да ладно.

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

Вот блин нюанс какой, схема прибора у меня только в протусе накидана, и всё застряло на прошивке atmega8. Схему измерения хотел использовать самую примитивную, так как один из готовых приборов подарю. Да и не нужна большая точность. Для себя возможно что-то похитрей доделаю... нужно посмотреть какой ОУ у меня уже есть.
И всё-таки как Вы добились температуры в термосе равной 50, 60, 80 градусов так точно?

Измерял с меньшей температуры (изначально понизил температуру небольшими кусочками льда), постепенно подливая кипяток. Например с 35 до 40 подлил немного воды, перемешал, подождал пока прогреется резиновый клей, опядь подлил... а когда 42 добился (повышается сразу на несколько градусов), уже понижал помешиванием холодной ложкой. Помешаю, кину ложку в лед, жду немного, если температура мало упала, то повторяю фокус с холодной ложкой. До 40,20 уже оставляю ложку в термосе и помешивая жду спада температуры. Когда появляется 40,06 - вытаскиваю ложку и закрываю термос. Жду когда упадет до 40 и подержится. Ну и слежу за показаниями мультиметра. Вот так :)

PS
В мультиметре ещё есть режим измерения температуры, так вот, при каждой записи проверял что температура выдвваемая мультимерта не изменилась (22).
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Формула Стейнхарта-Харта (Термистор + arduino)

Сообщение B@R5uk »

Nyan Cat писал(а):Вот так :)
Ну, это было довольно жестоко. На самом деле совершенно не важно, если бы температура была не круглой, а шаг между измерениями плавал в два раза. Не накладывая на себя такие жёсткие требования было бы проще проводить измерения, особенно по времени, и их можно было бы сделать больше. За то, пощупали термодинамику, что называется, своими руками. :)))

Nyan Cat писал(а):схема прибора у меня только в протусе накидана
Можно глянуть?
Nyan Cat писал(а):и всё застряло на прошивке atmega8
Можно для начала выводить на экран просто показания с АЦП без всяких пересчётов. Они как раз будут нужны для расчёта калибровочных коэффициентов.
Ответить

Вернуться в «Теория»