Термистор. Девиации.
- Войдите на сайт для отправки комментариев
Добрый день.
Возникла проблема с термистором, а именно — точное определение электрического сопротивления термистора.
В качестве измерительной схемы используется простой делитель:
Сопротивление термистора рассчитываю по формуле (в качестве известного сопротивления, использую резистор номиналом 100кОм):
В программе это выглядит следующим образом:
double rt, rtt; rtt = analogRead(0); rt = ((102400000/rtt) - 100000);
В результате получаю значение сопротивления термистора, которое затем перевожу в температуру при помощи уравнения Стейнхарта-Харта.
Но именно на шаге вычисления сопротивления возникают непонятные неточности.
Термистор #1:
Очень маленький экземпляр. Вот как проявляется эффект:
Видно, что значение сопротивления колеблется и из-за этого точность температуры заметно падает (хорошо видно на графике / 26.25 - 26.35, отклонения на 0.1).
Термистор #2 (КМТ):
При измерении данного экземпляра видим следующее (AnalogRead — Resistance):
Тоже видны колебания сопротивления
Термистор #3 (503):
Расположен на предыдущей картинке, черный с цифрами 503 на корпусе.
Термистор #4: (расположен в герметичной трубке, наполненной трансформаторным маслом.)
В каждом из 4-х случаев видны колебания. Их можно отнести к колебаниям температуры в воздухе, однако первый экземпляр помещался в воду, а 4-ый вообще находится в герметичной трубке с трансформаторным маслом внутри. Неужели этот эффект можно отнести к нагреву термистора, в следствии прохождения через него измерительного тока?
Хотелось бы выслушать советы, как можно увеличить точность измерения и избежать таких неточностей в измерении сопротивления термистора. Буду рад любым советам.
Спасибо.
больше похоже на цифровую помеху в аналоговую часть контроллера
питание контроллера организовать согласно даташиту
т.к. в схеме используете резистор 100К, то не помешает экранировать всю халабуду датчик-процессор.
ну, и что бы наверняка - керамику 0,1 микрофарад параллельно самому датчику, непосредственно на сам конструктив ног датчика.
Соглашусь с Клапауций, + попробуйте вместо термистора поставить обычный резистор, и посмотреть не проявится ли тот-же эффект. Если да, то это точно наводки.
Поставьте параллельно термистору (или на аналоговый вход) конденсатор, допустим 1 мкФ. И высокочастотные помехи подрежет и колебания напряжения сгладит на период измерения.
Проблема прежде всего с качеством напряжений. Что питающего МК, что опорного. Плюс, неточность самого АЦП. Отстроиться от этого можно решив проблему с питанием и применив оверсемплинг. Последнее, если говорить русским языком, это взятие множества отсчетов с последующим усредненеием результата.