Цифровой термометр на pic16f628a схема. Делаем простой термометр на микроконтроллере. Внешний вид готовой печатной платы для термометра

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

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

Однако в том случае, если вам хочется сделать что-то стоящее своими руками, то, как первый шаг, такая конструкция себя вполне оправдывает - приобретаемый вами опыт бесценен.

Итак, для начала выберем наипростейшую схему термометра, построенного на микроконтроллере PIC16F84A, цифровом датчике температуры DS18B20, обладающем точностью измерения до 0,5 градуса, и четырёхразрядном светодиодном индикаторе с общим анодом. В моём случае применён дисплей FYQ-3641BG-21E.

Достоинством схемы является её простота - из дискретных элементов нам понадобятся десяток резисторов, несколько конденсаторов и кварцевый резонатор на 4 МГц. Основной недостаток - как и все электронные устройства, терморегулятор нуждается в источнике питания.

Применение батареек делает прибор мобильным, но срок работы от одного комплекта батареек может составить всего 1-2 недели. Запитывание термометра от сетевого блока питания "привязывает" его к какой-либо розетке, что не всегда удобно.

Добавлю, что на схеме не показано подключение питания к микроконтроллеру - плюс питания подаётся на 14 вывод, а минус - на 5 вывод микросхемы.

На рисунке показана схема термометра выполненного на основе микроконтроллера PIC16F628A, в качестве датчика используется цифровой датчик температуры DS18B20. Индикатор термометра состоит из 4-х разрадного семисегментного индикатора. Диапазон измеряемой температуры от -55 до + 125 градусов Цельсия. Температура считывается каждые 15 секунд, время считывания можно изменить в коде.

Напряжение питания термометра 5В, ток потребления 90 мА. В схеме используются транзисторы BC337 или аналогичные. Ток потребления каждого сегмента индикатора 15 мА (динамическая индикация), который ограничен резисторами 220 Ом (индикатор с общим катодом).

Файл прошивки —

DS18B20 цифровой термометр с программируемым разрешением, от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. DS18B20 обменивается данными по 1-Wire шине и при этом может быть как единственным устройством на линии так и работать в группе. Все процессы на шине управляются центральным микропроцессором.

Диапазон измерений от –55°C до +125°C и точностью 0.5°C в диапазоне от –10°C до +85°C. В дополнение, DS18B20 может питаться напряжением линии данных (“parasite power”), при отсутствии внешнего источника напряжения.
Каждый DS18B20 имеет уникальный 64-битный последовательный код, который позволяет, общаться с множеством датчиков DS18B20 установленных на одной шине. Такой принцип позволяет использовать один микропроцессор, чтобы контролировать множество датчиков DS18B20, распределенных по большому участку. Приложения, которые могут извлечь выгоду из этой особенности, включают системы контроля температуры в зданиях, и оборудовании или машинах, а так же контроль и управление температурными процессами.

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

Войти с помощью:

Случайные статьи

  • 10.10.2014

    На рисунке показана схема предварительного усилителя с тембро-блоком, тембро-блок включен в цепь обратной связи предварительного усилителя. Напряжение питания уст-ва может варьироваться от 12 до 24В, потребляемый ток не более 10 мА. Входной сигнал поступает через разделительный конденсатор С1, резисторы R1 и R2 определяют напряжение смещения транзистора VT1, после предварительного усиления …

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Девайс предназначен для измерения температуры во всем диапазоне датчика DS18B20 (от -55 до +125 градусов), с точностью до 0,1 градуса. Точность 0,1 является весьма условной, т.к. заявленная производителем точность самого датчика DS18B20 - 0,5 градуса. Тем не менее, ко мне очень часто обращались люди с предложением сделать термометр с индикацией до 0,1 градуса, что я и сделал.

Термометр измеряет температуру и индицирует ее на 4-х разрядном светодиодном индикаторе. Разные диапазоны температур индицируются по разному:
-55,0...-10,0 - в формате -ХХ.Х без символа градуса
-9,9...0,1 - в формате -Х.Х и символ градуса
0,0...9,9 - в формате Х.Х и символ градуса
10,0...99,9 - ХХ.Х и символ градуса
100,0...125,0 - ХХХ.Х без символа градуса


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

Термометр собран на 2-х печатных платах. Плата индикатора и плата контроллера. Платы спаиваются между собой под углом 90 градусов, согласно контактных площадок. При монтаже микросхемы 7805 у нее нужно срезать теплоотводящий фланец. Индикатор может быть любым, красным или зеленым. Важно, чтобы он был под динамическую индикацию с общим анодом.

Термометр будет правильно работать только с датчиком DS18B20, датчики DS1820, DS18S20 и т.п. для данного термометра не пригодны! Для питания прибора подойдет любой стабилизированный или не стабилизированный блок питания выдающий постоянное напряжение 7...12 вольт. Например, можно использовать не нужное зарядное устройство для мобильника. Если выходное напряжение блока питания не превышает 8 вольт, то вместо стабилизатор 7805 можно применить и 78L05, но если будет сильный его нагрев, придеться увеличить сопротивления в катодах индикатора до 220 ом.

