Универсальный двухканальный термометр на AVR. Двух канальный термометр-термостат Двухканальный термометр с дисплеем siemens a52

Показания датчиков выводятся на HG1 - трехразрядный светодиодный индикатор с общими анодами светодиодов каждого разряда. Двухцветные светодиоды HL1 и HL2 отображают состояние каждого из каналов.

Сигналы управления нагревателями в режиме термостата формируются на выходах микроконтроллера РВ6 (первый канал) и РВ7 (второй канал). Управление двухпозиционное: нагреватель включен или выключен. Для гальванической развязки прибора от исполнительных устройств установлены оптроны U1 и U2. В моем варианте к разъемам Х4 и Х5 подключены цепи управления двух симисторов ВТ139, коммутирующих нагревательные элементы. При необходимости оптроны можно заменить транзисторами, включив в их коллекторные цепи обмотки электромагнитных реле.

В течение 4...5 с после подачи на прибор питания происходит инициализация датчиков и начальный сбор их показаний. В это время поочередно мигают все элементы индикатора HG1. Далее устанавливается режим измерения и отображения температуры. В этом режиме нагреватели выключены.

Показания датчиков на индикаторе чередуются с периодом 5 с. Если температура измерена датчиком, подключенным к разъему Х1, светится светодиод HL1, а подключенным к разъему Х2 - HL2. При этом, если соответствующий канал сконфигурирован как термометр, цвет свечения желтый, если как термостат, то при поданной команде на включение нагревателя он красный, а при ее отсутствии - зеленый.

После нажатия на кнопку SB2 отображаются показания только первого датчика, а после нажатия на SB3 -только второго. Если какой-либо датчик не подключен, в его цепи произошел обрыв, замыкание или температура вышла за пределы 0,1...99,9 °С, на индикатор вместо значения температуры выводится надпись "Err", а соответствующий нагреватель выключается.

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

При кратковременном нажатии на кнопку SB1 восстанавливается режим поочередного отображения температуры в двух каналах. Но если удерживать кнопку SB1 нажатой длительное время, термометр-термостат войдет в режим настройки того канала, во время отображения температуры которого была нажата кнопка.

В этом режиме кнопками SB2 и SB3 выбирают необходимый параметр:

ut1 (ut2) - установка температуры выключения нагревателя в канале 1 (2);
dt1 (dt2) - установка разности температуры(гистерезиса) выключения и включения нагревателя в канале 1 (2).

Например, при установке температуры выключения водонагревателя 35°С и разности 1,5 °С нагревание произойдет до температуры 35 °С, по ее достижении нагреватель будет выключен и вновь включен, когда температура понизится до 33,5 °С. Оптимальным выбором разности достигают компромисса между точностью поддержания температуры и частотой включений нагревателя.

со1 (со2) - корректировка показаний датчика 1 (2). Введенное значение суммируется (с учетом знака) с этими показаниями прежде, чем они поступят на дальнейшую обработку. Это позволяет скомпенсировать возможную погрешность датчика.

В случае повторного кратковременного нажатия на кнопку SB1 на индикатор выводится хранящееся в памяти микроконтроллера значение выбранного параметра, после чего кнопками SB2 и SB3 (соответственно уменьшение и увеличение на 0,1 °С) задают его новое значение. При длительном удержании этих кнопок изменение параметра начинает происходить быстрее (приблизительно 10 раз в секунду). Через 5с после последнего нажатия на любую кнопку установленное значение запоминается в энергонезависимой памяти микроконтроллера, а на индикатор выводится текущая температура.

Коды программы из файла Termo2ch.hex записывают в программную (FLASH) память микроконтроллера, а информацию из файла Termo2ch.epp - в его EEPROM. Разряды конфигурации микроконтроллера программируют в соответствии с таблицей:

Для защиты от зависания программы в микроконтроллере должен быть включен сторожевой таймер.

Поскольку интерфейс 1-Wire, используемый датчиками, критичен к тактовой частоте микроконтроллера, необходима точная настройка его внутреннего тактового генератора на 8 МГц. Для этого следует, подключив используемый экземпляр микроконтроллера к программатору, прочитать калибровочную константу, находящуюся в старшем байте слова, расположенного по адресу 0x0003 сигнатуры микроконтроллера. После загрузки в программатор файла Termo2ch.epp, но перед программированием, эту константу записывают в нулевую ячейку буфера EEPROM программатора.

Микроконтроллер АТmega8 может быть заменен на ATmega8L. При замене индикатора CPD-05211SR2/A аналогичным другого типа придется, возможно, подобрать резисторы R8-R15, чтобы обеспечить приемлемую яркость.

25.11.2012 Внимание! Программа термостата обновлена до версии v2b_1.

Представляю Вашему вниманию свое устройство — двухканальный термометр-термостат. Термостат был сделан мною по просьбе родственников, для поддержания в ящике с картошкой постоянной температуры. Если в другие годы в нём не было необходимости, то прошлая зима показала, что он необходим.

