Двухточечный термометр на DS18B20 и микроконтроллере PIC16F84 (A)
РадиоКот >Лаборатория >Цифровые устройства >Двухточечный термометр на DS18B20 и микроконтроллере PIC16F84 (A)
Подобных схем радиолюбителями было разработано немало, но мне захотелось собрать компактный термометр на батарейном питании, включающийся только тогда, когда надо узнать температуру. На батарейном питании потому, что не очень люблю постоянно включенные в сеть устройства, особенно, если в этом нет необходимости. Ведь температуру подходишь смотреть несколько раз в день.
Посмотрим на схему термометра:
Основой термометра является микроконтроллер PIC16F84, который осуществляет опрос интегральных термодатчиков DS18B20 и отображение информации на дисплее. Информация отображается на 10-разрядном 7-сегментном дисплее MT10T7-7T со встроенным контроллером производства компании “МЭЛТ”. Подробное описание дисплея можно найти на сайте компании: https://www.melt.aha.ru.
Устройство выглядит следующим образом:
На индикаторе символ “d” обозначает “дом”, символ “u” – улица. В свободном на снимке разряде между символом “u” и значением температуры появляется знак “–” при отрицательных значениях температуры.
Внутренности градусника:
А так размещен датчик на улице:
Датчик, измеряющий температуру в комнате находится внутри корпуса устройства. В корпусе просверлено несколько отверстий в месте расположения датчика. Датчик, измеряющий уличную температуру, помещен в подходящий пластмассовый корпус, наполненный теплопроводной пастой КПТ-8 и заизолирован от влаги герметиком. Для более правильного измерения температуры датчик вынесен на штанге подальше от стены дома. И, конечно, датчик надо бы закрыть от прямых солнечных лучей экраном, например из картона. Но мне его не было необходимости делать, так как солнце с той стороны дома, где находится датчик, появляется после 19.30, а температурой, как правило, интересуешься больше утром, перед выходом на работу.
Файлы:
Прошивка – 01.rar
Плата – 02.rar
Все вопросы – сюда.
Как вам эта статья? | Заработало ли это устройство у вас? |
Эти статьи вам тоже могут пригодиться:
www.radiokot.ru
В часах есть возможность последовательно показывать 4 режима, для которых выбирается один из десяти форматов отображения и время его показа.
Кнопка F – выход из режима. Выбор 3 основных режимов.
Кнопка PLUS – плюс/on. В режиме SETUP листать главные меню. Кнопка MINUS – минус/__(off). В режиме SETUP листать главные меню. Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.
Режим CALLS
Режим SETUP.
Режим PORT.
Режим часы.
Режим Уст SEE.
Режим УSt Буd. Установки будильника.
Режим DS18B20.
Режим DEFAULT.
Действия в нулевом режиме. F – выбор режима.
Схема clock.spl (7 Kb)
lay.rar (12 Kb) Программа написана на си в WinAvr. При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ).
Запрограммировать бит CKOPT (подключение внутренних конденсаторов).
посмотреть для PonyProg.
Затем прошить EEPROM, или сбросить основные переменные в программе таким образом -
SETUP -> DEFAULT -> SET. |
www.radiokot.ru
Простейший термометр на PIC 16F628A
Доброго времени суток уважаемые читатели. Как видно из названия статьи , речь в ней пойдет о термометре собранном на 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В. А так же на плате предусмотрено место для установки клемника, который позволяет не впаивать датчик температуры в плату, а зажать его зажимами. Это удобно при смене датчика, либо при установке датчика на длинный провод. Позволяет быстро сменить провод.
Рисунок платы
Как Вы можете видеть термометр собран на двух платах. На одной устанавливается семисегментный индикатор (трех или четырех разрядный). На второй плате устанавливаются все остальные элементы схемы. Платы между собой соединяются, по средствам гребенки, либо как в моем случае проводами..
В конце фото моего готового термометра.
Подводя итог скажу.
Благодаря трудам, проделанным Станиславом Дмитриевым, в данной схеме стало возможным применять;
Датчики температуры DS18S20 или DS18B20
Семисигментные индикаторы, как с общим анодом, так и с общим катодом.
Бонусы:
Отображение на дисплее информации без десятых долей, либо с десятыми долями градуса.
Без знака градуса, либо со знаком градуса.
При неисправности датчика пишет «Err»
Обновление индикации 122 Гц
Опрос датчика 1,5 секунды
Диапазон измерения -40..+99оС
Сайт автора данной прошивки http://ucprog.ucoz.ru
Автор статьи Кулибин.
Архив с прошивкой и платой
texrazbor.ru
Ага 🙂 опять часы.
В часах есть возможность последовательно показывать 8 режимов, для которых выбирается один из десяти форматов отображения и время его показа.
Кнопка F – выход из режима. Выбор 3 основных режимов. Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.
Режим CALLS
Режим быстрой настройки термостата.
Режим SETUP.
Режим часы.
Режим PORT.
Режим настроек термостата. Режим Уст SEE.
Режим УSt Буd. Установки будильника.
Режим DS18B20.
Режим Light.
Режим Сигнал.
Режим Сброс настроек.
Действия в нулевом режиме. F – выбор режима. Каждый час, на одну секунду, устанавливается вывод PB2(16). Для экономии, в режиме питания от батарей запрещается отсрочка сигнала. Схема. Из схемы можно исключить конденсаторы к кварцу, если запрограммировать fuse бит CKOPT.
При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ).
посмотреть для PonyProg.
Cбросить основные переменные в программе –
SETUP -> СБРОС НАС. -> SET. |
www.radiokot.ru
Часы с термометром на микроконтроллере
- Подробности
- Категория: Микроконтроллеры
- Опубликовано 15.06.2016 13:34
- Автор: Admin
- Просмотров: 1745
Простые часы с термометром на микроконтроллере AVR ATtiny2313 с выводом информации на семисегментный индикатор. Часы используют для отсчета времени микросхему DS1307 – часы реального времени и источником резервного питания в 3 В. Температура измеряется при помощи датчика температуры DS18B20.
Текущее значение времени и температуры происходит поочередно сначала время а потом температура с нтервалом в 4 секунды. Формат отображения времени ЧЧ.ММ (часы,минуты). Первый ноль не отображается. О ходе отсчета времени сигнализирует мигающая точка.
Точность отображения температуры составляет десятые доли градуса. Погрешность в интевале температуры от -10 до 85 градусов составляет порядка +/- 0.5. В другом диапазоне точность уже +/- 2 градуса.
Температура замеряется 1 раз в минуту. Измеренное значение отправляется в память контроллера в которой может хранится пять послених измеренных значения. Измеренная температура округляется до целого значения. На дисплее имеются специальные символы повашения температуры (стрелка вверх) и понижения температуры (стрелка вниз), которые показывают как изменилась температура повисилась она или понизилась.
Если нажать на кнопке “меньше” то на дисплее сразу отобразится время. Если кнопку “больше” то отобразится температура последнего измеренного значения и начнется новый процесс измеерения температуры и новое значение отобразиться на дисплее в этом случае точность составит десятые доли и в таком формате будет отображатся в течении минуты. Если датчик температуры неисправен или отсутсвует подключение то будет оторажаться только время.
Схема часов с термометром на микроконтроллере
Представленные схемы отличаются только общим выводом индикатора анод и катод. Индикаторы работают в динамической индикации. Динамическая индикация раелизована программно. Каждый семисегментный индикатор включается с интервалом 100 раз за 1 секунду. остальное время выключен.
Прошивка для микроконтроллера
В архиве имеются файлы Proteus и сама прошивка написана на ассемблере. Прошивка может работать для двух вышеприведенных схем, для схемы с индикатором с общим катодом и схемы индикатора с общим анодом. При прошивке микроконтроллера важно выствыить fuse-биты: CKSEL3, CKSEL1, CKSEL0, SUT0, BODLEVEL1, BODLEVEL0.
Скачать: прошивка микроконтроллера
Вход в режим усановки времени осуществляется нажатием и удерживанием кнопки “ввод”. После того как пройдет 3 секунды начнется режим установки минут. Для того чтобы устаноыить новое значение времени нужно использовать кнопки “больше” и “менеше”. Для того чтобы перейти в режим установки часов необходимо нажать на кнопку “ввод”. Для того чтобы сохранить выбранное время нужно также нажать и удерживать кнопку “ввод” после этого программа выйдет из режима установки времени. Если после этих всех операций в течении 10 секунд не будет нажата какия нибудь кнопка то часы перейдут в рабочее состояние и новое значение времени не будет сохраненно.
Для устройства необходимы две печатные платы из одностороннего стеклотекстолита который имеет размеры 50 на 100 мм, на одной плате устанавливаются индикатор с кнопками, а на другой сами часы. Равзодка платы в формате SpringLayout.
Индикатор или дисплей собран на двух семисегментных индикаторах FYD-8021BS-11, каждый имеет 2 разряда и имеют общий анод.
Вместо указаных на схеме вернхних включающих транзисторов платы можно использовать другие к примеру KT361B.
Исходник статьи: Часы-термометр
- < Назад
- Вперёд >
Добавить комментарий
radio-magic.ru
Часы-термометр на микроконтроллере ATmega8 с секундной стрелкой
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Часы-термометр на микроконтроллере ATmega8 с секундной стрелкой
Часы разрабатывались как аналог довольно дорогих часов ASSISTANT AH-1082.
В итоге получились часы со следующими характеристиками:
- Два датчика температуры DS18B20 (дома и на улице)
- Резервное питание часов от батареи CR2032 (без индикации)
- Светодиодная секундная стрелка
- Датчик освещённости для изменения яркости (день/ночь)
- Программная подстройка хода +/- 30 сек в неделю
В первой строке отображаются часы и минуты, во второй поочерёдно температура на улице/дома и светодиодами по кругу секунды (заполнением начиная с нулевой). Каждую нечётную минуту заполнение происходит зажиганием светодиода, а чётную гашением.
Вход в режим настройки, переключение между настройкой часов, минут и коррекцией хода кнопкой MODE. Уменьшение / увеличение кнопками “-“ / ”+”.
О деталях:
Программа написана на асеммблере в AvrStudio.
Схема нарисована в Splan, а плата в Sprint Layout
При прошивке мк установите биты CKSEL3..0 в 0100 (внутренний RC генератор 8 Meg )
SUT1:0 должен быть уже в 10 (65ms).
Файлы:
прошивка, исходники, плата, схема
Все вопросы в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
www.radiokot.ru
РадиоКот :: Простые часы на микроконтроллере.
РадиоКот >Схемы >Цифровые устройства >Бытовая техника >Простые часы на микроконтроллере.
Представляю на ваш суд простые цифровые часы на микроконтроллере. Индицируют они только часы и минуты. Всяческие новороты, типа будильника и даты, отсутствуют, так как основной задачей было просто индикация времени в темное время.
В качестве индикатора был использован 7-сегментный 4-х разрядный индикатор с общим катодом и объединенными одноименными сегментами. Почему объединенными? Да, просто на плате меньше дорожек и перемычек и все намного компактнее при использовании динамической индикации. О которой, кстати, можно почитать тут.
И вот что получилось на одностороннем стеклотекстолите размерами 60х40 мм:
Кнопкой S2 устанавливают минуты, а кнопкой S3 – часы. Я еще сделал кнопку на сброс (S1), которая позволяет установить время на полночь, иногда бывает полезно, хотя ее можно не устанавливать. Точка, разделяющая часы и минуты, моргает с частотой 1,25 Гц, то есть 0,4 секунды горит, 0,4 сек. нет.
Блок питания от старого принтера Canon он дает 5В и 24В, нагружаю только линию 5В.
Файлы:
Печатная плата в формате SL 4.0
Прошивка с исходником
Вопросы, как всегда в Форум.
Как вам эта статья? | Заработало ли это устройство у вас? |
Эти статьи вам тоже могут пригодиться:
www.radiokot.ru