Доброго времени суток уважаемые читатели. Как видно из названия статьи, речь в ней пойдет о термометре собранном на PIC. Итак. Почему и как всё начиналось?!
Понадобилась мне схема простейшего термометра для подвала гаража. Начал искать подходящую схему в Интернете. Важным критерием было применение минимального количества элементов в схеме. Сразу скажу, что таких схем термометров в сети навалом. Но! Чаще всего они выполнены на AVR с которыми я к глубокому своему сожалению не дружу. Поэтому стал искать схему на PIC. Но и тут меня ожидало разочарование. Схемы термометров на PIC есть. Но там применяют, то транзисторы для индикаторов, то внешний кварц, либо еще что то, что усложняло схему и было неприемлемо в моем случае. Наконец, после долгих поисков, подходящая мне схема была найдена тут:

http://www.labkit.ru/html/show_meter?id=38
И была успешно повторена неоднократно. Всё прекрасно работает. (на сайте автора этой схемы есть и прошивка и печатная плата для повторения данного термометра). Время шло. И в одно прекрасное время во первых выяснились недочеты данной схемы и еще мне понадобилось применить индикатор с Общим Катодом (на сайте автора прошивка была только под Общий Анод). Теперь о недочете схемы в первоисточнике. Изначально в схеме автора нет резистора подтяжки у датчика температуры. Тоесть резистор на 4,7К в схеме отсутствует. Да действительно при таком исполнении схемы термометр может работать, но только при условии, если датчик температуры впаян сразу в плату, либо длина провода на котором находится датчик не должен превышать длины провода метр, полтора метра. Не более. В противном случае индикатор начинает показывать какую- то ерунду, а не температуру.
Такой поворот событий меня совсем не обрадовал. Потому как длинна провода с датчиком мне была нудна не менее 10 метров.
Эта проблема решилась очень просто и быстро, именно установкой подтягивающего резистора 4,7К на датчике. После чего датчик стал работать стабильно при любой длине провода. Но как быть, если у меня есть индикаторы только с общим катодом! А прошивка сделана под анод… Вот тут мне и помог Станислав Дмитриев. За что ему огромнейшее спасибо. Он не только написал прошивку под общий анод. Но так же и под общий катод и под разные типы датчиков температуры (DS18S20 или DS18B20). Что позволило еще более унифицировать данную схему. И рекомендовать её к повторению. Также можно применить в схеме как четырех разрядные семисегментники так и трех разрядные семисегментники. Что является не большим, но все, же плюсом.
Теперь сама схема

Как вы видите, схема не отличается от той, что представлена, была на сайте http://www.labkit.ru
Так и было задумано изначально. Единственное изменение в схеме это установка дополнительного резистора. Схему я не стал перерисовывать с нуля. Просто добавил недостающий элемент схемы. По сути если Вы хотите еще более упростить схему и у вас есть стабильный источник питания 5В, то Вы можете исключить из схемы и линейный стабилизатор. И запитать МК сразу от 5В.
Теперь поговорим немного о том, как самому настроить прошивку под нужный вам индикатор или датчик. Тут всё просто.

Загрузив файл прошивки в программатор, Вы сами: исходя из того, что вам нужно и смотря на данный скриншот, прописываете нужные вам параметры в файл прошивки в разделе EPROM. После чего можете прошивать контролер.

В моём варианте печатной платы в плате предусмотрено место не только для линейного стабилизатора, но и для диодного моста (что позволит запитывать схему напряжением от 7,5В до 12В. А так же на плате предусмотрено место для установки клемника, который позволяет не впаивать датчик температуры в плату, а зажать его зажимами. Это удобно при смене датчика, либо при установке датчика на длинный провод. Позволяет быстро сменить провод.

Рисунок платы

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

По просьбам тех, кто собрал предыдущую конструкцию барометра на PIC 16F684 и датчике давления BMP180, публикуем статью (продолжение). Данное устройство позволяет отображать одновременно и температуру и давление. Для этого в конструкции был применен индикатор на базе микросхемы MAX7219 которая позволяет работать с матрицей 8Х7, применение данного индикатора позволило сократить число задействованных портов микропроцессора.

Датчик температуры применен самый распространенный — 18b20, который имеет трехвыводную конструкцию. DS18B20 (Programmable Resolution 1-Wire® Digital Thermometer). Диапазон измерения температуры составляет от -55 до +125 °C. Для диапазона от -10 до +85 °C погрешность не превышает 0,5 °C.

Схема устройства показана на рисунке 1.

Индикатор MAX7219 приобретался на Aliexpress. Но данный индикатор продается уже в готовом виде и вам остается только 5ю проводниками его подключить к запрограммированной плате.

Принципиальная схема индикатора показана на рисунке 2, внизу показано фото такого индикатора.

Внешний вид собранного устройства показан на фото ниже.

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

Скачать рисунок печатной платы, схему и прошивку.