В качестве датчиков использовал DS18B20. Микроконтроллер (ATmega8) работает от внутреннего задающего генератора на 4 мГц (дополнительно, на плате предусмотрена возможность установки кварца). Из-за артефактов динамической индикации (заметно было подмигивания в момент опроса датчика) пришлось отказаться от чтения ROM датчика и подсчёта CRC. Тем не менее, в устройстве используются два датчика, которые подключены к разным выводам МК. Один измеряет температуру наружного воздуха, другой в ящике. Термостатирование организовано только для датчика №2 (ящик).



Термометр-термостат разделён по двум корпусам. В одном управляющая часть и дисплей, в другом блок питания и реле управления нагрузкой. На плате управления предусмотрена установка стабилизатора питания с конденсаторами для питания микроконтроллера, но так как питание приходит и так 5 v он не впаян (в случае питания от блоков питания с выходным напряжением больше 5 v, его необходимо впаять). Корпус управления снабжён кронштейном который позволяет устанавливать его как на DIN-рейку или просто саморезами к стене.



Разъёмы устройства:
— по USB разъёму передаются управляющие сигналя для включения реле;
— через аудио разъёмы подключены датчики температуры.

Так как программа занимает 66 % памяти, решено было сделать ещё и второй канал управления, на всякий случай, от РВ5. В данной программе второго канала нет, и понадобится ли вообще, пока не знаю, но на ПП второй канал организован в полном объёме, только не установлено реле.












Описание работы термостата.
Устройство имеет три кнопки для управления. Кнопка (ОК), (Up), (Dn). При включении питания на индикаторе высвечивается температура датчика №1 (наружный воздух).




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




При повторном нажатии кнопки (ОК), на дисплей выводится температура датчика №1, а светодиод HL1 гаснет.

Для входа в режим установки верхнего порога отключения и нижнего порога включения обогрева. Необходимо нажать обе кнопки (Up), (Dn) и удерживать их нажатыми не менее 5 сек. По истечении этого времени устройство перейдёт в режим просмотра верхнего порога выключения обогрева. Теперь кнопки нужно отпустить. На дисплее будет высвечиваться значение порога и у четвёртого разряда засветится верхний сегмент, указывающий, что это верхний порог.




Для изменения уставки порога, необходимо нажать кнопку (ОК). Значение на дисплее начнёт мигать, сигнализирующее о готовности к изменению уставки. Уставку можно менять в пределах от +1 до +10 градусов, с дискретностью 1 градус. Увеличение значения происходит с помощью кнопки (Up), а уменьшение с помощью кнопки (Dn). Для сохранения уставки или просто для перехода на следующий порог, необходимо нажать кнопку (ОК). На дисплее высветится нижний порог и у четвёртого разряда засветится нижний сегмент, указывающий, что это нижний порог.




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

Для удобства контроля состояния температуры в ящике, был введён дополнительный алгоритм сигнализации о низкой температуре в ящике. Что он из себя представляет? Когда на дисплее отображается температура датчика №1, а температура в ящике снижается (допустим, из-за неисправности нагревателя) и достигает значения ниже +1 градуса, светодиод HL1 начинает мигать, сигнализируя о низкой температуре в ящике. Если температура в ящике поднимется выше + 2 градусов, светодиод перестанет мигать.

Алгоритм неисправности датчиков. При неисправности датчика да дисплее выводится надпись Err №. Номер обозначает код неисправности от 1 до 3. Цифра 1 обозначает – нет высокого уровня, 2 – нет датчика, 3 – высокий уровень не восстановлен.




Когда на дисплее отображается температура датчика №1, и произошла неисправность датчика №2,то светодиод HL1 начинает мигать, сигнализируя о неисправности. Таким образом, при выведенной на дисплей температуре датчика №1 Вы не пропустите возникшую неисправность термостата. Естественно при неисправности датчика №2, обогрев отключается.

Ещё несколько моментов. Термостат отключен если уставка нижнего порога равна уставке верхнего порога, или уставка нижнего порога выше уставки верхнего порога. Если неисправны датчик №1 или №2, то в меню уставок, значение уставки Вы не увидите, хотя уставку изменить можно, но вслепую. Это сделано для того, что бы пользователь не лез изменять уставки при неисправных датчиках.


Файлы для сборки устройства.

(Visited 19 717 times, 1 visits today)

Раздел: Метки: ,

Навигация по записям

