Простой многоканальный термометр – Микроконтроллеры – Схемы на МК и микросхемах
Понадобился мне для дома простейший термометр для измерения, так сказать, “забортной” температуры. Наружного термометра за окном у меня нет, поэтому решил собрать простую схему с выносным датчиком для измерения уличной температуры, чтобы не выглядывая в окно и не рассматривая деления на наружном спиртовом термометре (если он имеется), сразу видеть уличную температуру на цифровом табло в помещении.
Схему долго не искал, сразу попался на глаза термометр на PIC-контроллере, автор которого Ondrej Slovak, и так как имеется нормальный программатор, решил собрать эту схему.
Чем она мне понравилась, ну довольно простая, мало деталей и возможность подключать к этому термометру несколько датчиков температуры, которые можно установить в разных местах. Например один в помещении, другой на улице.
Датчики температуры в этом термометре самые обычные, DS18B20. Термометр позволяет подключить к себе от одного, до пятнадцати подобных датчиков, для контроля за температурой в пятнадцати различных мест (может кому-то и понадобится).
Температуры ниже -9,9 или выше +99,9 ° C, отображаются с разрешением в 1 ° C. Отрицательные температуры отображаются со знаком “-“, а положительные без знака.
В качестве цифрового индикатора температуры, применён 3-х разрядный светодиодный индикатор с общим анодом.
Отображение температуры различных датчиков происходит автоматически. Сначала анимацией отображается номер температурного датчика в шестнадцатеричном формате (цифры от 1 до 9 и буквы A,B,C,D,E,F) в течении 3 секунд, затем индикация температуры этого датчика (10 секунд).
Как это всё отображается на цифровом индикаторе, видно на анимационном рисунке ниже. Рисунок отображает температуру и номера всех пятнадцати (если они будут) подключенных к термометру датчиков.
Поиск подключенных датчиков происходит после включения питания термометра.
Если к термометру подключён только один датчик, то его номер не отображается и на индикатор выводится только температура этого датчика без всякой анимации.
Термометр собран на микроконтроллере PIC16F88, его так-же можно собрать и на микроконтроллере PIC16F628A. В прикреплённом архиве в конце статьи, имеются прошивки для этих двух микроконтроллеров.
Ниже приведена схема термометра в авторском варианте.
Все температурные датчики подключаются параллельно к одному шлейфу.
Если в процессе эксплуатации какой нибудь датчик выйдет из строя, или с ним нарушится электрический контакт, на индикаторе отобразится неисправность в следующем формате – Er.x. где х = номер неисправного датчика (смотри рисунок ниже).
Повреждение датчика или ошибка связи с датчиком, не сразу выводятся на индикатор, а после того, как до него дойдёт очередь.
Если при включении термометра ни один датчик не будет найден, на дисплее отображается ошибка – E.00. Поиск датчиков при этом по-прежнему повторяется.
При включении термометра и первоначальном поиске датчиков, их серийные номера (первые 8 бит) загружаются и сохраняются в памяти микроконтроллера, и датчикам присваиваются номера (1- самому маленькому номеру и далее по возрастанию до F, если датчиков 15), и может случиться так, что два или более датчиков, которые подключены к термометру, могут иметь один и тот же байт (номер). В этом случае на индикаторе будет отображаться ошибка [E.02] и поиск датчиков будет повторяться.
Если будет отображаться такая ошибка, то нужно будет поочередным изъятием датчиков из термометра, определить, какие из них имеют одни и те же коды (ошибка пропадёт) и заменить этот датчик на другой.
В авторском варианте термометр собран на двухсторонней печатной плате, а если убрать ICSP разъем для внутрисхемного программирования, то на односторонней печатной плате (смотри на рисунке ниже).
Красным цветом на рисунке обозначены проводники на другой стороне платы, которые относятся только к ICSP разъему для внутрисхемного программирования.
Трёх-разрядный светодиодный индикатор, припаивается на противоположную сторону от установки панельки микроконтроллера.
Я особо заморачиваться не стал, и собрал термометр на макетной плате. Индикатор поставил зелёного цвета, такой индикатор более приятен для глаз, особенно в тёмное время суток.
Поставил ещё стабилизатор на пять вольт. Наружный датчик подсоединил к термометру гибкими проводами, длинной три метра, свитыми между собой наподобие витой пары.
Провода припаял к датчику, потом закрыл место пайки и частично сам датчик термо-усадочной трубкой, и потом сами выводы проводов залил ещё клеем для герметизации, так как датчик будет находиться на улице, и это необходимо для защиты его от воздействия всевозможных атмосферных осадков.
С обратной стороны монтаж сделал обычными проводами, в качестве резисторов 300 Ом, поставил резисторы SMD.
Естественно разъём для внутрисхемного программирования устанавливать не стал, он мне тан не нужен.
В качестве блока питания здесь можно использовать любую зарядку для сотового телефона (смартфона).
Я поставил вот такую зарядку, которая давно валялась дома без дела после замены телефона.
Можно поставить в термометр и второй датчик, для контроля температуры, например в помещении, в котором установлен термометр, но мне пока это без надобности, а если понадобится – так поставить второй датчик, дело пяти минут.
Скачать архив;
Архив
vprl.ru
Термометр
Прибор, предназначенный для измерения температуры различных веществ (воздух, газ, пар, жидкость, почва и т.п.)
2012 г.Bluetooth термометр
Одним утром я проснулся и захотел узнать температуру на улице. Вместо того, чтобы идти в хозяйственный магазин и покупать стеклянный термометр, я решил сделать самодельный беспроводной термометр. В центре платы находится микроконтроллер PIC12F675 в корпусе SO8. В правой части платы находится линейный источник питания (LP2950), ниже центра находится 1-Wire датчик температуры DS18B20, а в левой части находится TTL Bluetooth модуль от Sure.
Автор: Jamie Maloway
1 0 [0]Сдвоенный цифровой термометр на ATmega8 и DS18B20
Предлагаю свой вариант цифрового термометра с двумя датчиками температуры. Устройство выполнено на микроконтроллере ATmega8 и двух датчиков с интерфейсом 1-wire, типа DS18B20 или DS1822. Устройство используется в домашних целях, один из его датчиков устанавливается на улице, другой в помещении. Индикация значений температуры осуществляется двумя сдвоенными светодиодными 7-сегментными индикаторами с общим катодом, расположенными друг над другом.
Автор: Баранов Павел
12 0 [0]Похожие статьи: 2007 г.
Термореле с цифровым датчиком температуры
В описываемой конструкции простого термореле использован недорогой цифровой датчик температуры TCN75-5,0. Малые размеры, низкая стоимость и легкость использования делают TCN75 идеальным для встраивания в различные устройства автоматики. Термометр предназначен для работы в диапазоне температур от -55 до +125 градусов, имеет дискретность 0,5 градуса, точность измерения при напряжении питания 5,0 вольт 1 градус, что идеально подходит для указанных целей
Автор: Якименко Сергей
0 0 [0]Похожие статьи: 2008 г.
Термометр на PIC
Представлена схема простого термометра на PIC’е. Индикатор (в моём случае BA56-12SRWA) используется с общим анодом.
Автор: Клюшников А.
Похожие статьи: 2009 г.
Цифровой термометр на датчике LM75AD
Данный прибор предназначен для измерения температуры воздуха в диапазоне от нуля до +45 градусов. Управляет термометром микроконтроллер ATtiny2313
Автор: Баранов Павел
0 0 [0]Похожие статьи: 2010 г.
USB термометр
В качестве микроконтроллера, был выбран ATmega8. Цифровой термодатчик: DS18B20, у которого пределы измерения температуры от -55 до +125 градусов Цельсия
Автор: Бражников Михаил
11 0 [0]Похожие статьи: 2010 г.
Universal device
Устройство “Universal device” (Универсальное устройство) содержит в себе функции нескольких устройств, которые сильно облегчают жизнь людям, автоматизируя жилую площадь. Так как устройство стремительно улучшается, оно имеет свой USB загрузчик, поэтому для обновления прошивки достаточно просто подключить Universal device к компьютеру, включить режим самопрограммирования и запустить на ПК программу для обновления прошивки.
Автор: Бражников Михаил
Термометр на DS18B20
Хочу предложить для повторения простой термометр на датчике DS18B20 (DS18S20) и PIC16F630. Сделано для применения в климатической приточной системе на другом МК, а данная схема явилась побочным продуктом разработки. Особенностью является высокая скорость измерений (период отсчетов около 110 мс). Диапазон обычен: -55…+125 , разрешающая способность 1 градус, точность соответствует точности датчика – 0,5 градуса (в диапазоне -10…+85).
Автор: Ямпольский Марк
8 0 [0]Похожие статьи: 2010 г.
LCD-термометр
Из данной статьи вы узнаете как сделать простой LCD-термометр. В основе схемы лежит микроконтроллер PIC16F88. В качестве датчиков температуры используются два LM35. В качестве LCD дисплея используется графический ЖКИ дисплей 128х64 точек KS0108
Автор: none
1 0 [0]Похожие статьи: 2010 г.
Беспроводной измеритель температуры и влажности
Представлен проект устройства беспроводного измерителя температуры и влажности воздуха, с USB-подключением. Данный проект основывается на проекте obdev Remote Sensor. Основное отличие: вместо аналогового датчика температуры используется цифровой измеритель температуры и влажности Sensirion SHT11.
Автор: Колтыков А.В.
3 0 [0]Похожие статьи: Весь список тегов
cxem.net
РадиоКот :: Двухканальный термометр на AtMega8
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Двухканальный термометр на AtMega8
Понадобился мне термометр, который одновременно показывает температуру на улице и дома. В Интернете полно схем, которые реализованы с использованием датчика DS18B20, и даже не одного, а нескольких… Но во всех термометрах, схемы которых я нашел, был только один семисегментный индикатор с 2, 3 или 4 разрядами. Вывод температуры на него с двух и более датчиков производится попеременным переключением индикации. Аналогичный термометр прослужил мне некоторое время. Но мне показалось это неудобным. Было принято решение использовать 2 трехразрядных семисегментника, чтобы температура с каждого из двух датчиков выводилась на свой дисплей. Но готовых решений в Интернете я не нашел, поэтому пришлось самому сделать то, что требуется. Конечно, можно изготовить два отдельных термометра и разместить их в одном корпусе… Но это нерационально.
В моем двухканальном термометре используется 2 датчика DS18B20-один для улицы и второй для дома. Датчики эти привлекают достаточной точностью показаний и неприхотливостью. Применен микроконтроллер AtMega8А в корпусе TQFP32 (других под рукой не оказалось), и семисегментные трехразрядные индикаторы с общим анодом CPD05231UR2/A. Они достаточно яркие при небольшом токе потребления. Транзисторы в цепях анодов являются ключевыми, дабы не превышать максимальные токи для портов МК.
Схема устройства (нажмите для увеличения)
Схема питания стандартна – стабилизатор 7805. В качестве источника питания применил зарядное устройство от сотового телефона Siemens. Оно дает на выходе примерно 7,5 вольт, что достаточно для нормальной работы стабилизатора 7805.
Печатная плата у меня получилась двусторонней, разрабатывалась под конкретный корпус. На одной стороне размещен стабилизатор, 2 семисегментника, разъем питания, электролитический конденсатор, разъем для программирования и подтягивающий резистор на 4,7 кОм для нормальной работы датчиков. Все остальные детали размещены на другой стороне платы. Конечно, можно использовать микроконтроллер и в DIP-корпусе, но тогда придется нарисовать свою печатную плату, ориентируясь на названия портов микроконтроллера.
Вид внутри
Плата сзади
Один датчик (комнатный) установлен сбоку корпуса, а второй-на улице. Для правильности показаний уличный датчик нужно установить так, чтобы на него не падал солнечный свет и не попадали атмосферные осадки. Желательно его ставить с северной стороны дома, где солнышка мало. Я его разместил в воронке, сделанной из пол-литровой пластиковой бутылки, обрезав ее. Предварительно надо загерметизировать контакты датчика. У меня это выглядит так (кликабельно):
Датчик закреплен с внешней стороны балкона.
Программирование МК.
Тактовая частота МК выбрана 8 МГц. Кварц я не использовал-нет необходимости. Частоту внутреннего генератора выставляем фьюзами, как на картинке:
Картинка дана для программы CodeVision AVR.
Для выставления фьюзов в других программах я пользуюсь универсальным правилом. Считываем фьюзы нового МК и смотрим на фьюз RSTDISBL. Если на нем нет галочки (как в CodeVision и как на скриншоте), то все галочки ставим также. А вот если на этом фьюзе есть галочка, то все фьюзы нужно выставить инверсно, то есть наоборот. Фьюз RSTDISBL никогда не трогайте. Если его изменить, то прошивка МК станет невозможна.
Прошить микроконтроллер можно любым программатором AVR. Я постоянно пользуюсь программатором STK200. Мне он нравится своей простотой, развязкой от LPT-порта и скоростью прошивки чипов.
Детали.
Микроконтроллер можно применить с любыми буквами. Если используете МК в DIP-корпусе, будьте внимательны при разводке платы. Семисегментные индикаторы можно применить любые трехразрядные (или 4-х разрядные) с общим анодом. Резисторы R4-R11 являются токоограничительными, ими можно подобрать яркость свечения индикаторов, не забывая о максимальном токе в 20 мА на порт микроконтроллера. Транзисторы BC857B можно заменить аналогичными с проводимостью PNP. Так как отладкой я занимался непосредственно в железе, был установлен разъем для ISP-программирования.
Вот что получилось в итоге.
Термометр на стене.
Сзади корпуса прорезаны небольшие отверстия для крепления на стене. В качестве лицевой панели применил оргстекло, затемнив его пленкой для тонировки автомобильных стекол. Корпус был взят от леденцов Монпансье, сверху он закрывался жестяной крышечкой. На верхнем индикаторе-температура дома, на нижнем-за бортом. Яркость индикаторов большая, фото сделано при сильном освещении, и даже тонировочная пленка не мешает нормально видеть показания термометров.
Удачи Вам в сборке!
Файлы:
Печатная плата
Схема термометра
Прошивка
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
Электронный термометр с выносным датчиком DS18B20 на микроконтроллере Attiny2313
В данной статье проведем обзор цифрового термометра, построенного на микроконтроллере Attiny2313, снабженного выносным цифровым датчиком DS18B20. Пределы измерения температуры составляет от -55 до +125 градусов Цельсия, шаг измерения температуры составляет 0,1 градус. Схема очень простая, содержит минимум деталей и ее запросто можно собрать своими руками.
Описание работы схемы термометра
Самодельный электронный термометр с выносным датчиком построен на всем известном микроконтроллере Attiny2313. В роли температурного датчика выступает микросхема DS18B20 фирмы Dallas. В схеме термометра можно применить до 8 цифровых датчиков. Микроконтроллер взаимодействует с DS18B20 по протоколу 1Wire.
Вначале происходит поиск и инициализация всех подключенных датчиков, затем с них происходит считывание температуры с последующим выводом на трехразрядный семисегментный индикатор HL1. Индикатор может быть применен как с общим катодом (ОК), так и с общим анодом (ОА). Подобный индикатор так же был применен в схеме часов на Attiny2313. Под каждый индикатор имеется своя прошивка. Измерять температуру можно как дома, так и на улице, для этого необходимо вынести DS18B20 за окно.
Для прошивки микроконтроллера Attiny2313 необходимо выставить фьюзы следующим образом (для программы CodeVision AVR):
Скачать файлы прошивки и печатной платы (1,0 Mb, скачано: 6 111)
Источник : www.radiokot.ru
www.joyta.ru
cxema.org – Простой термометр на микроконтроллере
Искал простой термометр для дома что бы выполнить в полевых условиях (переехал в другой город и только паяльник и монтажная плата из инструментов) , задача была проста – а именно узнать температуру прежде чем выйти из дома и занять себя на время сборки
Хотелось минимум вложений трудностей и максимум простоты и «красивости» термометра
Придумывать что то новое или изобретать велосипед не хотелось (да и времени с желанием не было именно изобретать, хотелось взять и сделать)
———————————————————————————————–
Схема (Из оригинала статьи тут мне добавить собственно нечего)
На схеме показан запасной вариант включения термодатчика, если он не захотеть работать по первому варианту (хотя у меня заработало все сразу). Хочу обратить внимание на резистор в 4.7 кОм, изменение его значения чревато нестабильной работой устройства , хотя можно поэкспериментировать .
Сегментный индикатор подключен на прямую к микроконтроллеру (как и в моем варианте реализации) но я бы рекомендовал добавить ограничительные резисторы номиналом 150-470 Ом
Что получилось при сборке
Так как у меня была только монтажная плата и 300р на все про все было принято решение собирать все «на весу» сложностей было только 3 а именно: 1) припаять smdрезистор (такого наминала в магазине не оказалось, но мне попалась плата с нужным мне резистором на мусорке) 2) поиск проводов (как бы это банально не звучало)
3) самое главное! Программатор для тиньки . У меня был программатор USBASP (купленный на ебэе за 3$) который работать с контроллером отказался, причины так и остались для меня тайной…
Пришлось искать компьютер с LPTпортом (что нынче проблема великая ) для использования старого доброго….
А вот и фьюзы для программы PonyProg (будьте внимательны неправильная их расстановка ведет блокированию микроконтроллера в лучшем случае, при разблокировке обычно спасает кварцевый резонатор на 8 мГц ) :
Ну и конечно что получилось в результате
На индикатор натянул пленку красного цвета для того что бы в глазах не рябило и воспринималось красивее
Питание контроллера упростил до практически критического минимума оставив только стабилизатор 7805 (планировал питать от USBпорта ноутбука где перепады и помехи маловероятны)
Печатная плата:
Прошивка:
Прошивка для индикаторов с ОА (+) и ОК (-) – в HEX-формате, проект под CodeVisionAVR с которым можно поэкспериментировать при достаточных знаниях программирования . Главная «фишка» это динамическая индикация . Проблема заключалась в том, что во время общения с датчиком температуры бывали моменты, когда “сканирование” индикации останавливалось. Поэтому обновление индикатора сделано в главном цикле программы, и ещё вставлено кое-где в процедуре общения с датчиком… таким способом удалось избежать мерцания индикатора
В итоге мы имеет ОЧЕНЬ простое устройство которое способен повторить любой начинающий радиолюбитель (единственное на мой взгляд что может вызвать трудность так это прошивка микроконтроллера )Габариты сравнительно малы, в первом прототипе устройства разместил в пластмассовый корпус из под жвачки (фото к сожалению не могу показать но все устройство помещалось в ладонь ) И один из главных плюсов (не считая точности) это индикатор – в темноте отлично видно и не надо ломать голову над подсветкой как с китайскими термометре на ЖК которые при холоде ещё и отображаться неадекватно
ЗЫ
Точность измерить не удалось но судя по бытовым приборам очень высока
Скачать архив можно тут
Автор Den688
vip-cxema.org
РадиоКот :: Миниатюрный термометр с термопарой
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Миниатюрный термометр с термопарой
Устройство применяется для контроля температуры глицерина при лужении печатных плат в домашних условиях.
Диапазон измеряемых температур |
80-500 0С |
Погрешность измерения |
±3 0С |
Тип термопары |
К – тип |
Напряжение питания |
3.7-10 В |
Ток потребления |
12-30 мА |
Тип индикатора |
светодиодный |
Габаритные размеры |
13х49 |
Cтоимость |
<100руб |
Принципиальная элетрическая схема устройства приведена ниже.
Конструктивно устройство выполнено на односторонней печатной плате из фольгированного стеклотекстолита, изготовленной по ЛУТ, фактическая (измеренная) ширина дорожек составляет 0.214 мм.
ЭДС хромель-алюмелевой термопары усиливается операционным усилителем и поступает на вход АЦП микроконтроллера, который вычисляет температуру и с помощью динамической индикации выводит показания на светодиодный семисегментный индикатор с общим анодом. Опорное напряжение АЦП – напряжение питания микроконтроллера, стабилизированные 3 В. В устройстве применен 8-разрядный микроконтроллер от ST Microelectronics – STM8S105K4U6 в корпусе VFQFPN-32 (5х5 мм). Примечательная особенность МК – цена, составляющая 22руб в розницу. Вообще говоря, низкими ценами отличается все семейство контроллеров STM8, так же есть недорогое (300руб) средство внутрисхемной отладки – ознакомительная плата STM8S DISCOVERY.
Монтаж достаточно плотный, так как хотелось добиться миниатюрных габаритов: все резисторы и керамические конденсаторы типоразмера 0603, танталовый кондексатор типа А, операционный усилитель LM358N в SOIC8, стабилизатор LP2980AIM5-3.0 в SOT23-5. Микроконтроллер установлен горячим воздухом на предварительно подготовленные контактные площадки. Шнур термопары приклеен к плате эпоксидным клеем. В дальнейшем устройство было обтянуто прозрачной термоусадкой. Специального разъема для прошивки не предусмотрено, припаиваем проводочки от STM8S DISCOVERY к контактам платы: RESET и SWIM, Vcc и GND. С установками фузов еще проще – у STM8 нет фьюзов, все конфигурируется “на лету”!
Калибровка: для примененной термопары был снят график зависимости термоЭДС от температуры – линейная функция.
Далее, следует измерить два значения ЭДС термопары после операционного усилителя (перед АЦП микроконтроллера) при разных известных температурах, например, при комнатной и при температуре кипения воды. Как вариант – можно измерить температуру кипения воды и температуру кипения глицерина 2900С (предварительно убедившись, что из него испарилась вода).
Затем измеренные значения необходимо подставить в формулу – найти наклон и смещение:
, где
Kу = 105,7 при номиналах, указанных на схеме;
U1, U2 – ЭДС термопары в Вольтах при соответственно t1 и t2;
t1,t2 – температуры в 0С.
После этого требуется исправить в программе две строчки и перекомпилировать:
// вычисление температуры
temp = (double)res/1.36;
// ввод поправки
res = (unsigned int)temp+51;,
где вместо 1.36 подставляют значение K, а вместо 51 – округленное значение смещения.
Лужение печатной платы в глицерине – тема отдельной статьи.
Файлы:
схема в Splan7
прошивка+исходник в IAR for STM8
плата в SL5
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
Электронный термометр с беспроводным датчиком | RadioLaba.ru
Решил я сделать двухканальный термометр, только не обычный, а с беспроводным датчиком для улицы. Идея конечно не новая, на рынке уже имеются подобные термометры промышленного производства. Так как у меня были наработки по подключению радиомодулей к микроконтроллеру, я начал разрабатывать свой вариант беспроводного термометра.
Для измерения температуры я использовал распространенные датчики DS18B20, для отображения показаний применил не менее популярный ЖК дисплей Nokia 5110. Радиомодули и алгоритм передачи данных я рассматривал ранее в статье про передатчик и приемник на 433 МГц
Ниже представлена схема беспроводного датчика на микроконтроллере 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 см (четверть длины волны несущей частоты).
Последние записи:
radiolaba.ru