САЙТ КРЫЛОВА ПАВЛА
Главная
Схемы Ветрогенераторы Собаки Стройка Книги О сельском хозяйстве и прочем


О сельском хозяйстве---->
Механизация и автоматизация сельского хозяйства. Статьи №1-50---->
Механизация и автоматизация сельского хозяйства. Статьи №51-100

Компьютерный термометр с датчиком DS18B20

Д. ФРОЛОВ, г. Рязань

При измерении температуры электронными методами в качестве датчиков используют термопары, платиновые или медные терморезисторы и различные полупроводниковые элементы. Термопары способны работать в очень широком интервале температуры, но требуют компенсации изменений температуры "холодного" спая и применения прецизионных АЦП для преобразования слабых выходных сигналов. Платиновые и медные терморезисторы (термометры сопротивления) наиболее точны, но очень дороги, а для компенсации изменений сопротивления соединительных проводов должны быть подключены к преобразователю по довольно сложной схеме. Полупроводниковые терморезисторы менее точны и подвержены старению. Их широко применяют для измерения температуры в интервале -50...+150 °С с погрешностью ±(1...3) °С.

Сегодня получили распространение миниатюрные полупроводниковые датчики, действие которых основано на измерении частоты колебаний встроенного термозависимого автогенератора. Такие датчики откалиброваны на заводе-изготовителе и передают результат измерения в градусах Цельсия двоичным кодом.

Примером могут служить импортные DS18S20 [1] и DS18B20 [2], снабженные разработанным фирмой Dallas однопроводным (1-Wire) интерфейсом. Каждому экземпляру присвоен уникальный 48-разрядный двоичный номер, который считывают по тому же интерфейсу. Это позволяет, подключив несколько датчиков к общей шине, опрашивать их независимо, осуществляя многоточечный мониторинг температуры [3]. Число датчиков на шине ограничено только мощностью источника питания и необходимым периодом опроса.

Для сбора показаний удобно использовать персональный компьютер. Он не имеет, как правило, адаптера однопроводной шины, поэтому связь с датчиками приходится организовывать по одному из стандартных (для компьютера) интерфейсов. Дальнейшую обработку информации осуществляет программа, что позволяет строить графики, задавать индивидуально каждому датчику допустимые интервалы температуры, при выходе за которые должен быть подан сигнал, и многое другое.

Схема разработанного автором адаптера для подключения устройств с интерфейсом 1 -Wire к СОМ-порту компьютера показана на рис. 1.

Компьютерный термометр с датчиком DS18B20. Принципиальная схема адаптера 1 -Wire к СОМ-порту.

Прототипом послужило устройство, описанное в [4]. Основное изменение — вместо полевых транзисторов установлены "цифровые", что позволило уменьшить число деталей, габариты печатной платы и поместить всю конструкцию в корпус девятиконтактной кабельной розетки, подключаемой к СОМ-порту персонального компьютера.

Печатная плата адаптера изображена на рис. 2.

Компьютерный термометр с датчиком DS18B20. Печатная плата адаптера 1 -Wire к СОМ-порту.

Ее вставляют между рядами выводов розетки XS1, припаивая их к соответствующим контактным площадкам. Имеется одно переходное отверстие, в которое при монтаже вставляют отрезок неизолированного провода, пропаяв его с обеих сторон. Резисторы R1— R3 —типоразмера 0805 для поверхностного монтажа. Диоды VD1, VD2 могут быть любыми из серий КД521, КД522, 1N4148. Импортный стабилитрон можно заменить отечественными КС147А, КС156А в стеклянных корпусах или КС147Г, КС156Г. Датчик соединяют с адаптером трехпроводным кабелем длиной до 10 м.

Программа VT48 для считывания показаний написана на языке Object Pascal в среде визуального программирования Delphi 7. Для работы с последовательным портом программа пользуется функциями специальной динамической библиотеки comapi32.dll.



Файл библиотеки должен находиться в одной папке с исполняемым файлом vt48.exe. В отличие от описанной в [4], предлагаемая программа способна работать не только с датчиками DS18S20, но и со сравнительно новыми и более точными DS18B20.

В окне программы VT48 (рис. 3)

Компьютерный термометр с датчиком DS18B20. Окно программы VT48.

имеются текущее значение температуры и график ее изменения за несколько последних минут. Если включено слежение за допустимостью текущей температуры, на графике красной и синей линиями показаны соответственно верхний и нижний пределы. Когда температура выходит из разрешенного интервала, экран мигает, а в звуковых колонках компьютера звучит сигнал тревоги.

При необходимости программа ведет протокол измерений в файле формата CSV. Содержимое подобного файла может быть введено для дальнейшей обработки, например, в программу Microsoft Excel.

Обнаружено, что у компьютеров с операционными системами Windows 98 и Windows ME скорость обмена информацией с датчиком гораздо ниже расчетной из-за уди вительно медленного (занимающего около 200 мс!) переключения режимов работы порта. Чтобы задержка не сказалась на работе основного потока программы, все процедуры связи с датчиком выделены в отдельный поток и фактически выполняются параллельно другим операциям.

В системах Windows 2000/XP/2003/NT подобный недостаток не обнаружен, поэтому допустимый период опроса датчика зависит только от его собственного быстродействия. При загрузке программа автоматически определяет версию операционной системы и в зависимости от нее выбирает период опроса равным 1 или 2 с. Тип и серийный номер датчика также определяются автоматически.

ЛИТЕРАТУРА
1. DS18S20 High Precision 1-Wire Digital Thermometer. — http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf .
2. DS18B20 High Precision 1-Wire Digital Thermometer. — http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf
3. Фролов Д. Многоточечный мониторинг температуры. Сб.: "Биотехнические, медицинские и экологические системы и комплексы". — Рязань: Рязанская государственная радиотехническая академия, 2003.
4. Ридико Л. Компьютерный термометр на основе датчика DS18S20. — http://www.3dnews.ru/revlews/mainsystem/ thermometer_ds18s20.

От редакции. Программа VT48 и ее исходные тексты находятся на FTP-сервере журнала по адресу ftp://ftp.radio.ru/pub/2004/09/VT48.zip

Похожие статьи.

1)Многоточечный термометр. А. Балахарь.

2)Низковольтный термостабилизатор для улья. С. Косенко.

3)Простой датчик температуры.

4)Автомат для теплицы- термостат для хранения овощей.

5)Экономичный термостабилизатор.

6)Термостабилизатор для инкубатора. Вариант для очень плохой электросети.

7)Термостабилизатор для инкубатора. Вариант для точного поддержания температуры.
altay-krylov@yandex.ru