Термометр на микроконтроллере PIC16F628A и DS18B20(DS18S20) – статья с подробным описанием схемы запоминающего термометра и, вдобавок, - логическое продолжение ранее опубликованной мною статьи на яндекс сайте pichobbi.narod.ru. Этот термометр довольно неплохо себя зарекомендовал, и было принято решение немного его модернизировать. В этой статье расскажу, какие изменения внесены в схему и рабочую программу, опишу новые функции. Статья будет полезна новичкам. Позже переделал текущую версию термометра в .
Термометр на микроконтроллере PIC16F628A и DS18B20(DS18S20) умеет:
Также в термометре предусмотрена легкая замена 7 сегментного индикатора с ОК на индикатор с ОА. Организована щадящая процедура записи в EEPROM память микроконтроллера. Вольтметр, который неплохо себя зарекомендовал, описан в этой статье - .
Принципиальная схема цифрового термометра на микроконтроллере разрабатывалась для надежного и длительного использования. Все детали, применяющиеся в схеме, не дефицитные. Схема проста в повторении, отлично подойдет для начинающих.
Принципиальная схема термометра показана на рисунке 1
Рисунок 1 - Принципиальная схема термометра на PIC16F628A + ds18b20/ds18s20
Описывать всю принципиальную схему термометра не стану, так как она довольно проста, остановлюсь только на особенностях.
В качестве микроконтроллера применяется PIC16F628A фирмы Microchip. Это недорогой контроллер и к тому же не дефицитный.
Для измерения температуры используются цифровые датчики DS18B20 или DS18S20 фирмы Maxim. Эти датчики не дорогие, малые по размеру и информация о измеренной температуре передается в цифровом виде. Такое решение позволяет, не тревожиться о сечении проводов, о их длине и прочем. Датчики DS18B20, DS18S20 способны работать в диапазоне температур от -55… +125 °С.
Температура выводится на 7-ми сегментный 3-х разрядный LED индикатор с общим катодом (ОК) или с (ОА).
Для вывода на индикатор максимальной и минимальной измеренных температур нужна кнопка SB1. Для сброса памяти так же нужна кнопка SB1
Кнопкой SA1 можно оперативно переключать датчики(улица, дом).
Jamper необходим для переключения общего провода для LED индикатора. ВАЖНО! Если индикатор с ОК – то ставим jamper на нижнее по схеме положение, а транзисторы VT1-VT3 впаиваем p-n-p проводимости. Если LED индикатор с ОА, то jamper переводим в верхнее по схеме положение, а транзисторы VT1-VT3 впаиваем n-p-n проводимости.
В таблице 1 можно ознакомиться со всем перечнем деталей и возможной их заменой на аналог.
Позиционное обозначение | Наименование | Аналог/замена |
С1, С2 | Конденсатор керамический - 0,1мкФх50В | - |
С3 | Конденсатор электролитический - 220мкФх10В | |
DD1 | Микроконтроллер PIC16F628A | PIC16F648A |
DD2,DD3 | Датчик температуры DS18B20 или DS18S20 | |
GB1 | Три пальчиковых батарейки 1,5В | |
HG1 | 7-ми сегментный LED индикатор KEM-5631-ASR (OK) | Любой другой маломощный для динамической индикации и подходящий по подключению. |
R1,R3,R14,R15 | Резистор 0,125Вт 5,1 Ом | SMD типоразмер 0805 |
R2,R16 | Резистор 0,125Вт 5,1 кОм | SMD типоразмер 0805 |
R4,R13 | Резистор 0,125Вт 4,7 кОм | SMD типоразмер 0805 |
R17-R19 | Резистор 0,125Вт 4,3 кОм | SMD типоразмер 0805 |
R5-R12 | Резистор 0,125Вт 330 Ом | SMD типоразмер 0805 |
SA1 | Любой подходящий переключатель | |
SB1 | Кнопка тактовая | |
VT1-VT3 | Транзистор BC556B для индикатора с ОК/ транзистор BC546B для индикатора с ОА | KT3107/КТ3102 |
XT1 | Клеммник на 3 контакта. |
Для первоначальной отладки работы цифрового термометра применялась виртуальная модель, построенная в протеусе. На рисунке 2 можно увидеть упрощенную модель в протеусе
Рисунок 2 – Модель термометра на микроконтроллере PIC16F628A в Proteus’e
На рисунке 3-4 показана печатная плата цифрового термометра
Рисунок 3 – Печатная плата термометра на микроконтроллере PIC16F628A(низ) не в масштабе.
Рисунок 4 – Печатная плата термометра на микроконтроллере PIC16F628A(верх) не в масштабе.
Термометр, собранный рабочих деталей начинает работать сразу и в отладке не нуждается.
Результат работы рисунки 5-7.
Рисунок 5 - Внешний вид термометра
Рисунок 6 - Внешний вид термометра
Рисунок 7 - Внешний вид термометра
ВАЖНО! В прошивку термометра не вшита реклама можно пользоваться в свое удовольствие.
Поправки, внесенные в рабочую программу:
1 автоматическое определение датчика DS18B20 или DS18S20;
2. снижено время перезаписи в EEPROM(если выполнилось условие для перезаписи) с 5 минут, до 1 минуты.
3. увеличена частота мерцания точки;
Более подробное описание работы термометра можно посмотреть в документе, который можно скачать в конце этой статьи. Если скачивать нет желания, то на сайте www.pichobbi.narod.ru также отлично расписана работа устройства.
Готовая плата отлично поместилась в китайский будильник (рисунки 8, 9).
Рисунок 8 – Вся начинка в китайском будильнике
Рисунок 9 - Вся начинка в китайском будильнике
Видео - Работа термометра на PIC16F628A
Этот вариант часов сделан таким образом, чтобы максимально упростить схему, снизить энергопотребление, и в итоге получить прибор, который легко помещается в кармане. Выбрав миниатюрные аккумуляторы для питания схемы, SMD - монтаж и миниатюрный динамик (например от нерабочего мобильного телефона), Вы можете получить конструкцию, размером чуть больше спичечного коробка.
Применение сверхъяркого индикатора позволяет снизить ток, потребляемый схемой. Снижение тока потребления также достигается в режиме "LoFF" - индикатор погашен, при этом включена только мигающая точка младшего разряда часов.
Индикация
Регулируемая яркость индикаторов позволяет выбрать наиболее комфортное отображение показаний (и опять же снизить энергопотребление).
В часах реализовано 9 режимов индикации. Переход по режимам осуществляется с помощью кнопок "плюс" и "минус". Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки - одна секунда. Применение кратковременных подсказок позволило достичь хорошей эргономичности часов. При переходах по режимам отображения (которых получилось достаточно много, для такого простого прибора, как обычные часы) не возникает путаницы, и всегда понятно, какие именно показания выведены на индикатор.
Наименование модели: PIC16F628A-I/P
Производитель: Microchip
Описание: 8- бит микроконтроллеры (MCU) 3.5 Кб 224 RAM 16 I/O
Краткое содержание документа:
PIC16F627A/628A/648A Data Sheet
Flash-Based, 8-Bit CMOS Microcontrollers with nanoWatt Technology
© 2009 Microchip Technology Inc.
DS40044G
Note the following details of the code protection feature on Microchip devices: · · · Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip"s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can g
Спецификации:
PIC16F628AI/P, PIC16F628A I/P
Микропроцессор PIC, Ядро 8bit, 3.5K-Flash 224B-SRAM 128B-EPROM, 20MHz, 3.0V…5.5V, -40°C…85°CМикроконтроллеры PIC (Peripheral Interface Controller) - это программируемые ППЗУ, имеют малое энергопотребление,...
nanbaby.ru - Здоровье и красота. Мода. Дети и родители. Досуг. Быт. Дом