Полезные советы. Программы. Настройка. Железо. Windows
  • Главная
  • Безопасность
  • Двухканальный термометр-термостат на ATmega8. Электронный термометр с беспроводным датчиком Термометр двухканальный для авто на avr

Двухканальный термометр-термостат на ATmega8. Электронный термометр с беспроводным датчиком Термометр двухканальный для авто на avr

Показания датчиков выводятся на 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, чтобы обеспечить приемлемую яркость.

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

В последнее время в радиолюбительской литературе опубликовано много описаний различных конструкций на микроконтроллерах, чаще всего - семейства 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 мм), сети и нагревателя.

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

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

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

Ниже представлена схема беспроводного датчика на микроконтроллере PIC12F675.

После подачи питания микроконтроллер считывает значение температуры с датчика BK1 и отправляет эти данные на радиопередатчик A1, после чего происходит переход в спящий режим. Пробуждение микроконтроллера происходит по прерыванию, которое генерируется изменением уровня на линии GP0. К этой линии подключена RC цепочка на элементах R2 и C4, которая выполняют функцию таймера. При выходе из спящего режима на линии GP0 устанавливается низкий логический уровень, тем самым конденсатор C4 разряжается. Перед уходом в “сон” линия настраивается на вход, конденсатор начинает заряжаться через резистор R4, при достижении порогового напряжения (около 1,2В) происходит прерывание и пробуждение микроконтроллера. При указанных на схеме номиналах R2, C4 период пробуждения составляет примерно 5 минут. Установив перемычку JP1, можно сократить период до 5,5 секунд. Путем подбора конденсатора и резистора можно настраивать желаемое время периода, но при этом надо учитывать ток заряда конденсатора, в плане энергопотребления.

Значение температуры по радиоканалу передается в виде пакета из 3-х байт, последний байт представляет собой контрольную сумму первых 2-х байт. Алгоритм передачи данных, который я использую, в принципе позволяет обходиться без контрольной суммы, вероятность приема неправильных данных низкая. Скорость передачи составляет 3,3 Кбит/сек. Каждый раз после измерения температуры отсылается 3 пакета байтов, пауза между пакетами составляет 10 мс, такой вариант передачи я применил для увеличения надежности получения данных приемником. Это связано с тем, что приемная сторона прерывает прием сигнала на 4-5 мс, во время измерения температуры с внутреннего (домашнего) датчика.

В качестве питания используется батарея 6F22 на 9В (“Крона”), модуль радиопередатчика A1 питается напрямую от батареи. Для питания микроконтроллера используется микромощный стабилизатор напряжения DA1 (MCP1702) на 5В, собственный ток потребления стабилизатора составляет всего 1-2 мкА, максимальный ток нагрузки до 250 мА. Стабилизатор MCP1702 можно заменить на LP2950, ток потребления которого выше и составляет 75 мкА. Обычные стабилизаторы напряжения типа L78хх имеют большой ток потребления в несколько миллиампер, поэтому не годятся для аппаратуры с батарейным питанием. Ток потребления устройства в спящем режиме меняется с течением времени по мере заряда конденсатора С4, первые 2,5 минуты потребление составляет 10 мкА, последующие 2,5 минуты ток плавно увеличивается, до момента выхода из спящего режима. Данное явление возникает из-за наличия токов переключения входного буфера микроконтроллера.

Хочу отметить, что при низких температурах емкость батареек уменьшается быстрее, не все типы батареек можно использовать в таких условиях. Лучшими показателями при отрицательных температурах обладают литиевые батарейки, далее следуют Ni-Mh аккумуляторы, щелочные батарейки занимают третью позицию, солевые элементы не пригодны для таких условий.

Ниже представлена схема термометра на микроконтроллере PIC16F628A.


Дисплей HG1, датчик BK1 и микроконтроллер питаются напряжением 3,3В от стабилизатора DA2. Такое значение было выбрано в связи с характеристиками дисплея, максимальное напряжение питания которого составляет 3,3В, кроме этого отпадает необходимость в согласовании уровней напряжения между линиями ввода/вывода дисплея и микроконтроллера. Модуль приемника A1 питается от стабилизатора DA1, с выходным напряжением 5В. Резисторы R6, R7 установлены для согласования уровней напряжения.

Микроконтроллер DD1 считывает значение температуры с датчика BK1 каждые 2 секунды, параллельно принимает сигнал с приемника, при получении пакета байтов от передатчика вспыхивает светодиод HL1. В верхней части дисплея отображается надпись “Дом”, под которой выводится значение температуры с внутреннего (домашнего) датчика, ниже отображается надпись “Улица” и температура, полученная от беспроводного датчика. После приема данных по радиоканалу, микроконтроллер запускает таймер, который ведет отсчет времени для контроля получения данных. Если данные не были получены за период отсчета таймера, вместо показаний температуры, на дисплее высвечивается символы тире “- – – – -”. Время отсчета можно задать в пределах 1-15 минут с шагом в одну минуту. Для этого, перед программированием микроконтроллера, необходимо записать число от 1 до 15 в ячейку EEPROM с адресом 0x00. По умолчанию устанавливается период в 7 минут. При неисправности датчиков BK1, для обоих устройств, вместо значения соответствующей температуры, выводится надпись “ERROR”. Кнопка SB1 управляет подсветкой дисплея, по умолчанию подсветка включена. Кнопка SB2 предназначена для регулировки контрастности дисплея, так как у разных экземпляров она может отличаться.

Для питания устройства подойдет нестабилизированный источник питания с выходным напряжением 8-12В. Оба устройства размещены в пластиковых корпусах. Антенна для радиомодулей выполнена в виде отрезка одножильного провода длиной 17 см (четверть длины волны несущей частоты).





Перед вами проект двухканального термометра. Он может измерять температуру в диапазоне от -50.0 до +99.9 градусов. Устройство было разработано для измерения температуры в доме и на улице, но ему также можно найти и множество других применений. При небольшом изменении программы устройство также можно использовать в качестве термостата. Термометр построен на популярном и очень широко распространенном датчике и микроконтроллере ATtiny2313, что значительно упростило разработку и позволило значительно уменьшить размеры. Термометр удалось сжать так, что почти все элементы расположены под трехразрядным дисплеем 15 мм. Практически все элементы SMD. Конечно, можно было бы применить TH компоненты, но в эпоху миниатюризации лучше сделать еще один шаг вперед по созданию системы с наименьшими размерами. Термометр может измерять температуру в двух местах, с помощью двух датчиков, подключенных на независимых шинах. Изменение отображаемой температуры осуществляется с помощью двух кнопок.

Принцип работы

Принципиальная схема:

Сердцем устройства является микроконтроллер U1 (ATTINY2313), который тактируется от внутреннего генератора 8MHz , без делителя частоты. Отсутствие кварца позволило уменьшить размеры устройства, а также освободило две ножки МК, к одной из них сейчас подключена кнопка S2. Микроконтроллер получает показания температуры с двух датчиков, преобразовывает данные в форму, пригодную для отображения на дисплее и обрабатывает нажатия кнопок S1 и S2. Конденсатор С1 (100nF), расположенный рядом с микроконтроллером - фильтрующий. Конденсаторы С2 (10 мкФ) и С3 (10 мкФ) необходимы для правильной работы U3 (78L05).Простота схемы обусловлена используемым датчиком температуры. Это 12-битный цифровой термометр, который может работать в диапазоне от -55 до +125 градусов. Время обработки (преобразования) температуры длится не дольше, чем 750 мс. Связь с микроконтроллером осуществляется по интерфейсу 1-Wire. В качестве индикатора температуры используется трехзначный светодиодный дисплей (AT5636BMR-В) с внутренними соединениями сегментов, адаптированный для динамической индикации. Резисторы R4-R11 ограничивают ток на светодиодном дисплее до 10-12 мА (на сегмент). Тем не менее, средний ток меньше из-за использования динамической индикации. Управление анодами осуществляется тремя популярными транзисторами Т1 - Т3 (BC857). Токи базы ограничены резисторами R1-R3 (3,3 кОм). Важным компонентом является разъем GP1, через который подключаются датчики и управляющий выход (в случае термостата).

Изготовление

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

Распиновка разъема

Выводы 1 и 2 этого разъема это питание и заземление. Вывод 3 предназначен для подключения индикации отрицательных температур (Катодом на разъем, анодом на +5В через резистор 200 - 300 Ом). Датчики подключаются через трехжильный провод. Первый датчик подключается к выводу 5, а второй датчик к выводу 6. Устройство питается от 7-12В через стабилизатор 78L05.

Программирование

Программа написана в известной среде программирования . Она занимает около 70% памяти микроконтроллера и может быть успешно скомпилирована в демо версии BASCOM"a. Программа не сложная. Далее представлены некоторые элементы кода

Обработчик прерывания Timer0 :

Przerwanie0: Timer0 = 131 Set F4ms Incr Dziel(1) If Dziel(1) = 25 Then Dziel(1) = 0 Set F100ms Incr Dziel(2) If Dziel(2) = 10 Then Dziel(2) = 0 Set F1s End If End If Return

Основной цикл:

Do If F4ms = 1 Then Reset F4ms "co 4ms Wysw = T Gosub Wyswietl_zmierz End If If F100ms = 1 Then Reset F100ms "co 100ms If Pind.2 = 0 Then Kanal = 1 If Pina.0 = 0 Then Kanal = 0 End If Loop End

Процедура управления дисплеем:

Wyswietl_zmierz: Incr Mux If Mux = 5 Then Mux = 0 Portd.3 = Not Minus For I = 1 To 3 Wysw_pomoc = Wysw Mod 10 Ww = Wysw_pomoc W(i) = Lookup(ww , Tabela) Wysw = Wysw / 10 Next I If W(3) = 40 Then W(3) = 255 "wygaszenie zera wiodącego Select Case Mux Case 0: Portb = W(3) Reset Portd.6 Case 1: Set Portd.6 Portb = W(2) And &B11011111 Reset Portd.5 Case 2: Set Portd.5 Portb = W(1) Reset Portd.4 Case 3: Set Portd.4 Portb = 255 Gosub Temp "Case 4: End Select Return Tabela: Data 40 , 235 , 50 , 162 , 225 , 164 , 36 , 234 , 32 , 160

Процедура измерения температуры:

Temp: If F1s = 1 Then Reset F1s 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &HBE , 1 , Pind , Kanal T = 1wread(2 , Pind , Kanal): Minus = T.15 T = Abs(t) T = T * 10 T = T / 16 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &H44 , 1 , Pind , Kanal End If Return

Fusebits микроконтроллера должны быть установлены для работы с внутренним RC-генератором с частотой 8 МГц

Фотографии

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК AVR 8-бит

ATtiny2313

1 SO20 В блокнот
U3 Линейный регулятор

L78L05

1 SOT89 В блокнот
T1-T3 Биполярный транзистор

BC857

3 В блокнот
C1 Конденсатор 100 нФ 1 В блокнот
C2, C3 Электролитический конденсатор 10 мкФ 2 Танталовый SMD 3216A В блокнот
R1-R3 Резистор

3.3 кОм

3 SMD 0805 В блокнот
R4-R11 Резистор

330 Ом

8 SMD 0805 В блокнот
R12, R13 Резистор

4.7 кОм

2 SMD 0805 В блокнот
W1 Семисегментный индикатор AT5636BMR 1

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

Любая строительная задача, связанная с тепловым контролем, может быть решена при помощи приборов компании «Интерприбор». Это возможно благодаря широкой номенклатуре подключаемых к приборам датчиков. Включение того или иного датчика в комплектацию прибора теплового контроля позволит покупателю приобрести прибор, предназначенный для конкретных целей.

Виды датчиков температуры

Среди датчиков для приборов контроля температуры выделяют:

  • Серию датчиков температуры поверхности: ТЗ-П и ТЗ-ПО. Датчик ТЗ-П разработан для измерения температур криволинейных поверхностей. Его отличает высокое быстродействие за счёт исполнения на ХК-термопаре при относительной погрешности ±2,0%. Конструкция датчика ТЗ-ПО обеспечивает точность ±0,5% (в диапазоне температур –50…+100 С) при измерении температуры поверхности тел с относительно низкой теплопроводностью (стекло, бетон и т.д.). ТЗ-ПО выполнен на основе малоинерционного платинового элемента Pt1000.
  • Датчики температуры среды также имеют несколько исполнений: ТЗ-С, ДТС-1.0 и ДТС-1.4 . Датчик ТЗ-С выполнен на ХК-термопаре, его отличительной особенностью является повышенное быстродействие и широкий диапазон измеряемых температур при точности измерения ±1,0%. Датчики ДТС-1.0 и 1.4 это цифровые датчики температуры с повышенной точностью измерения ±0,5% в узком диапазоне температур –10…+85 С и диапазоном –55…+125 С при точности ±2,0%. Датчик ДТС-1.4 отличает более высокое быстродействие за счёт особенностей конструкции.

Лучшие статьи по теме