084-Двуканальный термометр-термостат на ATmega8. : 86 комментариев

  1. fizik_89

    Здравствуйте, SVN.
    Планирую собрать девайс по вашему проекту. Интересно узнать какой нагреватель вы использовали для термоящика? Судя по блоку питания он выдает 12В 0,5А. То есть нагреватель всего на 6 Вт? Мощность в 6 Вт мне кажется не обеспечит требуемый тепловой режим. Или я что-то не так понял?)

  2. SVN Автор записи
  3. alex52

    Я собрал термостат.Заработал сразу. Только вот температуру показывает странную: минус 38,6 (оба датчика)в теплой комнате, где примерно 20 градусов. Датчики (DC18B20) реагируют на изменеие температуры. при подогреве паяльником температура повышается до минус 21 градусов. В чем проблема?

  4. SVN Автор записи
  5. alex52

    При подаче питания на устройство, на дисплее высветилось значение 85,0*С, а затем примерно через 2 секунды: -36,3*С. Потом поменял датчики местами: опять высветилось значение 85,0*С, а затем примерно через 2 секунды: -36,5*С. К сожалению я болел и не смог приобрести новые датчики. На днях я это сделаю и о результатах напишу. Спасибо Вам за помощь.

  6. SVN Автор записи

    :
    При подаче питания на устройство, на дисплее высветилось значение 85,0*С, а затем примерно через 2 секунды: -36,3*С. Потом поменял датчики местами: опять высветилось значение 85,0*С, а затем примерно через 2 секунды: -36,5*С. К сожалению я болел и не смог приобрести новые датчики. На днях я это сделаю и о результатах напишу. Спасибо Вам за помощь.

    При подаче питания на датчик, датчик записывает в регистры значения равное 85,0, что и считывает устройство. Это подтверждает, о правильном перерасчёте считываемых значений. Таким образом, складывается впечатление, что Вам попались неликвиды, что большая редкость. Попробуйте приобрести датчики в другом магазине. Но такой эффект может возникнуть если на датчик не приходит +5 В. Проверьте соответствие питания датчика.

  7. alex52

    Да, Вы были правы, датчики оказались некондиционными. Новый датчик показывает нормальные величины. Просто, мне казалось маловероятным, чтобы два датчика были бы одинаково некондиционными. Наверно можно проанализировать работу этих датчиков и программно исправить показания. На досуге попробую. Спасибо.

  8. alex52

    Кстати, может это DS18S20? У них разный вид представления температуры. Для DS18S20 температура представляется в виде 9-битного значения в дополнительном коде, а для DS18B20 в виде двоичного числа с разрядностью от 9 до 12 бит. У DS18S20 и DS18B20 кроме серийного номера в ПЗУ содержится код семейства (10h — для DS18S20, и 28h — для DS18B20). У Вас нет программы для чтения кода семейства или программы для работы с DS18S20?

  9. SVN Автор записи

    :
    Кстати, может это DS18S20? У них разный вид представления температуры. Для DS18S20 температура представляется в виде 9-битного значения в дополнительном коде, а для DS18B20 в виде двоичного числа с разрядностью от 9 до 12 бит. У DS18S20 и DS18B20 кроме серийного номера в ПЗУ содержится код семейства (10h – для DS18S20, и 28h – для DS18B20). У Вас нет программы для чтения кода семейства или программы для работы с DS18S20?

    Нет у меня такой программы. Но если бы это были DS18S20, то и значение +85*С при старте программы, Вы бы не увидели. Это, однозначно брак. А брак лучше вернуть в магазин.

  10. alex52
  11. pino24

    а не красивей будет если использовать двух строчный дисплей??

  12. SVN Автор записи

    :
    а не красивей будет если использовать двух строчный дисплей??

    Это уже кому как нравится. Для двух строчного дисплея, программу придётся полностью переписывать.

  13. Vladimir1619

    Здравствуйте. Спасибо автору и всем кто участвовал в разработке данного устройства.
    Я собрал его, но возникла проблема которую я уже не могу решить (не хватает знаний и опыта).
    Устройство работает, но на индикаторы показывают все наоборот;
    светятся все запятые кроме второй, а числа непонятные,
    отключая все датчики DS18B20, пишет E.9.9.2..
    Индикатор собирал сам, но он точно правильно распаян, в других устройствах работает.
    Если возможно помогите советом. Спасибо.

  14. Skifco

    Огромное спасибо разработчикам! Хотел уточнить такой вопрос. Я делаю приблизительно такой же прибор, но более медицинского направления. Хотел бы узнать есть ли возможность помочь с составлением временных диаграмм на Ваш прибор и узнать бы, какие пакеты и как передают датчики, что нужно им послать, чтоб их опросить и какова частота опроса?
    Заранее спасибо!

Двухканальный термометр на микроконтроллере ATmega8 и датчиках DS18B20

Характеристики термометра:
— 2 канала измерения текущей температуры, датчики подключены к разным разрядам порта микроконтроллера
— каждый канал позволяет измерять текущую температуру в интервале от +125 ºС до -55 ºС с разрешением до 0,1 ºС
— погрешность измерения температуры ±0,5 ºС
— обнаружение и индикация возможных ошибок в работе с датчиками температуры
— интервал измерения текущей температуры — 2 сек

Уважаемые читатели сайта!
Если вас интересует именно конструкция двухканального термометра, то могу посоветовать для прошивки микроконтроллера использовать прошивку для конструкции (здесь более оптимизированный и «причесанный» код)

Сегодня, в продолжении развития проекта на ATmega8 , мы рассмотрим конструкцию «Двухканальный термометр с датчиками температуры DS18B20 «.
Предложенная Вашему вниманию конструкция проста, содержит минимум деталей, не требует настройки.

(Хочу сразу предупредить, что время не стоит на месте и после публикации статьи программа термометров была доработана — в нее внесены три изменения: в работе задействован только один таймер Т0, повышена внутренняя тактовая частота микроконтроллера до 8 МГц, изменен алгоритм определения десятых температуры (теперь десятые не рассчитывается а принимают значение в зависимости от числа записанного в младший полубайт регистра LS-bite. Новая программа выложена ниже описанной в этой статье))

Индикация текущей температуры осуществляется на два трехразрядных семисегментных светодиодных индикатора, при этом:
— температура ниже +100 ºС — индикация осуществляется на трех разрядах с точностью до десятых
— температура выше +99,9 ºС — индикация осуществляется на трех разрядах с точностью до градуса
— температура выше -10 ºС — индикация осуществляется: первый разряд знак «-«, второй и третий разряд — единицы и десятки градусов
— температура ниже -9,9 ºС — индикация осуществляется: первый разряд знак «-«, второй и третий разряды — десятки и единицы градусов
— незначащие нули не выводятся
При возникновении возможных ошибок в работе с датчиками температуры на индикаторы выводится:
— нет высокого уровня на линии DQ датчика — «Er1»
— нет импульса присутствия от датчика — «Er2»
— после импульса присутствия линия DQ не вернулась в состоянии логической «1» — «Er3»
Индикация ошибок позволяет своевременно выявить и устранить неисправность.

Схема двухканального термометра на ATmega8 и датчиках DS18B20:


Детали, примененные в конструкции термометра

Микроконтроллер ATmega8-16PU с внутренней тактовой частотой — 4 мГц.
Индикаторы — трехразрядные семисегментные светодиодные индикаторы со схемой включения — «общий катод».
Транзисторы — «NPN»-структуры BC547 (транзисторы можно заменить на любые другие маломощные структуры NPN).
Постоянные сопротивления — любого типа, мощностью 0,25 Вт, близкие к номиналам указанным в схеме.
Датчики — датчики температуры DS18B20. Разрешающая способность установлена «по умолчанию» — 12 bit, что соответствует дискретности измерения температуры 0,0625 ºС.

Общение датчиков с микроконтроллером происходит по 1-Wire шине , что позволяет, в принципе, «посадить» датчики на одну линию. В представленной конструкции датчики подсоединены к разным разрядам порта «PB» (6 и 7 — соответственно) из трех соображений:
— при необходимости разноса датчиков в разных направлениях упрощается прокладка соединительных линий
— упрощается программа — не надо определять 64-битные коды датчиков, соответственно уменьшается время затрачиваемое на общение с датчиками (что немаловажно в данной конструкции при динамической индикации 6 разрядов индикаторов)
— и так остается незадействованным целый порт
Циклический контроль избыточности (CRC) не определяется — в данной конструкции проверять правильность передачи результатов конвертирования температуры датчиками я не вижу смысла.
При больших расстояниях между датчиками и основным блоком возможно потребуется подобрать подтягивающие сопротивления (от 1 до 5 кОм). Возможно лучше будет подсоединять эти сопротивления непосредственно к датчикам .

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

Работа термометра

Программа двухканального термометра написана в среде «Algorithm Builder»


В программе задействовано два таймера микроконтроллера ATmega8 — Т0 и Т1 , которые настроены на вызов прерываний по переполнению счетчиков.
При включении устройства осуществляются предварительные настройки задействованных в работе портов микроконтроллера, занесение необходимых данных в переменные и разрешение прерываний, затем программа переходит в бесконечный цикл. В дальнейшем вся работа устройства осуществляется по перываниям от таймеров Т0 и Т1.
При этом:
При обработке прерывания от таймера Т0 осуществляется:
— динамическая индикация текущих значений температуры на светодиодных индикаторах
— поочередное считывание данных с датчиков температуры
— расчет и преобразование температуры для вывода на индикаторы
При обработке прерывания от таймера Т1 осуществляется
— поочередная подача команды на конвертирование температуры датчиками (с периодичностью — 1 сек)
Делители частоты таймеров при внутренней частоте микроконтроллера 4 мГц настроены:
— Т1 — СК/64 — вызов прерывания происходит почти через 1 секунду
— Т0 — настройка частоты делителя для таймера должна быть СК или СК/8 — 512mcs или 64mcs — не критично (но не менее 2ms). Это обусловлено тем, что время обработки прерывания от таймера Т1 равно времени которое затрачивает датчик на конвертирование температуры (по даташиту, при разрешающей способности 12bit, максимальное время конвертирования — 750ms, реально — намного быстрее)

Для более частого обновления текущей температуры можно настроить внутренний генератор микроконтроллера на частоту 8 мГц а делители частоты таймеров установить:
— T0 — СК/64 (периодичность вызова прерывания около 2ms)
— Т1 — СК/64 (периодичность вызова прерывания около 0,5sec)
что позволит обновлять текущую температуру с датчиков каждую секунду. Более частая подача команды на конвертирование температуры датчикам может привести к их нагреву, и, соответственно, к увеличению погрешности измерений.

Если вы «дружите» с программой «Algorithm Builder» то ее можно настроить для обновления текущей температуры непрерывно, сразу после конвертирования температуры датчиком. Для этого необходимо выполнить следующиу действия:
1. Отключить таймер Т1
2. Отключить подпрограмму обработки прерывания от таймера Т1 (можно и не отключать)
3. Включить кусок «серого кода» в «бесконечном цикле»
Возможно для предотвращения мерцания индикаторов тактовую частоту микроконтроллера придется увеличить до 8 мГц
4. Настроить делитель частоты таймера Т0 на периодичность прерывания не менее 2ms

Если индикаторы все же будут мерцать, попробуйте «поиграть» командами NOP в начале и в конце бесконечного цикла — добавьте или уберите. К примеру:


Часть кода программы отключена, она предназначена для уменьшения разрешающей способности датчиков. Для изменения разрешающей способности температурного преобразователя необходимо:
1. Включить часть кода на главной странице и подпрограмму изменения разрешающей способности на вкладке «DS18B20»:

2. Включить во вкладке «DS18B20» константы выделенные красным цветом:

Назначение констант:
— Read_Scratchpad — функциональная команда DS18B20 ($4E). Эта команда позволяет устройству управления записывать 3 байта данных в память DS18B20. Первый байт данных записывается в регистр (TH), второй байт записывается в регистр (TL), третий байт записывается в регистр конфигурации
— TH и TL — регистры Аварии верхнего и нижнего предела, константа b#01010101 — соответствует 85 ºС (как и установлено в датчиках по умолчанию)
bit11 — регистр конфигурации, запись константы b#01011111 изменит разрешение с 12 до 11 bit, что вдвое уменьшит время конвертирования температуры датчиками. Для 10-битного разрешения — b#00111111, для 9-битного разрешения — b#00011111
3. Изменить в подпрограмме расчета температуры на вкладке «DS18B20» число 625 на число дискретности измерения температуры для соответствующего разрешения (125, 25, 5) и числа 1000 и 999 соответственно (для 125 — 1000 и 999, для 25 — 100 и 99, для 5 — 10 и 9)

Если возникли вопросы, пишите, отвечу.

Приложения к статье:

(50,6 KiB, 26 984 hits)

Тип оборудования: Термометр, прибор теплового контроля, анализатор температуры.

Производитель: Россия

Серия: ТК-5

Модель: ТК-5.11

Описание: Прибор для измерения температуры и относительной влажности.

Гарантия на термометр контактный ТК-5.11: 24 мес.

Термометр контактный ТК-5.11 внесен в Госреестр средств измерений.

Назначение прибора:

Термометр контактный цифровой ТК-5.11 предназначен для измерения температуры различных сред, относительной влажности воздуха путем непосредственного контакта зонда с объектом измерения. Термометр является двухканальным прибором, предусматривающим работу одновременно двумя измерительными зондами. Состоят из электронного блока и сменных зондов. В качестве термочувствительных элементов в зондах используются преобразователи термоэлектрические (ТП) с НСХ по ГОСТ Р 8.585 . А в качестве измерительного элемента в зондах относительной влажности используются емкостные датчики влажности.

Функциональные возможности темометра ТК-5.11:

  • измерение одновременно влажности или температуры по двум каналам в любом сочетании одним прибором;
  • измерение температуры с разрешением 0.1 °С;
  • измерение влажности с разрешением 0,1%;
  • возможность смены зонда;
  • возможность вывода на экран температуры датчика термокомпенсации;
  • возможность вывода на экран температуры воздуха при использовании зонда влажности;
  • сохранение в памяти прибора измеренных значений температуры или влажности;
  • отображение среднего значения температуры или влажности за заданное количество измерений;
  • отображение максимального значения температуры или влажности (за заданное количество измерений);
  • отображение минимального значения температуры или влажности (за заданное количество измерений);
  • индикация напряжения питания;
  • задание граничных значений измеряемых температуры или влажности;
  • звуковая индикация при достижении заданных уровней измеряемых температур или влажности;
  • подсветка индикатора;
  • автоматическое отключение прибора через заданное время;
  • автоматическое сохранение при выключении текущего, усредненного, max, min, напряжения питания, остатка времени работы прибора на момент отключения.

