[an error occurred while processing this directive] [an error occurred while processing this directive]
Об измерении температуры с помощью DS18#20 (для Сергея Зорина) (+).
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Ольховский Алексей 25 ноября 2001 г. 13:48

Сергей, теперь все понятно по поводу того, что именно Вы используете в качестве DS1820. Дело в том, что прибор в корпусе ТО-92, маркированный как DS1820 – это DS18S20. Поскольку я не знаю точно, что именно Вы используете в качестве программы обработки показаний с датчика маркированного DS1820, то смею предположить, что Вы пользуетесь программной, подготовленной для устаревшей версии DS1820. Действительно эти приборы полностью программно совместимы, но есть одно маленькое но… Дело в том, что время преобразования у DS1820 и DS18S20 - различные, и это обязательно следует учитывать при программной реализации кода обслуживания этих термометров. Наверняка Ваша программа обработки показаний с DS18B20 реализована с учетом этой задержки на преобразование , т.к. создавалась именно с учетом особенностей этого прибора, а программа для DS18S20 –, скорей всего, в лоб переписана с алгоритма для DS1820, и поэтому ее результаты ошибочны.
В подтверждение своих слов решил провести у себя на столе маленький эксперимент. И хотя я точно знаю результат этого эксперимента , поскольку уже неоднократно убеждался в этом, мне ничего не стоило взять и собрать у себя на столе микросистему MicroLAN (кстати это так элементарно благодаря наличию у нас на складе уже готовых однопроводных ML-элементов, которые соединяются за 2-3 минуты обычным телефонным кабелем в любых комбинациях (см. http://www.elin.ru/microlan/04.htm )), состоящую из адаптера ML97U-009 – аналога DS9097U и 5 термометров ML20B (DS18B20), 2шт.ML20 (DS1820), 3шт. (DS18S20) и даже 2шт. ML38 (DS2438) (термометр встроенный в этот прибор не калибруется при производстве и поэтому на него погрешность нормирована на уровне +/- 2гардС). Все подключил на паразитном питании к компьютеру и запустил стандартный пакет от Dallas Semic. iButton TMEX версии 3.20, в котором реализованы корректные коды обслуживания для всех этих устройств. И не смотря на абсолютную справедливость всех положений о процедуре поверки термометров, изложенных ниже уважаемым stampом, видимо благодаря тому, что все 1-Wire-приборы в нашем ЬД-исполнении находятся в корпусах, результаты имеют достаточно небольшой разброс. Привожу показания, зафиксированные мной. Они по-моему красноречивей всяких объяснений:
Время 9.40
DS18B20 – 21,563 градC
DS18B20 – 21,563 градC
DS18B20 – 21,313 градС
DS18B20 – 21,563 градC
DS18B20 – 21,313 градС
DS1820 – 21,3 градС
DS1820 – 21,5 градC
DS18S20 – 21,3 градС
DS18S20 – 21,3 градС
DS18S20 – 21,4 градС
DS2438 – 20,6 градС
DS2438 – 20,8 градС

Время 11.30
DS18B20 – 21,688 градC
DS18B20 – 21,563 градC
DS18B20 – 21,438 градС
DS18B20 – 21,563 градC
DS18B20 – 21,375 градС
DS1820 – 21,4 градС
DS1820 – 21,5 градC
DS18S20 – 21,4 градС
DS18S20 – 21,4 градС
DS18S20 – 21,5 градС
DS2438 – 20,8 градС
DS2438 – 21,0 градС

Время 13.40
DS18B20 – 21,813 градC
DS18B20 – 21,750 градC
DS18B20 – 21,625 градС
DS18B20 – 21,688 градC
DS18B20 – 21,500 градС
DS1820 – 21,5 градС
DS1820 – 21,6 градC
DS18S20 – 21,5 градС
DS18S20 – 21,7 градС
DS18S20 – 21,6 градС
DS2438 – 21,2 градС
DS2438 – 21,4 градС
PS: Прошу учесть еще и то обстоятельство, что лично я проделываю подобные эксперименты (по просьбам «трудящихся») 1-2 раза в месяц, и всегда с неизменным результатом.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru