на главную
Карта сайта
English version
Вы читаете:

Особенности использования датчиков температуры DS18S20

Справочник
10 месяцев назад

Особенности использования датчиков температуры DS18S20


При использовании датчиков температуры DS18S20 обычно задают продолжительность интервала (времени) конвертирования 750 мс, но можно контролировать время преобразования и по состоянию информационной линии. Дело в том, что после подачи команды конвертирования температуры устройство управления должно контролировать бит состояния, который выдаёт датчик DS18S20. Если DS18S20 отвечает лог. 0, конвертирование идёт, если лог 1 - конвертирование выполнено, и можно считывать температуру. Это описано в технической документации на датчик [1, 2].

Мне было интересно провести измерение реального времени конвертирования по контролю бита состояния. Подключив осциллограф, я не смог этого сделать. На рис. 1 это должно произойти в момент времени Т1, но там начался импульс сброса процедуры инициализации. Это стало хорошо видно на рис. 2 в момент Т2, где я добавил паузу в 1 мс (Т1-Т2). У меня в это время была программа по опросу датчиков DS18S20 один раз в 10 с.

Рис. 1.

 

Рис. 2.

 

Рис. 3.

 

Была разработана программа опроса датчика DS18S20 с паузой между опросами 50 мс и записью результатов в EEPROM микроконтроллера. Ограничился 20 измерениями. На рис. 3 видно, что первые 12 замеров равны 55h. Это, по умолчанию, константа датчика - +85 оС. Затем идут нормальные данные - 12 измерений с периодом 50 мс, а это не меньше 600 мс. Значит, датчику DS18S20 необходимо дать время на преобразование. Изменил программу так, что после первого измерения идёт пауза в 750 мс и затем идут 20 измерений с паузой между опросами 50 мс. В результате на рис. 4 видно, что первый замер - 55h, а потом поступают реальные данные. Пробовал уменьшить паузу после первого замера до 450 мс, но первые пять замеров оказались 55h (рис. 5). Провёл измерения с уменьшением паузы между опросами до длительности команды на запись в EEPROM. Создалось впечатление, что датчику DS18S20 для запуска конвертации необходимо дать команду конвертирования температуры [44h] и время в 750 мс, а затем конвертация идёт непрерывно, и по следующим командам [44h] текущая информация записывается в выходные регистры.

Рис. 4.

 

Рис. 5.

 

По результатам можно сделать вывод, что при необходимости датчик DS18S20 способен измерять температуру с паузой между опросами в длительность команды на запись в EEPROM, но спустя 750 мс после первого опроса. Этого можно добиться включением паузы 750 мс после первого опроса либо игнорировать первые замеры. Практического применения такой быстрый опрос может не иметь из-за большой тепловой инерции датчика. Но когда нужно опросить много датчиков, можно не ждать 750 мс при каждом опросе.

Это всё сказано о режиме полного питания (трёхпроводная схема). Возможен "паразитный" режим питания (двухпроводная схема). Для этого по рекомендации производителя нужно подать высокий уровень (напряжение питания) в течение всего времени температурного преобразования и приведена схема с полевым транзистором (fig. 6 в [1]).

Но можно обойтись и без него, подав питание от микроконтроллера. Угрозы линии порта, к которому подключён датчик DS18S20, нет, потому что при инициализации происходит контроль датчика, и в случае ошибки программа прекращает работу. Согласно технической документации, питание на датчик нужно подать не позднее чем через 10 мкс после завершения команды конвертирования температуры [44h]. Для этого в порт записывается лог. 1, и порт переключается на выход после задержки в 750 мс, затем он переключается на вход, и подаётся команда инициализации.

Литература

1.DS18S20 High-Precision 1-Wire Digital Thermometer. - URL: https://datasheets. maximintegrated.com/en/ds/DS18S20.pdf (17.11.21).

2. Считываем показания датчика DS18B20(DS18S20).-URL:https://cxem.net/ardumo/ardumo17.php (17.11.21).

Автор: В. Афонин, пос. Стрельна, Санкт-Петербург

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:

Поля, обязательные для заполнения

Изготовление печатных плат