Датчик температуры врёт
- Войдите на сайт для отправки комментариев
Втр, 09/02/2016 - 15:15
Прикупил вот такой вот датчик температуры
http://roboparts.ru/products/max6675-k-type
Но он врёт. Температура кипячёной воду 110 градусов.
А мне надо точно. Что бы сопадало с ртутным.
Что с ним можно сделать?
Спасибо.
Ну дык протарируй его.
Есть еще DS28B20 -55..125 по даташиту.
Чем измеряли?
При замкнутом входе что показывает?
Какая температура холодного спая?
Измерял градусником обычным. Не сопадает.
Сейчас просто в воду опускаю.
А как измерить темпратуру холодного спая?
Не совсем понял, что такое замкнутый вход? Поясните пожалуйста.
ПС. Я ардуино только недавно начал заниматься, много чего не знаю ((
Спасибо
Обычно температура холодного спая равна температуре вашей окружающей среды ( возможно комнатной)
Замыкают обычно чем-то металлическим.
Например пинцетом, куском провода....
Всё-таки я не пойму, что мне надо сделать, что бы он правильно показывал.
Просто замкнуть его, например пинцетом?
Вот доупустим, я хочу воду в чайнике поменять, мне надо это пинцетом делать?
Я не пойму никак: у вас под рукой нет ничего металлического?
К чему дискуссия, замкните наконец чем-то датчик.
Просто когда замкнёте он должен показать температуру холодного спая.
А вообще-то пишут что всё решается простой калибровкой.
Сейчас нету, датчик дома, а я пытаюсь понять. не сердитесь )))
Те если я зампку датчик, он должен мне показать температуру металла, к ткорому я замкнул датчик?
А как быть с водой? ТОже надо через замыкание железа?
Спасибо!
Он должен показывать температуру вашей микросхемы.
Это холодный спай термопары.
Металл тут не при чём, он не датчик.
Он просто подаст сигнал 0.00000000000 милливольт на вход
Вот тут у меня и есть затык.
Насколько я понимаю, микросхема, изменяет сопротовление на конце провода и в зависимости от этого вычисляет температуру, я правильно понимаю?
Моя микрочхема находиться же далеко от измеряемогог объекта.
Вот я окунаю датчик в воду, что еще надо что бы оно показывало точно?
Что я должен замкнуть.
Уж простите за тупизну )
Какое сопротивление???????????
Термопара выдаёт НАПРЯЖЕНИЕ!!!
http://electrik.info/main/automation/443-datchiki-temperatury-termopary....
https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%BE%D0%BF%D0%B0...
Попробуйте другой датчик. Проверьте показания при комнатной температуре. Покажите скетч. Изучите документацию на микросхему MAX.
При комнатной выше на 3-4 градуса.
Кипяток 110 градусов.
Про другой датчик, тоже думаю надо попробовать.
Счетч дома. Из дома покажу.
Вот скетч, он примитивный
#include "max6675.h" int thermoDO = 2; //он же SO int thermoCS = 3; int thermoCLK = 4; //он же SCK MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO); int vccPin = 5; //пин для питания int gndPin = 6; //пин для земли void setup() { Serial.begin(9600); //активируем питание и землю pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH); pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW); Serial.println("MAX6675 test"); //ждем стабилизации чипа MAX delay(500); } void loop() { //Выводим показания в монитор порта Serial.print("C = "); Serial.print(thermocouple.readCelsius()); Serial.print("; F = "); Serial.println(thermocouple.readFahrenheit()); delay(300); }Далеко - это десятки метров? :) Хотя, судя по даташиту, у нее этот компенсатор холодного спая внутри микросхемы зашит.
Разобраться - как меряет микросхема, возможно ей требуется компенсация сопротивления проводов, или просто откалибровать по двум точкам: кипение воды и таяние снега/льда и ввести поправочные коэффициенты. Но это уже что называется микроскопом гвозди забивать.
http://termodat.msk.ru/article/pervichnyie-preobrazovateli-temperaturyi-termoparyi-i-termosoprotivleniya - Вот немножко теории про термопары и термосопротивления...
http://arduino-diy.com/arduino-termopara - а вот про подключение и борьбу с помехами...
Какая компенсация сопротивления?
термопара- источник ЭДС, как батарейка.
Не будете нагружать- не будет течь ток - не будет падения напряжения на сопротивлении линии.
Георг Ом давно писал как-то об этом явлении...
Поздновато но влезу :)
При измерениях термопарами.
Всегда нужно знать температуру холодного спая.
Имеется ввиду температура места подключения.
Кому интересно могут погуглить метрологию или госты на термопары.
Если нет необходимости измерения высоких температур то стоит забить на термопары.
Как же мерить температуру без этого гемороя?
Вам мерять для Ардуины или для регулирования?
термопара- источник ЭДС, как батарейка.
http://contravt-metodichka.ru/?id=3916
Загрузили, дак загрузили...
Вот покури насчет компенсации Т холодного спая http://www.radioradar.net/hand_book/documentation/terpara.html.
Как вариант или считать Т спая как некую константу или используя датчик меги (в 328 он имеется), строить зависимость.
В промышленных шкафах у нас всегда был датчик который висел в шкафу и по нему была компенсация.
Но там измерялись Т газовой турбины и на погрешность -+ 5 градусов было пофиг.
Датчик в Меге врёт ещё больше чем любой термометр.
В данном случае мелочи,тут хоть примерно знать сколько компенсировать :)
Дак, как понимать солько компенсировать?
А может купить датчик другого принципа действия?
Дак, как понимать солько компенсировать?
А может купить датчик другого принципа действия?
Купи DS18B20 он до 125 градусов и уже с гильзами есть.
Я это сразу посоветовал.
Я это сразу посоветовал.
ТС на тот момент еще не осознал глубину тоннеля, в который залез.)))))
Ну DS28B20 может измерять температуру холодного спая, тогда точность всей балайки только повысится. :)
Дааа. Не понимал ))) ПИД параметры меня пугают
1. Термопара k-типа сама по себе является неточной, погрешность 1.5 градуса в лучшем случае.
2. Ваш датчик не является герметичным, окуная его в воду смотрите, чтобы вода сверху не затекала. Вода замкнет термопару, тем самым повлияет на результат.
3. В MAX6675 уже есть встроенный компенсатор холодного спая, ничего дополнительно шаманить не нужно.
Извиняюсь за пост в старой ветке. Пишу, потому как поиск в интернете дает ссылку сюда.
Сначала коротко: Для связки из термопары тип К, max6675 и библиотеки adafruit max6675.h для Arduino я просто отнимаю от показаний термопары 10 градусов и получаю относительно точные значения температуры.
Теперь подробно. Разъясню про "холодный спай" и его компенсацию. Термопара не градусник, и она не дает значения температуры, она показывает разницу между температурой капли спая и температурой кончиков электродов. Это значит, что при комнатной температуре показание термопары будет равно 0. "Компенсация холодного спая" - это уточнение температуры холодных концов термопары любым сторонним датчиком, чтобы прибавлять его к показанию термопары. И в max6675 такой датчик уже есть.
Однако! Датчик внутри MAX6675 ошибается . Точнее, все мои китайского происхождения микросхемы max6675 купленные в разных магазинах одинакого ошибались в показаниях на 6 градусов.
Однако! Если холодные концы термопары находятся при другой температуре, нежели max6675, то показания внутреннего датчика будут несовпадать с температурой холодных концов термопары. Исключение составляют термопары, подключенные к микросхеме специальным термокомпенсационным проводом. Такое соединение можно условно считать "цельной термопарой с длинющими электродами". Часто термокомпенсационный провод сделан из тех же материалов, что и сама термопара.
Итак, чтобы получить более-менее точные показания необходимо провести калибровку данных, получаемых с микросхемы.
1. Температура холодного спая (датчик внутри микосхемы max6675) дает ошибку в 4-10 градусов. Замкните контакты подключения термопары простым медным проводом, и вы получите значение "комнатной" температуры внутри микросхемы. Сравните показание с любым прибором, которому вы доверяете.
2. Термопары все уникальны, кроме повереных в метрологической службе. Потому необходимо провести уточнение ошибки для конкретной термопары на гарантированных значениях температуры. Первая гарантированная температура - температура человеческого тела 36,6С. Вторая гарантированная температура - кипящая дистиллированая вода 100С. Третья гарантированная температура - тающий лед дистиллированой воды 0С. И четвертая гарантированная температура - комнатная температура, если у вас есть точный градусник. Мои опыты показали, что получить совпадение на всех точках не удается. И потому приходится выбирать поправку к показаниям термопары применительно к конкрентому интервалу температур.
Замечу, что max6675 не способен конвертировать показания термопары ниже 0С и выше +1024С. Потому гарантированная температура тающей воды неприменима конкретно к этой модели цифрового преобразователя.
Замечу еще, что связка из термопары тип K, цифрового преобразователя max6675 и библиотеки для arduino adafruit max6675.h дают случайный разброс показаний в пределах +/- 2 градуса на статичной температуре. Потому использование дистиллированной воды не даст улучшения точности калибровки. Водопроводная вода тоже сойдет. А главное, высокой точности от этого прибора ожидать не стоит в принципе.
И еще пара наблюдений:
если электроды соприкасаются только в точке спая, то нагрев среднего участка электродов (не спай и не концы) не влияет на показания.
Если электроды соприкасаются во многих местах, например скручены, то показания температуры спая от этого не портятся. Но, если нагревать средние точки соприкосновения электродов (не спай и не концы), то в показаниях появятся незначительные ошибки в несколько процентов.