Особенности термометра ТК-5.11:

  • Измерение влажности.
  • Одновременное измерение температуры и влажности.
  • Возможность работы со сменными зондами.
  • Двухканальный.
  • Питание от стандартных элементов питания типа АА.
  • Низкое энергопотребление (не менее 350 часов работы от одного комплекта батарей).

Технические характеристики термометра ТК-5.11:

Диапазон измеряемых температур, °С

100...+1800 (зависит от типа используемого зонда)

Относительная погрешность, %

±0,5 +ед.мл.разр

Цена единицы младшего разряда, °С

0,1

Количество типов сменных зондов

Диапазон измерения относительной влажности, %

3...97

Абсолютная погрешность измерения относительной влажности, %

Рабочие условия эксплуатации, °С

20...+50

Напряжение питания, В

1,5x2

Условия эксплуатации

температура окружающей среды, °С

20...+50

относительная влажность, %

не более 80 % при T = 35 °С

атмосферное давление, кПа

86 - 106

Область применения термометра ТК-5.01:

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

Комплект поставки термометра ТК-5.01П:

  • термометр ТК-5.11
  • руководство по эксплуатации и паспорт
  • свидетельство о поверке
  • сумка-чехол

*Технические характеристики и комплект поставки приборов для контроля температуры могут быть изменены производителем без предварительного уведомления.

Дополнительную информацию по термометрам можно получить, обратившись к нашим специалистам, по телефонам, указанным разделе" контакты ".

Доставляем приборы для измерения температуры по всей России курьерскими службами и транспортными компаниями.

Рассказать в:

В последнее время в радиолюбительской литературе опубликовано много описаний различных конструкций на микроконтроллерах, чаще всего - семейства picmicro фирмы microchip. Не умаляя их достоинств, автор решил напомнить, что существуют и другие микроконтроллеры, и сделал предлагаемый прибор на одном из них - АТ89С2051 из семейства mcs-51.

