У меня нет проминьки, что там в этом месте у неё стоит. Не оно греет (и кстати. об умении собирать - вот. пожалуйста).
Вот знаете, что напрягает? Если нужна по сути температура платы ардуиновской, то нафига даллас вообще? 328-ая ведь и сама умеет температуру мерять. Чего этим-то не пользоваться?
Да стабилизатор там стоит, и подогревает датчик )))
Продолжаем совершенствовать код ;)
ПС. Я такие датчики опрашую по очереди по циклу. Получается период опроса если один 0,75сек а если 3 шт то 2,25сек. При этом показания датчика не меняются хоть он один хоть их три. Вывод: саморазогрев не наблюдается.
Ну тогда не помешает спросить как и чем питается плата? если от кроны, то действительно нагрев на 4-6 градуса у вас божеский, запихайте платку в плотный мешочек (или между двумя ватными пластинками положите) - будет совсем весело.
Поднимем вопрос. Что имеем: четыре далласа, подключенные к разным пинам, Датчики из одной партии, разброс по параметрам до 1,2 градусов, вместо обящанных 0,5 производителем. Если подкорректировать показания в одном температурном диапазоне, скажем в районе 36,6 градусов, то в остальных показания разбегаются, так при температуре 24,5 градусов снова показания разные, какие будут мысли как их синхронизировать? создавать разные таблицы, для каждого датчика и его диапазона? Все датчики подключены одинаково, равной по длине проводами, лежат рядом на столе.
//#include <avr/wdt.h>
#include <Wire.h>
#include <EEPROM2.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
//LiquidCrystal_I2C lcd(0x27, 16, 2); // инициализация библиотеки дисплея
LiquidCrystal_I2C lcd(0x3F, 16, 2); // инициализация библиотеки дисплея
#include <SPI.h>
#include <SD.h>
File myFile;
#define pinds1 14 //пины для подключения Далласов
#define pinds2 15
#define pinds3 16
#define pinds4 17
int temp[4];//текущая температура в термометрах
int tempCorrect[4]={0,0,0,0};//температура корректировки текущего термометра
//int memorytempCorrect[4]={18,20,22,24};// место в памяти где храним температуру корректировки текущего термометра
unsigned int id=0;
uint8_t secund = 0;
uint8_t oldsec = 0;
//uint8_t old2sec = 0;
uint8_t old10sec = 0;
int memoryday_Loger[4]={10,12,14,16};
//#define histeresis 10 //Это гистерезис = 1 градус цельсия
int day_Loger[4] ={0,0,0,0}; //массив для хранения текущих дней в обычном исчислени 1,2,3,
int currentdayRTC = 1; // текущий день
int oldcurrentdayRTC = 1; // предыдущий день
//Если на 1-шине сидит один датчик, то его ID знать не требуется!
OneWire ds1(pinds1);// создаем объект ds класса OneWire с единственным параметром номер пина шины OneWire
OneWire ds2(pinds2);
OneWire ds3(pinds3);
OneWire ds4(pinds4);
OneWire *pinds[]={&ds1,&ds2,&ds3,&ds4}; //создаем массив с указателями на отдельные объекты класса OneWire
#define START_CONVERT 0
#define READ_TEMP 1
//#define beeper_pin 6 //пищалка
volatile uint8_t minut=0;
volatile uint8_t chas=0;
volatile uint8_t sec=0;
volatile int den=0;
void setup() {
Serial.begin(9600);
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
// Проверяем, существует ли на карте файл data.csv, если существует, то удаляем его.
if(SD.exists("data.csv")) {
SD.remove("data.csv");
}
// Выводим сообщение о том, что инициализация прошла успешно
Serial.println("initialization done.");
Wire.begin(); // старт I2C
lcd.begin(); // Старт дисплея
// lcd.backlight(); // Включаем подсветку дисплея
// lcd.clear();
welcome();
EEPROM_read(26,currentdayRTC);//Было 22
den=currentdayRTC;
EEPROM_read(28,oldcurrentdayRTC);//Было 24
for (int i=0; i<4; i++){
tempProcess(START_CONVERT,*pinds[i]);//конвентируем
// EEPROM_read(memorytempCorrect[i], tempCorrect[i]);//при перезагрузке ститываем температуру корректировки термометров
EEPROM_read(memoryday_Loger[i], day_Loger[i]); //при перезагрузке ститываем текущийй день
}
// настройкa часов
TCCR1A=(1<<WGM11); //режим14 FAST PWM
TCCR1B=(1<<CS12)|(1<<WGM13)|(1<<WGM12); //делить частоту CPU на 256
ICR1=62499; // (16000000MHz /div256) -1 = 1 раз в секунду
TIMSK1=(1<<TOIE1); //разрешить прерывание
delay(2000);
// wdt_enable (WDTO_8S); //взводим сторожевой таймер на 8 секунд.
}
ISR (TIMER1_OVF_vect) {
sec++ ; //инкремент переменной каждую секунду
if (sec>59){sec=0; minut++; }// disp = (chas * 100) + minut;}
if (minut>59){minut=0; chas++;} // disp = (chas * 100) + minut;} // при записи каждый час хватит памяти на 11 лет
if (chas>23){chas=0;den++; currentdayRTC++;}//readSet();
if (den>36){den=0; } // частный случай для нас не принципиальный,
}
void loop() {
// wdt_reset(); //сбрасываем "собаку"
secund = sec;
if (oldsec != secund) {
thermostat ();// каждую секунду получаем данные с датчиков температуры
oldsec = secund; //
old10sec++;
if (old10sec > 10){
save_Message();
old10sec = 0;
}
lcd.setCursor(0, 0); // устанавливаем курсор в 0-ом столбце, 0 строка (начинается с 0)
lcd.print("T1=");
lcd.print(temp[0]/10);// печать температуры на дисплей temp
lcd.print(".");
lcd.print(temp[0] % 10, 1);
lcd.print((char)223);
lcd.print("T2=");
// lcd.print(day_Loger[1]);
lcd.print(temp[1]/10);// печать температуры на дисплей temp
lcd.print(".");
lcd.print(temp[1] % 10, 1);
lcd.print((char)223);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("T3=");
lcd.print(temp[2]/10);// печать температуры на дисплей temp
lcd.print(".");
lcd.print(temp[2] % 10, 1);
lcd.print((char)223);
lcd.print("T4=");
// lcd.print(day_Loger[2]);
lcd.print(temp[3]/10);// печать температуры на дисплей temp
lcd.print(".");
lcd.print(temp[3] % 10, 1);
lcd.print((char)223);
lcd.print(" ");
// }
}
if (oldcurrentdayRTC != currentdayRTC) { // раз в день читаем настройки заново
for (int i=0; i<3; i++){
day_Loger[i]++;
if (day_Loger[i]>=255) day_Loger[i]=0;
EEPROM_write(memoryday_Loger[i], day_Loger[i]);// записываем новый день в память меги, чтобы не потерять во время сбоя или перезагрузки системы
// EEPROM_read(memorytempCorrect[i], tempCorrect[i]);//раз в день на всякий случай ститываем температуру корректировки термометров
}
oldcurrentdayRTC = currentdayRTC;
EEPROM_write(26,currentdayRTC);
EEPROM_write(28,oldcurrentdayRTC);
}
}
void welcome() {
lcd.setCursor(0, 0);
lcd.print("SMART loger v01");
lcd.setCursor(0, 1);
lcd.print("only for My");
}
void thermostat () {
for (int i=0; i<4; i++){
temp[i]= tempProcess(READ_TEMP,*pinds[i])+tempCorrect[i];//читаем Температуру и корректировку к ней
tempProcess(START_CONVERT,*pinds[i]);
} //тут конец цикла for
// delay(1000);//только для примера
}
//==============================
int tempProcess(boolean ch,OneWire &ds){
int t=0;
if(!ch){
ds.reset();
ds.write(0xCC);
ds.write(0x44);
}
else{
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
t= ds.read();
t = t | (ds.read()<<8);
//return t>>4;//целые *C, десятые отброшены
//return (t+8)>>4;//целые *С с округлением
return (t*10)>>4;//целое в десятых *C (214=>21,4*C)
}
}
//пищалка////////////////////////////////////////////////////////////////////////
void beeper(int duration) {
// tone(beeper_pin, 2000, duration);
}
void save_Message() {
id=id+1;
Serial.print(temp[0]);
Serial.print(";");
Serial.print(temp[1]);
Serial.print(";");
Serial.print(temp[2]);
Serial.print(";");
Serial.print(temp[3]);
Serial.print(";");
Serial.println(id);
myFile = SD.open("data.csv", FILE_WRITE);
// delay(500);
// if the file opened okay, write to it:
if (myFile) {
// Serial.print("Writing to data.csv...");
myFile.print(temp[0]);
myFile.print(";");
myFile.print(temp[1]);
myFile.print(";");
myFile.print(temp[2]);
myFile.print(";");
myFile.print(temp[3]);
myFile.print(";");
myFile.println(id);
// close the file:
myFile.close();
// Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening data.csv");
}
}
Поднимем вопрос. Что имеем: четыре далласа, подключенные к разным пинам, Датчики из одной партии, разброс по параметрам до 1,2 градусов, вместо обящанных 0,5 производителем. Если подкорректировать показания в одном температурном диапазоне, скажем в районе 36,6 градусов, то в остальных показания разбегаются, так при температуре 24,5 градусов снова показания разные, какие будут мысли как их синхронизировать? создавать разные таблицы, для каждого датчика и его диапазона? Все датчики подключены одинаково, равной по длине проводами, лежат рядом на столе.
Сперва поставьте корректно эксперимент. Датчики очень чувствительные, а значит, берем коробку с достаточно высокими бортами, на дно вату или пенопласт, укладываем датчики рядком, прикрываем чем нибудь сверху (лучше прозрачным) на полчасика. Дальше делаем выводы, у меня из одной партии расходились в пределах одной десятой. Они на малейший сквознячок реагируют.
И, кстати, "один на +0,6 градуса, другой на -0,5" - это практически и есть штатная погрешность "плюс/минус 0.5" - что вас не устраивает, непонятно.
Причем я таких разбегов пока и не видел ни разу, хоть в одной, хоть в разных партиях, при среднекомнатной температуре обычно в пределах 1-4 единиц младшего разряда. На краях диапазона не проверял, как то не требовалось.
Я должен померить и записать температуру в разных точках рефрижиратора(пока он едет по нашей необъятной стране), как она там менялась во времени и никто в нем идеальные условия создавать не будет, разбег до 0,5 градуса меня устраивает(хотя лучше бы 0,1 градуса), а вот в 1,2 уже нет. Возможно отказаться от Далласов и на термисторы переходить? У кого есть опыть поделитесь инфой? Далласы брал из разных партий, разбеги в разных температурных диапазонах разные.
Так причем здесь далласы, вы либо делаете среднюю по рефрижератору, либо действительную в каждой точке. Сейчас у вас действительная в каждой точке стола на текущий момент. Обусловлена температурами поверхности, движением потоков воздуха, тепловым излучением от батарей, ламп, вас и т.д. Долго коробку из под обуви найти?
Я должен померить и записать температуру в разных точках рефрижиратора(пока он едет по нашей необъятной стране), как она там менялась во времени и никто в нем идеальные условия создавать не будет, разбег до 0,5 градуса меня устраивает(хотя лучше бы 0,1 градуса), а вот в 1,2 уже нет.
вы пишете откровенную ерунду. У меня в комнате с закрытыми окнами и без явных сквозняков температура постоянно гуляет на 2-3 градуса. В вашем рефрижераторе температура, скажем у двери и у компрессора тоже будет отличаться градуса на 3-4 - а вы какие-то десятые пытаетесь ловить. Ставьте 2-3 датчика в разных углах и усредняйте.
Да в коробке уже давно, все вместе, еще и в полотенце завернутые, один рядом к другому, то что было 1,2 градуса стало 0,8, при температуре 24 градуса и 0,2 при 36,6.
lean_74 - вы никак не можете понять простую вещь - температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
Тогда непонятно, с чего вы решили, что вам Далласы подойдут с их 0.5 погрешности. Вам нужны другие датчики, как минимум с точностью 0.05 градуса. Думаю, найти будет не просто.
Может проще будет заказчику мозги вправить, что в рефрижераторе такая точность лишняя? (что, в принципе, на самом деле так и есть)
температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
))))) Да еще вопрос, то что я их подключил на аналоговые пины, а не на цифровые, может как - то повлиять?, мне на аналоговые просто плату было проще развести.
))))) Да еще вопрос, то что я их подключил на аналоговые пины, а не на цифровые, может как - то повлиять?, мне на аналоговые просто плату было проще развести.
нет, там цифровой протокол - он либо работает либо нет. Контрольную сумму пакета только не забывайте проверять.
тут или заказчик прибацанный или автор что то не договаривает.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
еще это часто используется на тендерных конкурсах - в требования включается какой-то не слишком существенный параметр, обеспечить (или просто подтвердить сертификатом) который может только один, "свой" исполнитель. Внешне все честно - а тендер ушел кому надо.
Два далласа. Борщ (густой, без перемешивания). Медленное кипение. 5л емкость .датчики пучком, в одном месте все. Одинаковые показания.
Пробовал потом на всей партии - 30 штук ( по пять одновременно) . Показания в группе были одинаковы до второго знака минуты через три после погружения.
тут или заказчик прибацанный или автор что то не договаривает.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
Не обязательно. "Не ищите злой умысел там..."
Заказчик может просто не понимать элементарных вещей (которые на самом деле не элементарны). На китайских комнатных термометрах младший разряд 0,1 град. - вот он и в ТЗ это записал. То, что это и не "точность", и не "погрешность", он может не подозревать.
==========
а вообще интересная тема - как народ верит цифровым приборам.
Так перевести далласы в 12-битный режим и будут там сотые градуса, а заказчик пусть в своих фурах вымеряет температуру в углах поверенным и сертифицированным прибором. Без этого претензий не принимать.
А смысл всего действа? если в начале рефа(у установки) всегда холоднее, т.к там просто холодный воздух выходит при работе, у потолка теплее чем у пола, или может там супер камера с ламинарными потоками от потолка к полу по всей площади пола и потолка? такую тему видел в окрасочных камерах для осаждения отбоя краски
Не знаю актуально ли до сих пор, но столкнулся тоже с саморазогревом этих датчиков.
Решил проблему посадив датчики на отдельный регулятор напряжения 3в и ниже.
Они при 2.2в стабильно работали. Чем ниже напряжение - меньше ток :)
Получил 25 датчиков в гильзах. Датчики все лежали в глухом месте, далеким от сквозняков. Температура около 21 градуса. Снятие температуры производилось по два датчика сразу. Интересовала разность показаний DS18b20 между собой в парах. 19 датчиков имели разброс менее 0,5 градусов (разница в показаниях пары датчиков). Четыре датчика показывали разброс в 0,5 градусов, типа 21,5 и 20,5 градуса. Но два датчика превзошли всех - 33 и 19 градусов!
Решил для себя сделать образцовый термометр с точностью 0,01-0,05 градусов. В прошлом году заказал на пробу у Китая четыре платиновые термосопротивления. На корпусах написано Pt100. При измерении сопротивления при температуре опять таки 19-21 градуса, два показывали одно значение сопротивления, два других - другое. Детально рассмотрю этот эффект чуть попозже, когда соберу преобразователь и можно будет детально разобраться по наклону характеристики, что это за термосопротивления.
"1. После перегрева, вызванного ошибочным подключением или же колдырной пайкой, наблюдается серьезное "плавание" показаний и частый сброс регистров на исходных 85 цельсиев."
МОжет, китаеза перегревает датчики при пайке или при гильзовании? типа, если подогреть до 200 градусов, компаунд быстрее полимеризуется? Кто нибудь перегревал эти датчики?
Измерял сопротивление датчиков тестером обычным. пара датчиков показывала одинаковое сопротивлени, пара других имела отличия в десятые доли Ома. Разница при последующих измерениях сохранялась. Сейчас не буду фоткать датчики, поищу изображение магазина. Провода от датчика типа МГТФ, не могут иметь разницу в сопротивлении десятых долей ома.
Спасибо! Я знаком с этими таблицами. Ну и с метрологией. И вообще с проблемами измерения температуры различными датчиками. Ранее не было потребности разбираться с такими проблемами, платиновые датчики прикупил для ознакомления и с датчиками и китайскими продаванами. Даже если они всучили не те датчики (это выяснится позже), к примеру медные, прибор я все равно сделаю, ибо в этом появилась потребность. Прикупить готовый - вариант не самый лучший для моих целей. АЦП - от аналоговых девиц, Мк- из Пиков... Есть у меня магазины сопротивлений, претендующих на эталоны второго порядка. Ну может быть третьего порядка...
Я не нашел в доступности эталонных лабораторных термометров с делениями в 0,1-0,05 градуса в учебных учреждениях (все переколотили). Новые никто не заказывает , типа термометр со шкалой от 10 до 20 градусов, с шагом в 0,05... Короче - оптимизация и ...! Заказывать через магазины лабораторный термометр за 1,5 тыр - тоже не вариант. А проверять и поверять DS18х20 чувствую - придется. Вобщем, проблему надо решить.
При первичном ознакомлении с датчиками я использовал старый лабораторный термометр с ценой деления 0,1 градус, термометр ГДРовский. Расхождение с градусником было в пределах 0,5 градуса, ну я и успокоился. Это было три года назад.
Лабораторные аналогично надо калибровать (
Сейчас бумажку нашёл в комплекте с градусниками - последняя калибровка была аж в мае 1975 года, средняя поправка в табличке +-0.4 градуса, естественно за 40 лет она явно стала +-градуса, а может и больше.
Кстати, в прошлом году на bme280 собирал домашний градусник - неплохо показывает.
Вот поэтому и хочу собрать термометр лабораторный, для независимости. Сильно облегчит построение систем измерения температуры. ВМЕ280 тоже есть, но к сожалению, плохо переносит суровые условия, в которых придется работать. Буду использовать его только для измерения влажности
Я не нашел в доступности эталонных лабораторных термометров с делениями в 0,1-0,05 градуса в учебных учреждениях (все переколотили). Новые никто не заказывает , типа термометр со шкалой от 10 до 20 градусов, с шагом в 0,05... Короче - оптимизация и ...! Заказывать через магазины лабораторный термометр за 1,5 тыр - тоже не вариант. А проверять и поверять DS18х20 чувствую - придется. Вобщем, проблему надо решить.
При первичном ознакомлении с датчиками я использовал старый лабораторный термометр с ценой деления 0,1 градус, термометр ГДРовский. Расхождение с градусником было в пределах 0,5 градуса, ну я и успокоился. Это было три года назад.
Ну а данный природой термостат + ртутный градусник, чем уж так плохи? Там 0,1-0,2 вроде легко ловится?
тут что-то другое.
У меня нет проминьки, что там в этом месте у неё стоит. Не оно греет (и кстати. об умении собирать - вот. пожалуйста).
Вот знаете, что напрягает? Если нужна по сути температура платы ардуиновской, то нафига даллас вообще? 328-ая ведь и сама умеет температуру мерять. Чего этим-то не пользоваться?
Да стабилизатор там стоит, и подогревает датчик )))
Продолжаем совершенствовать код ;)
ПС. Я такие датчики опрашую по очереди по циклу. Получается период опроса если один 0,75сек а если 3 шт то 2,25сек. При этом показания датчика не меняются хоть он один хоть их три. Вывод: саморазогрев не наблюдается.
Ну тогда не помешает спросить как и чем питается плата? если от кроны, то действительно нагрев на 4-6 градуса у вас божеский, запихайте платку в плотный мешочек (или между двумя ватными пластинками положите) - будет совсем весело.
хрустальный шар отдыхает :)
Поднимем вопрос. Что имеем: четыре далласа, подключенные к разным пинам, Датчики из одной партии, разброс по параметрам до 1,2 градусов, вместо обящанных 0,5 производителем. Если подкорректировать показания в одном температурном диапазоне, скажем в районе 36,6 градусов, то в остальных показания разбегаются, так при температуре 24,5 градусов снова показания разные, какие будут мысли как их синхронизировать? создавать разные таблицы, для каждого датчика и его диапазона? Все датчики подключены одинаково, равной по длине проводами, лежат рядом на столе.
Поднимем вопрос. Что имеем: четыре далласа, подключенные к разным пинам, Датчики из одной партии, разброс по параметрам до 1,2 градусов, вместо обящанных 0,5 производителем. Если подкорректировать показания в одном температурном диапазоне, скажем в районе 36,6 градусов, то в остальных показания разбегаются, так при температуре 24,5 градусов снова показания разные, какие будут мысли как их синхронизировать? создавать разные таблицы, для каждого датчика и его диапазона? Все датчики подключены одинаково, равной по длине проводами, лежат рядом на столе.
Сперва поставьте корректно эксперимент. Датчики очень чувствительные, а значит, берем коробку с достаточно высокими бортами, на дно вату или пенопласт, укладываем датчики рядком, прикрываем чем нибудь сверху (лучше прозрачным) на полчасика. Дальше делаем выводы, у меня из одной партии расходились в пределах одной десятой. Они на малейший сквознячок реагируют.
Да пусть реагируют, лишь бы одинаково реагировали, а то один на +0,6 градуса, другой на -0,5.
На столе не обеспечить равномерный терморежим. Поэтому коробка с нетеплопроводным дном. Если и в ней после стабилизации так же, уже думать.
Да пусть реагируют, лишь бы одинаково реагировали, а то один на +0,6 градуса, другой на -0,5.
Они никогда не будут реагировать одинаково на свозняке. На это не рассчитывайте. Вам посоветовали, как проверить - сначала проверьте, потом спорьте.
И, кстати, "один на +0,6 градуса, другой на -0,5" - это практически и есть штатная погрешность "плюс/минус 0.5" - что вас не устраивает, непонятно.
И, кстати, "один на +0,6 градуса, другой на -0,5" - это практически и есть штатная погрешность "плюс/минус 0.5" - что вас не устраивает, непонятно.
Причем я таких разбегов пока и не видел ни разу, хоть в одной, хоть в разных партиях, при среднекомнатной температуре обычно в пределах 1-4 единиц младшего разряда. На краях диапазона не проверял, как то не требовалось.
Я должен померить и записать температуру в разных точках рефрижиратора(пока он едет по нашей необъятной стране), как она там менялась во времени и никто в нем идеальные условия создавать не будет, разбег до 0,5 градуса меня устраивает(хотя лучше бы 0,1 градуса), а вот в 1,2 уже нет. Возможно отказаться от Далласов и на термисторы переходить? У кого есть опыть поделитесь инфой? Далласы брал из разных партий, разбеги в разных температурных диапазонах разные.
Так причем здесь далласы, вы либо делаете среднюю по рефрижератору, либо действительную в каждой точке. Сейчас у вас действительная в каждой точке стола на текущий момент. Обусловлена температурами поверхности, движением потоков воздуха, тепловым излучением от батарей, ламп, вас и т.д. Долго коробку из под обуви найти?
Я должен померить и записать температуру в разных точках рефрижиратора(пока он едет по нашей необъятной стране), как она там менялась во времени и никто в нем идеальные условия создавать не будет, разбег до 0,5 градуса меня устраивает(хотя лучше бы 0,1 градуса), а вот в 1,2 уже нет.
вы пишете откровенную ерунду. У меня в комнате с закрытыми окнами и без явных сквозняков температура постоянно гуляет на 2-3 градуса. В вашем рефрижераторе температура, скажем у двери и у компрессора тоже будет отличаться градуса на 3-4 - а вы какие-то десятые пытаетесь ловить. Ставьте 2-3 датчика в разных углах и усредняйте.
Долго коробку из под обуви найти?
Да в коробке уже давно, все вместе, еще и в полотенце завернутые, один рядом к другому, то что было 1,2 градуса стало 0,8, при температуре 24 градуса и 0,2 при 36,6.
Вода закипела при 80 гр. С. Он чуть не упал...
спирт кипит при 78 :)
у этих русских из крана течет водка ?
два далласа готовые, собранных в нерж-трубках , погуженные в кастрюлю 5л с варящимся борщем, показывали ноздря-в-ноздрю два знака после запятой.
ЗЫ. Боржч был с говядинкой, доходил на МЕДЛЕННОМ. Огне :)
lean_74 - вы никак не можете понять простую вещь - температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
Ставьте 2-3 датчика в разных углах и усредняйте.
Задача в том и состоит, чтобы узнать эти разницы в разных углах, а не среднюю температуру. Требование в 0,1 градуса - требования заказчика.
температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
Даже так ... никогда бы не подумал...
Требование в 0,1 градуса - требования заказчика.
Тогда непонятно, с чего вы решили, что вам Далласы подойдут с их 0.5 погрешности. Вам нужны другие датчики, как минимум с точностью 0.05 градуса. Думаю, найти будет не просто.
Может проще будет заказчику мозги вправить, что в рефрижераторе такая точность лишняя? (что, в принципе, на самом деле так и есть)
завтра попробую в металлическом корпусе...
температура двух лежащих рядом градусников МОЖЕТ ОТЛИЧАТЬСЯ на градус и больше. То есть температура этих датчиков реально разная - дело не в ошибки измерения.
Даже так ... никогда бы не подумал...
Речь о градусниках, свободно обдуваемых воздухом.
завтра попробую в металлическом корпусе...
опустите их в воду и подождите - должны практически совпасть. Это аналог коробки с ватой.
А на открытом воздухе никогда не совпадут.
Ловить 0,1гр в объеме ж.д. вагона, порекомендуйте заказчику поменять поставщика травы.
Ловить 0,1гр в объеме ж.д. вагона, порекомендуйте заказчику поменять поставщика травы.
))))) Да еще вопрос, то что я их подключил на аналоговые пины, а не на цифровые, может как - то повлиять?, мне на аналоговые просто плату было проще развести.
))))) Да еще вопрос, то что я их подключил на аналоговые пины, а не на цифровые, может как - то повлиять?, мне на аналоговые просто плату было проще развести.
нет, там цифровой протокол - он либо работает либо нет. Контрольную сумму пакета только не забывайте проверять.
Может проще будет заказчику мозги вправить, что в рефрижераторе такая точность лишняя? (что, в принципе, на самом деле так и есть)
да она просто никогда не возможна))))
тут или заказчик прибацанный или автор что то не договаривает.
тут или заказчик прибацанный или автор что то не договаривает.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
еще это часто используется на тендерных конкурсах - в требования включается какой-то не слишком существенный параметр, обеспечить (или просто подтвердить сертификатом) который может только один, "свой" исполнитель. Внешне все честно - а тендер ушел кому надо.
- а тендер ушел кому надо.
тут стоит задуматься. но до сих не обманывали. как-то ровно все было. Да 0,5 градуса, было заранее оговорено.
Далласы брал из разных партий, разбеги в разных температурных диапазонах разные.
Возможно, если бы Далласы были из одной партии, то разброс был бы меньше.
Два далласа. Борщ (густой, без перемешивания). Медленное кипение. 5л емкость .датчики пучком, в одном месте все. Одинаковые показания.
Пробовал потом на всей партии - 30 штук ( по пять одновременно) . Показания в группе были одинаковы до второго знака минуты через три после погружения.
тут или заказчик прибацанный или автор что то не договаривает.
Никакого прибабаца, довольно обычная ситуация. Заказчик включает в ТЗ заведомо невыполнимое требование, чтобы всегда иметь основания не заплатить или заплатить не полностью, а столько, сколько сочтёт нужным. Чуть не половина судебных дел, которые доводилось видеть, были ровно на эту тему.
Не обязательно. "Не ищите злой умысел там..."
Заказчик может просто не понимать элементарных вещей (которые на самом деле не элементарны). На китайских комнатных термометрах младший разряд 0,1 град. - вот он и в ТЗ это записал. То, что это и не "точность", и не "погрешность", он может не подозревать.
==========
а вообще интересная тема - как народ верит цифровым приборам.
Так перевести далласы в 12-битный режим и будут там сотые градуса, а заказчик пусть в своих фурах вымеряет температуру в углах поверенным и сертифицированным прибором. Без этого претензий не принимать.
поверенным и сертифицированным прибором
Обязательно входящим в госреестр средств измерений.
А смысл всего действа? если в начале рефа(у установки) всегда холоднее, т.к там просто холодный воздух выходит при работе, у потолка теплее чем у пола, или может там супер камера с ламинарными потоками от потолка к полу по всей площади пола и потолка? такую тему видел в окрасочных камерах для осаждения отбоя краски
Купил 5 датчиков DS18B20 в нержавейке из под небесной.
Измерения на воздухе плавали с разбегом 3-5 градуса между датчиками
После опускания в воду, через 10 минут:
Делайте выводы! Кто погрешности собрался корректировать...
Не знаю актуально ли до сих пор, но столкнулся тоже с саморазогревом этих датчиков.
Решил проблему посадив датчики на отдельный регулятор напряжения 3в и ниже.
Они при 2.2в стабильно работали. Чем ниже напряжение - меньше ток :)
Слишком часто опрашивали, наверно
Тогда был бы спиртовой кумар!
Дядя прикинул, насколько грязная вода из крана!
Получил 25 датчиков в гильзах. Датчики все лежали в глухом месте, далеким от сквозняков. Температура около 21 градуса. Снятие температуры производилось по два датчика сразу. Интересовала разность показаний DS18b20 между собой в парах. 19 датчиков имели разброс менее 0,5 градусов (разница в показаниях пары датчиков). Четыре датчика показывали разброс в 0,5 градусов, типа 21,5 и 20,5 градуса. Но два датчика превзошли всех - 33 и 19 градусов!
Решил для себя сделать образцовый термометр с точностью 0,01-0,05 градусов. В прошлом году заказал на пробу у Китая четыре платиновые термосопротивления. На корпусах написано Pt100. При измерении сопротивления при температуре опять таки 19-21 градуса, два показывали одно значение сопротивления, два других - другое. Детально рассмотрю этот эффект чуть попозже, когда соберу преобразователь и можно будет детально разобраться по наклону характеристики, что это за термосопротивления.
Чем платину измеряли? Сопротивление провода учли?
Натолкнулся на вероятную причину плаваний показаний на http://forum.homedistiller.ru/index.php?topic=5378.20
"1. После перегрева, вызванного ошибочным подключением или же колдырной пайкой, наблюдается серьезное "плавание" показаний и частый сброс регистров на исходных 85 цельсиев."
МОжет, китаеза перегревает датчики при пайке или при гильзовании? типа, если подогреть до 200 градусов, компаунд быстрее полимеризуется? Кто нибудь перегревал эти датчики?
Измерял сопротивление датчиков тестером обычным. пара датчиков показывала одинаковое сопротивлени, пара других имела отличия в десятые доли Ома. Разница при последующих измерениях сохранялась. Сейчас не буду фоткать датчики, поищу изображение магазина. Провода от датчика типа МГТФ, не могут иметь разницу в сопротивлении десятых долей ома.
с точностью 0,01-0,05 градусов. ... Pt100.
Ознакомьтесь - http://wexon.ru/useful/rezistivnye-termodatchiki-pt100
Спасибо! Я знаком с этими таблицами. Ну и с метрологией. И вообще с проблемами измерения температуры различными датчиками. Ранее не было потребности разбираться с такими проблемами, платиновые датчики прикупил для ознакомления и с датчиками и китайскими продаванами. Даже если они всучили не те датчики (это выяснится позже), к примеру медные, прибор я все равно сделаю, ибо в этом появилась потребность. Прикупить готовый - вариант не самый лучший для моих целей. АЦП - от аналоговых девиц, Мк- из Пиков... Есть у меня магазины сопротивлений, претендующих на эталоны второго порядка. Ну может быть третьего порядка...
Брал недавно два вот таких
https://s.click.aliexpress.com/e/bBcvIpSS
Один врет аж на 10 %
Калибрую советскими лабораторными ртутными градусниками до +-0.5 градуса
Я не нашел в доступности эталонных лабораторных термометров с делениями в 0,1-0,05 градуса в учебных учреждениях (все переколотили). Новые никто не заказывает , типа термометр со шкалой от 10 до 20 градусов, с шагом в 0,05... Короче - оптимизация и ...! Заказывать через магазины лабораторный термометр за 1,5 тыр - тоже не вариант. А проверять и поверять DS18х20 чувствую - придется. Вобщем, проблему надо решить.
При первичном ознакомлении с датчиками я использовал старый лабораторный термометр с ценой деления 0,1 градус, термометр ГДРовский. Расхождение с градусником было в пределах 0,5 градуса, ну я и успокоился. Это было три года назад.
Лабораторные аналогично надо калибровать (
Сейчас бумажку нашёл в комплекте с градусниками - последняя калибровка была аж в мае 1975 года, средняя поправка в табличке +-0.4 градуса, естественно за 40 лет она явно стала +-градуса, а может и больше.
Кстати, в прошлом году на bme280 собирал домашний градусник - неплохо показывает.
Вот поэтому и хочу собрать термометр лабораторный, для независимости. Сильно облегчит построение систем измерения температуры. ВМЕ280 тоже есть, но к сожалению, плохо переносит суровые условия, в которых придется работать. Буду использовать его только для измерения влажности
Я не нашел в доступности эталонных лабораторных термометров с делениями в 0,1-0,05 градуса в учебных учреждениях (все переколотили). Новые никто не заказывает , типа термометр со шкалой от 10 до 20 градусов, с шагом в 0,05... Короче - оптимизация и ...! Заказывать через магазины лабораторный термометр за 1,5 тыр - тоже не вариант. А проверять и поверять DS18х20 чувствую - придется. Вобщем, проблему надо решить.
При первичном ознакомлении с датчиками я использовал старый лабораторный термометр с ценой деления 0,1 градус, термометр ГДРовский. Расхождение с градусником было в пределах 0,5 градуса, ну я и успокоился. Это было три года назад.
Ну а данный природой термостат + ртутный градусник, чем уж так плохи? Там 0,1-0,2 вроде легко ловится?