Сайт радиолюбителей Республики Коми.
Термометр с функцией таймера с датчиком DS18B20 фирмы MAXIM.
На главную Главная

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

Применение современной элементной базы - микроконтроллеров и специальных датчиков - значительно упрощает схемотехнику устройства с одновременным повышением функциональности и точности измерений. Принципиальная схема предлагаемого термометра изображена на рис. 1. Его основа - популярный микроконтроллер (МК) PIC16F84A (DD1). Для измерения температуры использован интегральный цифровой датчик (ВК1) DS18B20 фирмы MAXIM. Эта микросхема не требует калибровки и позволяет измерять температуру окружающей среды от -55 до +125°С, причем в интервале -10...+85°С производитель гарантирует абсолютную погрешность измерения не хуже ±0,5°С.

Датчик DS18B20 - наиболее совершенный из широко известного семейства DS18X2X, выпускавшихся ранее под маркой Dallas Semiconductor. В отличие от функциональных аналогов DS1820 и DS18S20 он перед началом измерения позволяет задать необходимую относительную точность преобразования температуры из следующего ряда значений: 0,5; 0,25; 0,125 и 0,0625°С, при этом время измерения равно соответственно 93,75; 187,5; 375 и 750 мс.

Рис.1.

Принцип действия датчика DS18X2X основан на подсчете числа импульсов, вырабатываемых генератором с низким температурным коэффициентом во временном интервале, который формируется генератором с другим температурным коэффициентом, при этом внутренней логикой датчика учитывается и компенсируется параболическая зависимость частот обоих генераторов от температуры.

Обмен управляющими командами и данными между датчиком ВК1 и МК DD1, работающим на частоте 4 МГц, осуществляется по однопроводной двунаправленной шине передачи данных 1-Wire. Каждый экземпляр DS18В20 имеет уникальный 48-битный номер, записанный с помощью лазера в ПЗУ в процессе производства, что позволяет подключать к одной шине практически любое число таких приборов. Ограничивающим фактором является в основном только общее время, затрачиваемое на последовательный опрос всех датчиков, подключенных к сети.

С периодом, равным 1с, МК DD1 посылает датчику ВК1 команду на запуск процесса измерения температуры с точностью 0,0625°С и получает от него результат предыдущего замера. Принятый отдатчика 12-битный код, соответствующий измеренной температуре, преобразуется в десятичную форму, округляется до десятых долей градуса и выводится на светодиодный индикатор HG1 в динамическом режиме.

Подачей напряжения лог.0 на один из выходов RA0, RA1 или RA2 МК включает соответствующий разряд индикатора, выводя при этом на выходы RB0-RB6 семиэлементный код отображаемой в данном разряде цифры. Управление точкой на индикаторе, отделяющей целую часть отображаемой температуры от десятичной, МК производит через выход с открытым стоком RA4. Период отображения всех трех разрядов индикатора составляет примерно 12,3 мс (частота - 81 Гц).

Так как в приборе применен трехразрядный индикатор, в интервале от -19,9 до +99,9°С температура отображается с точностью до 0,1°С, а в интервалах -55...-20 и +100...+125°С - с точностью до 1°С. Кроме того, в этих интервалах абсолютная погрешность измерения температуры возрастает до ±2°С. поэтому отображение температуры с точностью до десятых долей градуса теряет смысл.

В конце каждого периода отображения информации на индикаторе МК проверяет состояние кнопок SB1 и SB2, для чего на выходах RA0-RA2 устанавливает напряжение высокого логического уровня (это соответствует отключению всех разрядов индикатора HG1), а на выходе RA4 - напряжение лог.0. Разряды RB5, RB6 перенастраиваются на ввод, при этом к ним подключаются внутренние “подтягивающие” резисторы, соединенные с шиной питания +5В.

Таким образом, при нажатии на кнопку SB1 или SB2 высокий логический уровень напряжения на RB5, RB6 сменяется низким, что и отслеживается МК. Подключенные к этим разрядам элементы светодиодного индикатора не оказывают существенного влияния на состояние указанных входов МК, поскольку ток в обратном направлении через них пренебрежимо мал. Удержание кнопок в нажатом состоянии не влияет на работу индикаторов в период отображения информации, так как ток между выходами RA4 и RB5, RB6 через кнопки SB1, SB2 ограничен резисторами R4, R5.

Питается прибор от сети переменного тока напряжением 220В через балластный конденсатор С3. Благодаря диодному мосту VD1 через стабилитрон VD2 проходят обе полуволны сетевого напряжения. В результате значительно снижаются пульсации напряжения на конденсаторе С5 и становится возможным уменьшить емкость конденсатора С3, от которой зависит максимальный ток, отдаваемый источником питания в нагрузку.

Времязадающая цепь R1C4R2 формирует паузу перед запуском МК, необходимую для того, чтобы после включения устройства в сеть напряжение на конденсаторах С5, С6 успело возрасти до уровня, обеспечивающего нормальную работу МК. При включении звукового сигнала, когда вступает в работу каскад на транзисторе VT1 с включенным в его коллекторную цепь звукоизлучателем НА1, потребляемый устройством ток значительно увеличивается, поэтому в программе МК предусмотрено отключение индикатора на время подачи сигнала.

Питается этот каскад энергией, накопленной в конденсаторе С5, что приводит к большим “просадкам” напряжения на нем. Для поддержания стабильного напряжения питания МК и датчика температуры в устройство введены интегральный стабилизатор напряжения DA1 и оксидный конденсатор большой емкости С6. Если звуковая сигнализация не нужна, микросхему DA1 и конденсатор С5 можно исключить, но в этом случае Д815Е (VD2) необходимо заменить стабилитроном Д815А с напряжением стабилизации 5,6 В.