Микроконтроллеры семейства МС5-51 - несомненные чемпионы среди восьмиразрядных как по числу разновидностей, так и по числу компаний, выпускающих их модификации. Первый представитель этого семейства - intel 8051 - был выпущен еще в 1980 г. Для своего времени это очень сложное изделие. На его кристалле 128 тыс. транзисторов, в четыре раза больше, чем в микропроцессоре intel 8086, базовом для персональных компьютеров ibm pc. Удачный набор периферийных устройств, возможность работы с внешней и внутренней программной памятью и приемлемая цена обеспечили микроконтроллеру intel 8051 большой успех. Важную роль сыграла открытая политика фирмы intel, широко распространявшей лицензии на производство приборов с ядром 8051 среди ведущих полупроводниковых компаний мира: philips, siemens, intel, atmel, dallas. temic, ow. amd, mhs, lg(winbond, silicon systems и ряда других. В СССР микроконтроллеры семейства msc-51 выпускали в Киеве (1816ВЕ31. 1816ВЕ51). Воронеже (1830ВЕ31, 1830ВЕ51), Минске (1834ВЕЗ1) и Новосибирске (1850ВЕ31).
Сегодня во всем мире производят более 200 модификаций микроконтроллеров этого семейства, начиная с простых 20-выеодных до сложнейших 100-выводных с встроенными АЦП, многочисленными таймерами-счетчиками, аппаратными умножителями и 64 Кбайт программной памяти на одном кристалле. Все они имеют общую систему команд и с точки зрения программиста различаются лишь числом регистров специального назначения.
Когда у автора возникла необходимость защитить подвал гаража от промерзания, дистанционно контролируя и регулируя температуру в нем, для блока измерения температуры и управления нагревателем был выбран микроконтроллер at89c2051-24pi из упомянутого семейства. Ввиду отсутствия в нем энергонезависимой памяти данных для хранения сведений об установленном режиме и допустимых значениях температуры пришлось применить отдельную микросхему энергонезависимой памяти at24c02-10pi Обе микросхемы рассчитаны на работу в "индустриальном" интервале температуры окружающей среды (-40...+85 °С).
На выбор повлияло и то, что суммарная стоимость этих микросхем в одной из московских торговых фирм вдвое меньше цены популярного микроконтроллера pic16f84a-04i/p, работающего в том же температурном интервале.

Основные технические характеристики
Тип датчика ds1820 или ds18b20
Измеряемая температура, °С
максимальная +99.9
минимальная - 55
Дискретность отсчета, "С 0.1
Поддерживаемая температура С
максимальная +99,9
минимальная 0
Расход времени на ввод нового значения поддерживаемой температуры, с.
не более 15

Схема, приведенная на рис. 1, стала почти классической для микроконтроллерных устройств такого назначения. В микроконтроллер dd1 загружена программа, приведенная в таблице.


Нагрузочная способность выходов примененного микроконтроллера - 20 мА при низком уровне напряжения на них и всего 50 мкА при высоком поэтому светодиодные семиэлементные индикаторы hg1 и hg2 выбраны с общими анодами. Чтобы сократить число выводов микроконтроллера, необходимое для подключения индикаторов, программно организована динамическая индикация с длительностью отображения каждого разряда 3 мс Элемент g (знак "минус") индикатора hg1.1 подключей вместо элемента h (десятичной точки) индикатора hg1.2. так что фактически индикация трехразрядная, ее полный цикл занимает 9 мс.
Нередко на время съема показаний датчиков, вычисления температуры, записи данных в eeprom и других сравнительно длинных операций динамическую индикацию приостанавливают, что воспринимается как мерцание индикаторов. Чтобы исключить это неприятное явление, программа оптимизирована и работает с жесткой привязкой к темпу индикации.
Резисторы r7-r14 ограничивают ток катодов индикаторов hg1 и hg2. Транзисторы vt1, vt2, vt4 коммутируют их аноды, подключая поочередно к плюсу источника питания. Резисторы r1, r2 ограничивают ток при случайных замыканиях идущих к датчикам ВК1 и ВК2 проводов, длина которых может достигать нескольких метров. Так как эти провода могут оказаться проложенными в непосредственной близости от силовых кабелей, входы Р3.2 микроконтроллера dd1 и scl микросхемы памяти ds1 защищены от возможных импульсных помех диодами vd5 и vd6. Использование одного и того же вывода микроконтроллера для связи с датчиком и для управления памятью стало возможным потому, что эти функции никогда не выполняются одновременно. Резистор r4 - нагрузочный для линии интерфейса 1-wire согласно которому между микроконтроллером и датчиком происходит обмен командами и данными.
Резистор r3 поддерживает высокий логический уровень на входе РЗ.З микроконтроллера, когда ни одна из кнопок управления sb1-sb3 не нажата. Диоды vd7-vd9 устраняют последствии нажатия на несколько кнопок одновременно. Транзистор vt3 по командам микроконтроллера включает и выключает реле К1, управляющее нагревателем (или другим исполнительным устройством), и сигнальный светодиод hl1. Диод vd10 защищает светодиод hl1 от обратного напряжения.
Светодиод hl2, подключенный вместо элемента h индикатора hg2.2, служит дополнительным индикатором. Например, он выключен, когда на индикатор выведены показания датчика ВК1, и включен, когда выведены показания датчика ВК2.
Узел питания прибора состоит из выпрямителя на диодном мосте vd1 -vd4 и стабилизатора напряжения +5 В da1.
Цифровые датчики температуры ВК1, ВК2 - ds1820 или более современные ds18s20 - внесены в Государственный реестр средств измерений под№ 3169-02 и, таким образом, официально допущены к применению в РФ. В некоторых случаях это имеет решающее значение. Датчики работают при напряжении питания 3...5.5 В, потребляя в режиме ожидания ток не более 1 мкА, а во время отсчета температуры и формирования результата (эти процессы занимают не более 750 мс) - приблизительно 1 мА. Дискретность результата измерения (0,5 С) может быть уменьшена, если прочитать значения регистров датчика count_remain (остаток после счета) и count_perc (число, соответствующее одному градусу Цельсия). Зная их и temp read (температуру, считанную из датчика стандартным образом), более точное ее значение можно вычислить по формуле:

Этим приемом дискретность представления температуры доведена до 0,1 °С.
Каждому экземпляру датчиков указанных выше типов присвоен уникальный индивидуальный номер длиной 48 двоичных разрядов, хранящийся в его внутреннем ПЗУ. Это позволяет соединять параллельно практически неограниченное число датчиков, взаимодействуя с каждым из них отдельно.
В описываемом устройстве микроконтроллер подает датчикам первой команду skip_rom (ОССН), предписывающую пропустить процедуру проверки индивидуального номера. Далее команда convert_t (44Н) запускает процесс измерения температуры сразу в двух датчиках. Через 750 мс, необходимых для завершения этого процесса, микроконтроллер подает команду match_rom (55Н), сопровождаемую индивидуальным номером одного из датчиков. В результате на следующую команду read_scratchpad (ОВЕН) откликается и сообщает микроконтроллеру результат измерения только этот датчик. Затем (после команды начальной установки) последовательность команд match_rom и read_scratchpad повторяется для второго датчика.
Полученные данные микроконтроллер обрабатывает и выводит на индикатор. Для удобства незначащий нуль на индикатор не выводится, а знак "минус", если он нужен, примыкает слева к старшей значащей цифре. Если при связи с датчиком зафиксирован сбой, что может означать неисправность или отсутствие датчика, вместо значения температуры будет выведено (в стилизованном виде) сообщение "-dat".
Кратковременными нажатиями на кнопку sb1 переключают прибор на индикацию показаний датчика ВК1 или ВК2. Если удерживать эту кнопку нажатой более 5 с, будет включен режим автоматического поочередного вывода показаний датчиков с периодом 5 с. Выходят из этого режима коротким нажатием на ту же кнопку.
Терморегулятор всегда работает по показаниям датчика ВК2. Нажатиями на кнопку sb2 на индикатор вызывают значения температуры в такой последовательности: нижняя пороговая (при ней происходит включение нагревателя) - верхняя пороговая (при ее достижении нагреватель будет выключен) - текущая. Вывод на индикатор верхней пороговой температуры сопровождается включением светодиода hl2.
Изменяют значение пороговой температуры, выведенной в данный момент на индикатор, нажатиями на кнопки sbi (в сторону увеличения) и 5ВЗ (в сторону уменьшения). Шаг изменения - 0,1 °С. Если удерживать соответствующую кнопку нажатой более 1 с, значение начнет расти или уменьшаться со скоростью 30 шагов в секунду. Если в течение 5 с ни одна из кнопок не нажималась, устройство автоматически переходит к индикации текущей температуры. Чтобы выключить терморегулятор, достаточно установить пороговые значения температуры равными или нижнее больше верхнего.
Прежде чем начать измерение температуры и ее регулирование, устройство должно "зарегистрировать" подключенные к нему датчики - определить и запомнить их индивидуальные номера. Для регистрации датчики подключают поочередно (второй на это время должен быть отключен).
Включив прибор, нажмите на кнопку sb2 и удерживайте ее нажатой не менее 5 с до появления на индикаторе стилизованного сообщения "pr1". свидетельствующего о готовности зарегистрировать подключенный датчик как ВК1. Если необходимо зарегистрировать датчик как ВК2, кратковременно нажмите на кнопку sb2, что приведет к выводу на индикатор сообщения "pr2". Еще одним нажатием можно вернуть на индикатор сообщение "pr1" и так далее.
Собственно регистрация происходит после нажатия на кнопку sb1. Если девять попыток микроконтроллера связаться с датчиком, определить и запомнить его индивидуальный номер не принесут успеха, будет сделан вывод о неисправности или отсутствии датчика, а на индикатор выведено сообщение "-dat". После успешной регистрации на индикаторе появится значение измеренной зарегистрированным датчиком температуры. Описанную процедуру необходимо выполнить и в случае замены одного или обоих датчиков. Данные о датчиках и режимах индикации хранятся в микросхеме энергонезависимой памяти ds1.


Термометр-термостат собран на односторонней печатной плате размерами 75x74 мм, показанной на рис. 2. Задача добиться максимальной плотности монтажа и минимальных размеров платы при ее разработке не ставилась. В любительских условиях значительно важнее простота изготовления, удобство монтажа и налаживания. Очевидно, применив малогабаритные элементы и двусторонний поверхностный монтаж, размеры платы можно было существенно уменьшить. Но это не дало бы никаких эксплуатационных преимуществ. Там, где должен быть установлен прибор, свободного места для него в избытке. Внешний вид смонтированной и действующей платы - на рис. 3.

Прибор питают от сети через любой понижающий трансформатор с напряжением на вторичной обмотке 9 В при токе 300 мА и хорошей межобмоточной изоляцией. Вместо сдвоенных светодиодных индикаторов hlec-d512gwb зеленого цвета свечения можно применить любые другие с общим анодом, от одноразрядных до счетверенных. Естественно, при соответствующей корректировке печатной платы.
Диоды 1n4148 заменяют любыми маломощными кремниевыми, например, серии КД522, а диоды 1n4007 - выпрямительными на ток не менее 300 мА, например, серии КД208 или КД209 Замена транзисторов КТ3107А -КТ502Б, КТ502Г, ВС327. Стабилизатор 7805 можно заменить отечественным КР142ЕН5А или КР142ЕН5В. Его желательно снабдить небольшим теплоотводом. Вместо микросхемы АТ24С02 можно применить АТ24С01А. Частота кварцевого резонатора может находиться в пределах 10... 12 МГц. Реле К1 - с обмоткой на 12 В, током срабатывания 70 мА и контактами, рассчитанными на ток 10 А при напряжении 250 В. Вместо электромагнитного репе можно использовать симисторный коммутатор с оптической развязкой, собрав его по схеме, подобной изображенной на рис. 2 в статье С. Корякова "Термометр с функцией таймера или управления термостатом" ("Радио". 2003, № 10, с. 26-28).
Устройство помещено в корпус из изоляционного материала с разъемами для подключения датчиков (удобны трехконтактные аудиоразъемы с диаметром штекера 3.5 мм), сети и нагревателя.

Раздел: [Устройства на микроконтроллерах]
Сохрани статью в:
Оставь свой комментарий или вопрос: