Как сделать цифровой термометр

от admin

Сложно о простом: цифровой термометр

После карантина захотелось потренироваться в разводке плат в Easy EDA и их изготовлению методом ЛУТ, да и особого желания делать сразу что-то сложное не было. Поэтому на роль «подопытного кролика» выступил проект цифрового термометра. К тому же это был отличный шанс попрактиковаться в написании программ для МК на C++.

Немного теории

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

Теоретический практикум

Для проекта был подобран следующий терморезистор (рис. 1). Данный артефакт ещё советских времён ( штекер «СШ-5»), но несмотря на свой возраст, работает отлично.


Рисунок 1 — терморезистор

Как показала быстрая проверка датчика — данный терморезистор с положительным коэффициентом сопротивления (Сопротивление растёт от температуры), что немного необычно (Большинство современных терморезисторов обладает отрицательным коэффициентом сопротивления).

После первичного осмотра необходимо снять зависимость сопротивления от температуры. Для этого нам понадобится образцовый термометр и мультиметр (рис. 2).

необходимые инструменты
Рисунок 2 — необходимые инструменты

План замеров таков:

  1. Замеряем температуру и сопротивление датчика при комнатной температуре.
  2. Записываем результаты замеров.
  3. Замеряем температуру и сопротивление датчика при различной температуре (В горячей, холодной, тёплой воде и тд).
  4. Записываем результаты замеров.
  5. Повторяем пункты 3 — 4 до тех пор, пока значений будет не менее 3-х.

После снятия первичных значений необходимо их обработать.
Для этого необходимо:

  1. Определить ТКС (Температурный Коэффициент Сопротивления). Если ТКС < 0, то расчёты производятся по уравнению Стейнхарта-Харта, если ТКС > 0, то зависимость на некотором участке диапазона близка к линейной. В моём случае ТКС > 0, а зависимость линейная (Значит терморезистор изготовлен из какого-то металла).
  2. Для положительного ТКС: вбиваем показания в Excel и строим график. Далее добавляем линию тренда и выводим полученное уравнение (рис. 3).

получение прогноза температуры от сопротивления
Рисунок 3 — получение прогноза температуры от сопротивления

T = 17.173R — 130.82,

где T — температура в градусах Цельсия, а R — сопротивление в килоомах. Данная функция понадобится позже, а именно при написании скетча.

P.s. Данный практикум больше служит для выяснения типа датчика, нежели для получения итоговой функции (Т.к. проще составить прямую зависимость значения АЦП от температуры).

Схема электрическая принципиальная

схема электрическая принципиальная
Рисунок 4 — схема электрическая принципиальная

Да, опять я не пользуюсь сдвиговыми регистрами или драйверами семисегментников. С другой стороны, проект простенький и поэтому особого смысла в экономии выводов ATMEGA328 я не видел. Датчик подключается в разъём H1, который вместе с резистором R1 образуют делитель напряжения. Напряжение с делителя напрямую поступает на аналоговый вывод МК. Данный узел необходим для измерения сопротивления терморезистора.

Печатная плата и 3D модель устройства

Так как изначальной идеей проекта была тренировка в разводке ПП в Easy EDA, то и делать плату мы будем в этой программе (рис. 5). Итоговый размер платы 90×63 мм.

рисунок ПП в Easy EDA
Рисунок 5 — рисунок ПП в Easy EDA

Также для статьи была подготовлена 3D модель устройства (рис. 6).

3D модель устройства
Рисунок 6 — 3D модель устройства

Помимо большого количества дорожек и малой ширины промежутков между ними, плата ещё и двусторонняя, что доставит ещё дополнительных проблем при её изготовлении, но это нам и нужно (Изначальная цель проекта — изготовление сложной ПП в Easy EDA).

Перед печатью необходимо экспортировать плату в .pdf из программы (Верхний и нижний слои) в чёрно-белом варианте без шелкографии (Это легко настраивается в окне экспортирования (рис. 7)). Нижний слой экспортируется без изменений, а верхний зеркально!

настройки экспортирования для верхнего слоя
Рисунок 7 — настройки экспортирования для верхнего слоя

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

  1. Необходимо вырезать трафареты с запасом (по 5 мм с каждой стороны).
  2. Потом их необходимо совместить на просвет так, чтобы все отверстия совпали.
  3. Когда отверстия совпадут, скрепляем шаблоны по краям степлером (Аккуратно и не спеша). Лучше скреплять стороны по очереди, следя за отверстиями.
  4. После соединения шаблонов подготавливаем кусок текстолита по размерам платы и собираем «бутерброд».
  5. После выравнивания текстолита и шаблонов фиксируем «бутерброд» степлером.

Далее «бутерброд» необходимо разгладить с обеих сторон — тут нужен опыт, у меня так и не получается всё сделать идеально. После хорошо отмываем, так чтобы не осталось белого налёта на медном слое (Тут главное не перегреть плату при переносе рисунка утюгом, иначе налёт будет очень трудно снять), и получаем результат (рис. 8.1 и рис. 8.2).


Рисунок 8.1 — нижняя сторона ПП


Рисунок 8.2 — верхняя сторона ПП

Результат неидеален, но приемлем. Полученную «плату» кидаем в ваш любимый раствор для травления (Я пользуюсь медным купоросом) и вытравливаем плату. Потом отмываем, сверлим отверстия, паяем. Итоговый результат сборки представлен на рисунке 9.1 и рисунке 9.2.


Рисунок 9.1 — верх


Рисунок 9.2 — низ

Вспоминая о соотнесении отверстий на просвет степлером, считаю необходимым показать результат совмещения (рис. 10).

результат совмещения слоёв
Рисунок 10 — результат совмещения слоёв

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

Практика

Когда дело доходит до практики, то начинаются проблемы с теорией. Основной причиной проблем стала плохая пайка аналогового входа МК, поэтому пришлось перелопатить весь делитель (рис. 11), чтобы понять где была проблема (Совет: Всегда проверяйте пайку мультиметром — это поможет избежать различных проблем). Поэтому все прошлые расчёты можно смело забыть (Но закон Ома забывать не советую) ;).


Рисунок 11 — окончательная схема

Изменения в схеме в основном коснулись делителя, а также был отвязан вывод AREF от +5 В. Теперь R1 притягивает пин PC0 к земле, и номинал резистора был изменён с 10 кОм до 8.1 кОм

Теперь что касается формул. Так как конфигурация делителя изменилась, а на момент отладки уже работал вывод целых чисел на дисплей, то гораздо проще и лучше стало построить график зависимости температуры от значения АЦП и спрогнозировать его (рис. 12).

прогноз температуры от значения АЦП
Рисунок 12 — прогноз температуры от значения АЦП

Итоговой формулой для моего датчика (Напомню, он обладает положительным ТКС и имеет линейную характеристику) стало следующее выражение:

T = -0.7309*X + 378.49,

где T — температура в градусах Цельсия, а X — значение АЦП. Данная формула оказалась вполне рабочей и показания контрольного и самодельного термометров совпадают +- погрешность округления (обрезки дробной части =) ) (рис. 13).


Рисунок 13 — первое включение и тесты (Затемнение на фото вызвано высокой яркостью индикатора)

Помимо всего прочего, схему необходимо обеспечить питанием от стабильного источника напряжение, иначе показания будут «плавать».

Скетч

Помимо проблем с пайкой были ещё и проблемы с самой ATMEGA328PU: экземпляр, который я купил в радиомагазине тактируется исключительно от 1 МГц (брак какой-то), поэтому всеми любимый ардуино код пришлось переделать в гибридный вариант. Изменения в основном коснулись динамической индикации, так как при тактовой частоте 1 МГц ардуино код вызывал сильное мерцание сегментов. Поэтому пришлось писать динамическую индикацию на прямом обращении к регистрам портов (рис. 14).

порты ATMEGA328P
Рисунок 14 — порты ATMEGA328P

У ATMEGA328P всего 3 порта: PORTB, PORTC, PORTD, из которых PORTC — аналоговый (Содержит АЦП). Как видно из рисунка 15 выводы кварца и даже «Reset» являются частью портов и могут быть сконфигурированы для работы с помощью фьюзов,как и обычные пины («Reset» трогать не советую 😉 ).

Для конфигурации порта необходимо использовать регистр DDR + «Имя порта» (B,C или D и тд.). Пример:

Нумерация битов идёт справа налево — это нужно помнить!»1″ соответствует режиму выхода, «0» — входу.

Теперь краткий экскурс по правильному управлению большим количеством пинов. Пример:

Данный метод выводит значение, записанное по цифрам в массив data[]. В отличии от варианта на ардуино коде эта реализация более компактная и оптимизированная, но гораздо сложнее для понимания и отладки (Я потратил на отладку 2 дня).

И так. в массиве chisla[][] записаны коды чисел для семисегментного индикатора с общим анодом. Цикл for перебирает цифры в массиве data[] и подставляет их в один из индексов массива chisla[][], тем самым получая код нужной цифры. Далее массив из 0 и 1 необходимо преобразовать в двоичное число для регистра. На первый взгляд задача сложная, но на самом деле всё гораздо проще.

Для перевода кода цифры необходимо воспользоваться школьными познаниями в информатике: вспомнить перевод числа из десятичной системы счисления в двоичную. Умножая 0 и 1 на 2 в нужной степени мы получим необходимый двоичный код. Пример: для того чтобы «потушить» сегмент «А» необходимо на сегмент «А» подать 5В. Для этого согласно схеме необходимо подать «1» на вывод PC5, т.е. сформировать вот такое двоичное число: «B100000» или умножить 1 на 25 или на 32 (В двоичном виде 32 представляет собой как раз «B100000») =). Код на С++:

PORTC = 32 * chisla[data[i]][0];

В данном случае «0» или «1» берутся из массива chisla[][]. По такому же принципу работают и другие сегменты.

Теперь поговорим о переключении разрядов. Тут всё элементарно — побитовый сдвиг. Т.к. индикатор с общим анодом, то двигаем мы «1». Код на С++:

Цикл while в этом методе нужен для «удержания» цифры, чтобы всё случайно не смешалось во едино.

Питание

Для корректной работы АЦП вход AREF необходимо обеспечить стабильным источником опорного напряжения. Т.к. в режиме «DEFAULT» AREF притянут к AVCC, а AVCC питается у нас от 5 В, то для корректной работы АЦП необходим ИОН на 5 В. Чтобы не городить огород с кучей проводов питания — объединим AVCC и VCC, а весь прибор запитаем от DC-DC преобразователя на 5 В (Только необходимо помнить о возможных шумах преобразователя, всё же это китайский модуль).

Итоги

предфинальный результат (Показывает температуру в комнате)
Рисунок 15 — предфинальный результат (Показывает температуру в комнате)

Чтобы не растягивать статью покажу предфинальный результат (Без корпуса, DC-DC преобразователя и немного сыроватым скетчем (Я кнопочку так пока и не задействовал)). Также прибору необходима калибровка, но это последний этап и выполняется он в случае необходимости, а пока меня всё устраивает, но пару слов по данной теме я скажу:

  1. Для калибровки понадобятся 2 ёмкости: с кипящей водой и с почти замёрзшей (Чтобы плавал лёд). Кипящая вода имеет температуру в 100 °C, а почти замёрзшая — 0 °C.
  2. Далее необходимо зафиксировать значения АЦП в этих 2-х точках и добавить их на график (в таблицу) (рис. 12,).

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

Теперь собственно итоги:

  • Цифровой термометр — это не такой простой прибор, как кажется, если подойти к вопросу не со стороны готовых модулей и ардуинки.
  • Проектирование даже простых устройств начинается с теории и расчётов, даже если потом они не понадобятся ;).
  • Сделать двустороннюю плату в домашних условиях ЛУТом можно и это относительно просто, но муторно.
  • «Заливка» платы земляным полигоном — хорошо и удобно, но с зазором нужно быть внимательным, так как при изготовлении платы ЛУТом можно поиметь много неприятных сюрпризов.
  • Ардуино код — удобно, но не эффективно. При работе с большим количеством пинов рекомендуется напрямую работать с регистрами.

P.s. Данная статья является больше дневником разработки и сборки этого термометра со всеми нюансами всплывшими в это время, чем руководством или инструкцией, т.к. вряд ли кто-то ещё будет так заморачиваться.

Также, для тех кому будет интересно, прикрепил для всех исходники с Easy EDA и скетч.

Как сделать термометр своими руками

Одной из характеристик среды, всегда интересовавших человека, была температура. Знание текущей дома или на улице обуславливает нахождение людей в помещении и возможность выхода их за пределы комфортного пространства. Не последним, при надлежащей информированности, будет и выбор носимой одежды. Посудите сами: изнывая от жары, и наблюдая на домашнем градуснике +35, при этом видя на уличном +20, где пожелает остаться человек? Или на оборот, при возникновении необходимости выхода, но в случае внешней температуры далеко ниже 10, устройство ее измеряющее, предупредит владельца о необходимости тепло одеться.

Разница температур

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

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

Механический бытовой градусник

На смену аналоговым измерителям пришли электромеханические градусники. Основой их работы стали терморезисторы и чувствительные к характеристике диоды. Первые в зависимости от температуры изменяют сопротивление, у вторых с ее повышением нарушается p-n переход, позволяя легче идти току в обратном направлении. В качестве индикаторов для электромеханики применялись стрелочные вольтметры и амперметры, градуированные к работе с конкретным чувствительным элементом.

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

пример цифровых градусников

Аналоговый термометр

Начнем с самого простого способа изготовления бытового термометра, который не требует знания электрической части. Понадобится:

  • бутылка или любая иная относительно небольшая емкость, главное требование к которой, чтобы соломинка помещалась в нее почти полностью;
  • пластилин;
  • тушь или иной краситель;
  • прозрачная или матовая соломинка для коктейля;
  • содержащая спирт жидкость (духи, одеколоны, водка или любые аналогичные);
  • вода;

Рецепт изготовления: заливаем емкость до края, смесью воды пополам со спиртом. Добавляем краситель и перемешиваем. Опускаем соломинку до половины в жидкость. Фиксируем пластилином, плотно замазав промежуток между ней и стенками.

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

Самодельный термометр, сделанный ребенком

Точность устройства зависит только от качественной градации индикатора. Пределы измеряемой температуры лежат в промежутке от −40 °C до +90 °C.

Простой электронный

Для того, чтобы сделать электронный градусник, требуется немного более сложная конструкция. Индикатором температуры в нем служит амперметр чувствительностью в 50 мкА, а датчиком выступает терморезистор типа СТЗ-19 с унарным номиналом сопротивления в 10 кОм. У последнего есть много аналогов различных производителей, на тот случай, если не удастся найти оригинал указанной маркировки.

Итак, чтобы создать электронный термометр, потребуются:

Обозначение на схеме Наименование Аналоги
VT1, VT2 Транзисторы KT315A КТ3102 (А, Б, В, Г)
S1 Тумблер включения
R1 Резистор 68 Ом
R2 Переменный резистор 680 Ом
R3 Переменный резистор 22 кОм
R4, R5 Резисторы 6.2 кОм
R6* -//- 9.1 кОм
R7* -//- 910 Ом
R8 Терморезистор СТЗ-19 10 кОм
GB1 Две пальчиковые батарейки 1.5 В
S2 Двухпозиционный переключатель режима работы калибровка/измерение
PA1 Любой микроамперметр с предельным положением стрелки в 50 мкА. Желательно наибольшей длины шкалы, для последующего удобства разметки.

Схема

Единственное замечание к конструкции — терморезистор R8 нужно вынести отдельно на двух проводах от остальных элементов, чтобы излучаемое ими тепло в процессе работы не влияло на итоговые показания. В остальном схема электронного термометра отображена на картинке:

Принципиальная схема электронного термометра

Наладка

Прежде чем производить градуировку шкалы микроамперметра под показания температуры, требуется подобрать суммарное сопротивление R6 и R7 равное значению, которое выдает R8 при эталонной температуре, планируемой, как самой низкой в измерениях настоящим градусником. Использоваться цепь R6-R7 будет только при калибровке. Впоследствии ее можно безболезненно демонтировать.

Подобрав параметры элементов согласно рекомендации, поворотом R2, при работе аппарата в режиме «калибровка», устанавливаем стрелку PA1 в нулевую позицию. Подстройка R3 должна находится на средине.

Переключив самодельный термометр на «измерение» производим пробу терморезистором нагрева воздуха или жидкости с известной температурой. Отмечаем ее на шкале микроамперметра. Аналогичным образом поступаем с остальными показаниями эталонного градусника.

Принципиальная схема электронного термометра

По окончании настройки устройства, резисторы R4, R6 и R7, вместе с переключателем S2 можно убрать, соединив минусовой контакт амперметра напрямую с точкой связи R5 и R8.

Точность и пределы

Электронно-аналоговый датчик, несмотря на простоту конструкции, весьма точен — до 0.1 градусов Цельсия. Пределы зависят только от минимальной температуры с которой производились установки нуля шкалы, и максимума нагрева до выхода терморезистора из строя. Для СТЗ-19 предел «выживания» находится чуть свыше 110 ºC.

С использованием Arduino

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

Читать:
Кто такой джампер в мм2

Один из вариантов уличного термометра

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

Механизм

Общая конструкция механизма выглядит следующим образом:

Общая конструкция механизма

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

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

Схема

Несколько замечаний по схеме. Для числового вывода информации о температуре используется цифровой индикатор TM1637. Дополнительно, описанный ранее механизм, отображает значение на «аналоговой» шкале с помощью биполярного тактового двигателя М1. S1 — блокирующий выключатель, устанавливаемый сверху шкалы, S2 — снизу.

Однократное нажатие кнопки S3 переключает Ардуино в поиск положения нулевой температуры (при этом загорится светодиод LED1). «Стрелка», указывающая градусы, передвинется на требуемый уровень, для последующей отметки места начала измерений. Далее, пользуясь установленным максимумом и минимумом, с помощью линейки, размечают остальную шкалу ниже и выше нуля.

Повторное нажатие S3 переключит устройство в стандартный режим работы. Светодиод погаснет, а стрелка передвинется на позицию, соответствующую текущей температуре.

Принципиальная схема цифрового градусника с Arduino

Питание на ULN2003A подается от иного источника, чем тот, который поддерживает работу самого микроконтроллера. Последнее сделано во избежание «наводок» паразитными токами двигателя на общую схему.

Управляющий скетч

Для работы с TM1637 понадобиться библиотека Groove 4Digital Display, ее адрес:

Скетч можно скачать здесь: https://cloud.mail.ru/public/4gRK/ri7sjm19N

Точность

Округления до целой части в скетче, привели к снижению точности показаний до ближайшего градуса на аналоговой шкале. На числовом индикаторе, подобной проблемы не наблюдается — он отображает полученную температуру корректно.

Высокотемпературный градусник

Для тех случаев, когда требуется измерение температуры свыше пределов «выживания» терморезистора, используется термопара. Ее функциональность сохраняется и при 600 градусах Цельсия. Подобный определитель нагрева среды может быть полезен не только на производстве, но и дома. К примеру, определять температуру работы духовки или текущую на жале паяльника.

Промышленный градусник с термопарой

Схема

Термопара генерирует микроскопический ток, малым напряжением и силой. Для преобразования полученных характеристик, в понятный микроконтроллеру вид, используется шилд Ардуино с микросхемой MAX6675. Вывод показаний осуществляется на числовой индикатор ТМ1637.

Принципиальная схема высокотемпературного градусника

Скетч

Скетч, как и в предыдущем случае, требует библиотеки Groove 4Digital Display для управления индикатором. Преобразователь MAX6675 контролируется процедурами из одноименной коллекции, расположенной по адресу:

Скетч можно скачать здесь: https://cloud.mail.ru/public/Y8Yz/jYWsjgY29

Резюмируя

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

Простой цифровой термометр своими руками

Наткнулся недавно в интернете на интересный материал, идея заинтересовала, но после сборки отказалась корректно работать, погуглив дальше наткнулся на другой вариант, который и представляю.

Простой цифровой термометр с подключением через COM-порт.

Рабочий вариант схемы был найден здесь.
Для сборки данного девайса понадобятся следующие компоненты:
1) Термодатчик DALLAS DS1820 — самая главная часть всей схемы, датчиков можно прицепить несколько параллельно. По описанию каждый сенсор имеет собственный 64 битный ID, что позволяет использовать одновременно 100 сенсоров на шине, длиной 300 м, проверить не довелось, но два датчика на шине длиной 5 метров успешно работают.
2) Стабилитроны на 3.9V, 6.2V, 5.6V, самой минимальной мощности — они компактнее.
3) Диод Шоттки, использовал 1N5818 в количестве 2шт.
4) Диод 1N4148 — 1шт.
5) Резистор 1,5кОм, 0,25Вт — 1шт.
6) Конденсатор 10мкФ, 16V — 1шт.
7) 9-контактный разъем COM-порта, тип — мама.
8) Корпус для разъема.
9) Паяльник, припой, и прямые руки =)

Компоненты необходимо собрать по следующей схеме:

Для людей не подкованных в электронике стоит отметить что на всех диодах/стабилитронах полоска на корпусе обозначает катод. Из следующей картинки можно понять как необходимо монтировать детали.
image
На корпусе конденсатора есть пометка полярности — не ошибетесь, резистор полярности не имеет, паяем как хотим.
Выводы датчика расположены следующим образом:
image

Монтаж можно вести прямо на разъеме, при некоторой сноровке, достаточно плотный монтаж можно уместить в корпусе разъема, что несомненно удобно и практично.

Посмотреть на Яндекс.Фотках

Подключать несколько датчиков нужно параллельно, в итоге получается примерно вот такая штуковина

Посмотреть на Яндекс.Фотках
Датчик на конце можно залить эпоксидкой и ему не будут страшны условия за окном.

Термометр готов, и что особенно приятно, все работает без какой либо калибровки сенсоров.
Для считывания показаний термометра потребуется программа digitemp, она есть в репозитариях популярных дистрибутивов Linux, установить сложности не составит. Также у нее есть официальный сайт.
Для пользователей Gentoo стоит отметить что для данной схемы необходимо собрать пакет с опцией USE=»ds9097″ emerge digitemp

Далее запускаем инициализацию программы командой digitemp_DS9097 -i -s /dev/ttyS0
На выводе видим следующее:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 — www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
10E89CA3000800B2 : DS1820/DS18S20/DS1920 Temperature Sensor
10C162A300080096 : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 10E89CA3000800B2
ROM #1 : 10C162A300080096
Wrote .digitemprc

Программа нашла два датчика, значит устройство работает верно.

Теперь можно считать информацию со всех датчиков командой digitemp_DS9097 -a -s /dev/ttyS0
Получаем следующие данные:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 — www.digitemp.com
Mar 28 18:29:00 Sensor 0 C: 6.38 F: 43.47
Mar 28 18:29:01 Sensor 1 C: 26.50 F: 79.70

Для удобства интеграции в систему мониторинга можно использовать следующий вариант:
/usr/bin/digitemp_DS9097 -c /root/.digitemprc -t 0 -s /dev/ttyS0 -q -o «%.2C»
Считывает показания нулевого сенсора и без лишней мишуры выводит сухие цифры, для считывания других датчиков можно менять параметр -t.

Устройство было подключено к серверу, где уже давно его ждала система мониторинга cacti, теперь можно наблюдать такие интересные графики:

Видно когда в комнате было открыто окно и как медленно под вечер опускается температура на улице. =)

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

В планах написать апплет для панельки gnome, который будет брать информацию с сервера и выводить на панель текущую температуру.

Схема электронного термометра с выносным датчиком своими руками

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

Суть устройства

Термометр, разговорный аналог — градусник, предназначен для измерения температуры окружающей среды. Первое устройство было изобретено в 1714 году немецким физиком Д. Г. Фаренгейтом. В основе своей конструкции он использовал прозрачную запаянную колбу, внутри которой находился спирт. После в качестве жидкости учёный применил ртуть. Но шкала аналогового измерителя, существующая и по сей день, была разработана лишь только через 30 лет шведским астрономом и метеорологом Андерс Цельсием. За начальные точки он предложил взять температуру тающего льда и кипения воды.

Интересным фактом является то, что изначально числом 100 была отмечена температура таяния льда, а за ноль взята точка кипения. Впоследствии шкалу «перевернули». По некоторым мнениям это сделал сам Цельсий, по другим — его соотечественники ботаник Линней и астроном Штремер.

Вскоре изготовление ртутных измерителей было широко налажено производством в промышленных масштабах. Со временем ртуть из-за своей ядовитости была заменена на спирт, а затем и вовсе был предложен новый тип устройства — цифровой. Сегодня, пожалуй, градусник стал неотъемлемым атрибутом любого жилища. По совету Всемирной организации здравоохранения была принята Минаматская конвенция, направленная на постепенный вывод из обихода ртутных градусников. Согласно ей в 2022 году использование ртути в измерителях будет полностью прекращено.

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

Электронные модели могут располагаться в любом месте, ведь в контролируемом помещении необходимо расположить только небольшой датчик, подключённый к устройству. Этот тип используется во многих технологических процессах промышленности, например, строительных, аграрных, энергетических. С их помощью контролируется:

  • температура воздуха в производственных и жилых зданиях;
  • проверка нагрева сыпучих продуктов;
  • состояние вязких материалов.

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

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

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

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

Обработанные данные выводятся на дисплей, с которого уже визуально снимаются пользователем. Цифровые градусники позволяют измерять изменения температуры в диапазоне от -50 ° С до 100 ° С.

Всего же в конструкции простого термометра можно выделить пять блоков:

Схема электронного термометра

  1. Датчик — устройство, изменяющее свои параметры в зависимости от величины воздействующей на него температуры.
  2. Измерительные провода — используются для выноса датчика и его расположения в различных местах, требующих контроля над температурой. Чаще всего это небольшого сечения в диаметре проводники, даже необязательно экранированные.
  3. Плата электроники — содержит блок анализатора, фиксирующий изменения приходящего от датчика сигнала, а затем передающий его на экран.
  4. Дисплей — монохромный или цветной экран, предназначенный для отображения данных об измеренной температуре.
  5. Блок питания — собирается на типовых для радиоэлектроники интегральных микросхемах. Используется для стабилизации и преобразования питания, подающегося на все узлы платы.

Особенности изготовления

Сборка термометра своими руками

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

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

Из-за использования чувствительных специализированных микросхем собирать навесным монтажом схему вряд ли получится. Поэтому предварительно изготавливается печатная плата. Делать её лучше из одностороннего фольгированного стеклотекстолита методом «лазерно-утюжной технологии».

Суть метода заключается в том, что с помощью, например, Sprint Layout, рисуется печатная схема устройства и распечатывается в зеркальном отображении в масштабе 1:1 на лазерном принтере. Затем, приложив отпечатанный рисунок изображением вниз к фольгированному слою, проглаживают чертёж разогретым утюгом. Из-за особенностей тонера изображение линий перенесётся на стеклотекстолит. Далее плата погружается в ванную с реактивом, например, FeCl3.

Как самостоятельно собрать термометр

В качестве индикатора можно использовать светодиодную матрицу, но лучше приобрести любой монохромный экран. Простой экран можно взять буквально за «копейки», например, подойдёт от старых системных блоков, выполненных в форм-факторе АТ. Если планируется конструкция с выносным датчиком, то неплохим вариантом будет использование шлейфа с диаметром проводника от 0,3 мм2, но в принципе подойдёт любой провод. При этом чем вынос датчика больше, тем большего сечения нужен и провод.

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

Простой термометр

Конструкция простого термометра состоит всего из трёх деталей и тестера. В качестве датчика температуры в схеме используется LM35. Это интегральный прибор с калиброванным выходом по напряжению. Амплитуда на выходе датчика пропорциональна температуре. Точность измерений составляет 0,75° C. Запитывать интегральную микросхему можно как от однополярного источника, так и двухполярного. Предел измерений от -55 ° до 150° C.

Простой электронный термометр

В качестве мультиметра можно использовать стрелочный или цифровой прибор. К датчику согласно схеме подключают источник питания. Например, КРОНу или три соединённых последовательно пальчиковых батарейки. Измеритель же подключают к клеммам V и COM и переводят в режим измерения температуры. Потребление датчика при работе не превышает 10 мкА.

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

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

Цифровая схема

Одна из самых простых схем состоит всего из нескольких элементов. В основе конструкции лежит использование датчика, выдающего значение температуры в цифровом коде. Стоимость термодатчика LM 335 не превышает 50 центов, при этом после калибровки его точность измерения составляет от 0,3 ° до 1,5° C. Датчик может измерять температуру от — 40 ° до 100° C. Выпускается он в двух корпусах — TO-92 и SOIC. В качестве аналога можно использовать отечественную микросхему К1019ЕМ1.

При монтаже длина соединительных проводов может достигать пяти метров. Калибровка схемы осуществляется изменением напряжения, подаваемым на вывод один. Необходимое значение рассчитывается по формуле:

Uвых = Vвых1 * T / To, где:

  • Uвых – напряжение на выходе микросхемы;
  • Uвых1 – напряжение на выходе при эталонной температуре;
  • T и To – измеряемая и эталонная температура.

Напряжение, формирующее выходной сигнал, зависит от температуры, поэтому питание, подающееся на датчик, должно осуществляться от источника тока. Собирается он на двух транзисторах КТ209 и не требует дополнительных настроек. Максимальный ток питания не превышает 5 мА. Увеличение выходного напряжения на 10 мВ соответствует приросту температуры на один градус.

Использование микроконтроллера

Применение в схеме самодельного термометра микроконтроллера подразумевает использование программы, управляющей его работой. В качестве микросхемы применяется ATmega8, а датчика температуры — DS18B20.

В схеме используется небольшое число радиодеталей. Она несложная и не нуждается после сборки в какой-либо наладке. Напряжение питания микроконтроллера составляет пять вольт. Для его стабилизации используется микросхема L7805. Транзисторы можно использовать любые с NPN структурой. В качестве индикатора подойдёт трёхразрядный сегментный дисплей с общим катодом.

Схема электронного термометра

Температура устройством может изменяться в интервале от -55 ° до 125º С с шагом в 0,1º С. Погрешность измерения не превышает 0,5º С. Обмен данными между датчиком и микроконтроллером происходит по шине 1-Wire. При большом расстоянии выноса измерительной микросхемы DS18B20 от ATmega8 необходимо подобрать подтягивающее сопротивление. Распаять его лучше непосредственно на вывод датчика.

При программировании все установки микроконтроллера оставляются заводскими, и фьюзы не изменяются. Затем к собранному термометру можно добавить ещё один датчик, а также часы. Но для этого необходимо будет обладать знаниями в программировании, чтобы дописать программный код.

Точный термометр

Как своими руками собрать электронный термометр

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

Основой конструкции является микросхема ICL707 и светящийся индикатор. Питание можно подавать от любого источника с выходной амплитудой 12 В. На DA3 собран нормирующий преобразователь, изменяющий своё выходное напряжение в зависимости от сигнала, поступаемого с датчика.

Настройка заключается в выставлении на 36 ноге микросхемы напряжения, равного одному вольту. Делается это с помощью резисторов R3 и R4. Вместо датчика подключают резистор на 100 Ом. Изменением сопротивления R14 устанавливают нули на цифровом индикаторе. После чего устройство готово к измерениям.

Похожие публикации