Люди, кто знает, насколько точен DS18B20?
Я сравнивал показания с спиртовыми термометрами, но у них самих огромный разброс. Поместил в один корпус датчик и ртутный термометр - данные отличаются на пару градусов. Если поместить градусник в отверстие корпуса, так чтобы ртутный кончик был внутри, а большая часть с наружи, то показания сближаются.
По данным у него точность должна быть не хуже 0,5 градуса. Кому верить? Как проверить? Пока я программно вычел из полученных данных 2 градуса, но это не выход. Как-то же они используются. Может его калибровать нужно?
Использую готовые функции CodeVision
Цитата
#asm("cli");
TEMPR=ds18b20_temperature(&rom_code[0][0]);
#asm("sei");
J='+';
PORTA.0 = 1; //отключен минус
if (TEMPR<0)
{
J='-';
TEMPR=-TEMPR;
PORTA.0 = 0; //включить '-'
};
REZULT = TEMPR*10-20; //Показать температуру
//Умножить на 10 тк. в indilat() отбросятся дробные части
//-20 т.к по ртутным градусникам получалась ошибка на 2гр
indikat(); //функция разложения числа на 3 цыфры для динамической индикации
Функция динамической индикации отбросит дробную часть, поэтому я умножил резултат на 10. Получаю температуру 372. После 2-го 7-сегментного индикатора светится запятая. Врезултате индицируется 37,2