Коды “прошивки” ПЗУ МК для термометра с функцией таймера приведены в таблице 1. При нажатии на кнопку SB1 подается короткий звуковой сигнал и на индикаторе появляется значение оставшегося времени до подачи звукового сигнала или 0 (в младшем разряде), если время в таймере не было установлено. Требуемую выдержку времени (в пределах 1 ...99 мин) вводят нажатием на кнопку SB2 (не отпуская SB1). При этом показания индикатора начинают автоматически увеличиваться с частотой 2Гц. По достижении нужного значения кнопки отпускают. Возврат к показаниям температуры происходит через 1с. после отпускания кнопки SB1. По окончании заданного времени устройство в течение 10с. подает прерывистый звуковой сигнал частотой 1500 Гц.

В таблице 2 приведены коды “прошивки” МК, наделяющей описываемый прибор функцией управления термостатом, поддерживающим заданную температуру в контролируемой среде с точностью ±1°С. Просмотр и установка температуры (в интервале -54...+124°С) осуществляются, как и в предыдущем случае, с помощью кнопок SB1 и SB2. Заданное значение температуры сохраняется в энергонезависимой памяти данных МК и загружается из нее при каждом последующем включении устройства в сеть.

При работе устройства с термостатом сигнал для управления нагревателем или компрессором холодильника снимается с выхода RA3, при этом вместо каскада на транзисторе VT1 устанавливают оптосимисторное реле, управляющее питанием исполнительного устройства или контактора, который, в свою очередь, подключает нагреватель или компрессор к электросети. Схема возможного варианта такого реле показана на рис.2.

Рис.2.

Приведенная в таблице 2 “прошивка” МК рассчитана на управление нагревательным элементом. К примеру, если заданная температура в термостате равна +30°С, то на выходе RA3 МК появится сигнал лог.1 (соответствует включению нагревателя) при понижении температуры контролируемой среды ниже +29 °С, но как только температура поднимется до +31°С, нагреватель будет отключен. Таким образом, гистерезис между включением и выключением нагревателя составляет 2°С.

За его величину “отвечает” первый подчеркнутый байт (02) в таблице 2: если его заменить на “01“, гистерезис уменьшится до 1°С, а если на “03”, увеличится до 3°С и т. д. Чем меньше гистерезис, тем точнее будет поддерживаться заданная температура в контролируемой среде, но чаще будут повторяться циклы включения-выключения исполнительного устройства, и наоборот.

При управлении компрессором холодильника сигнал лог.1 на выходе RA3, включающий систему охлаждения, должен появляться, если температура превысит заданный предел, и сменяться уровнем лог.0, как только температура опустится ниже указанного предела, опять же с учетом гистерезиса, заданного значением первого подчеркнутого байта в таблице 2. Для реализации этого режима работы подчеркнутые 2, 3 и 4-й байты таблицы нужно заменить соответственно на “19”, “15” и “11”. При программировании МК необходимо указать: тип генератора - HS, таймеры WDT и PWRT - включены.

Детали

Все детали термометра монтируют на печатной плате из двусторонне фольгированного стеклотекстолита - рис.3. Плата рассчитана на установку резисторов МЛТ, конденсаторов КД (С1, С2), К73-17В с номинальным напряжением 400 В (С3), КМ (С7) и К50-35 (остальные). Для уменьшения габаритов устройства детали устанавливают на обеих сторонах платы (там, где указаны их позиционные обозначения). В отверстия контактных площадок, помеченных на чертеже рядом стоящей точкой, при монтаже впаивают проволочные перемычки (их функцию выполняет также вывод конденсатора С7).

Рис.3.

Трехразрядный светодиодный индикатор HG1 собран из трех одноразрядных LSD3212-20 (зеленого цвета свечения) и может быть заменен любым другим с потребляемым током не более 20 мА на элемент (сегмент). Перед установкой на место выводы 12 индикаторов обрезают в непосредственной близости от корпуса. Интегральный стабилизатор 78L05 (DA1) заменим любым другим с напряжением стабилизации +5В. Звуковой капсюль-излучатель НА1 - любой малогабаритный с обмоткой сопротивлением 8...25 Ом (автор использовал электромагнитный излучатель НС0903А).

Если предполагается использовать термометр в жестких климатических условиях, оксидные конденсаторы С5 и С6 следует выбрать с расширенным температурным диапазоном (с маркировкой на корпусе “+105°С” или выше), а МК PIC16F84A - исполнения E/R обозначающего, что данная микросхема может работать при температуре от -40 до + 125°С. Смонтированную плату термометра в этом случае помещают в герметичный пластмассовый корпус и заливают герметиком (например, эпоксидной смолой).

Конструкция

Отверстия для кнопок с внутренней стороны заклеивают куском тонкой резины, после чего с обеих сторон получившейся резиновой мембраны, над кнопками SB1 и SB2, наклеивают пластмассовые кружки диаметром, несколько меньшим диаметра отверстий в корпусе. Таким образом, обеспечивается полная изоляция элементов устройства от внешней среды. При использовании устройства в обычных условиях герметизацию можно не делать.

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

Скачать исходные тексты программ прошивки микроконтроллера PIC16F84A - zip 19kb.

С. Коряков

Р10-2003

На главную Главная
Rambler's Top100 Rambler's Top100 стеклянная мозаика оптом . зпифы недвижимости сохранение капитала - финансовое управление активами. Рейтинг ресурсов УралWeb
Hosted by uCoz