Главная » Микроконтроллеры
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

Простой термометр для дома с двумя датчиками DS18B20

Данный проект родился в процессе изучения мной принципов работы интерфейса 1-wire. Для измерения температуры в этом проекте используются широко распространенные датчики фирмы “Dallas Semiconductor” типа DS18B20. Устройство способно работать с одним или двумя датчиками. Предполагается использование термометра для домашних целей, где один датчик измеряет температуру в комнате, а второй измеряет температуру на улице. Индикация значений температуры осуществляется с помощью знакосинтезирующего ЖКИ дисплея на базе контроллера HD44780 или его аналогов.

При включении устройства на дисплее высвечивается заставка “Start”, которая появляется в виде бегущей строки, затем возможны следующие варианты:
1) если устройство не обнаружит подключенных датчиков, появится сообщение “NO SIG”;
2) если устройство обнаруживает один датчик, то на дисплее появляется сообщение вида: “T =<знак температуры><целое значение температуры>,< десятые доли значения температуры>
3) если устройство обнаруживает два датчика, то на дисплее появляется сообщение вида: “T<k или y>=<знак температуры><целое значение температуры>,< десятые доли значения температуры>”, где k – сигнализирует о том, что идет работа с датчиком в комнате , y- сигнализирует о том, что идет работа с датчиком на улице.
На видеороликах, прилагаемых к статье, показаны описанные выше ситуации.

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

Датчики в устройстве работают в 12-битном режиме. Обновление показаний температуры происходит примерно раз 845 мс.

Схема термометра на МК

Переключатель SA1 предназначен для переключения датчиков, с которыми ведется информационный обмен. Если переключатель разомкнут, то работа ведется с датчиком в комнате, если замкнут, то с датчиком на улице. При переключении датчиков  присутствует инерционность (до 845 мс.), обусловленная проверкой состояния переключателя перед подачей команды измерения.
Переключатель SA2 служит для включения подсветки ЖКИ. Резистором R2 подбирается требуемая яркость. Резистором R3 регулируется контрастность дисплея.

В устройстве использован кварц на 10 МГц. Схема работоспособна, если микроконтроллер работает от внутреннего генератора 8 МГц. (При программировании фуз в обоих случаях не забываем установить CKDIV8 в лог. 1, т.е. отключить деление тактовой частоты на 8)
ЖКИ подойдет любой на контроллере HD44780 или его аналогах. В опытном образце автор использовал однострочный знакосинтезирующий ЖКИ размера 8x1 (BC0801A). У дисплеев такого формата достаточно большой размер символов, что удобно для восприятия, но их количество не позволяет одновременно выводить информацию с двух датчиков.  При использовании дисплеев других форматов необходимо учитывать то, что сообщения будут выводиться в первых 8 позициях верхней строки.

Термометр на макетной плате

Проект писался на языке C. Использовался компилятор WinAvr, вызываемый в среде Avr Studio 4.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 МК AVR 8-бит
ATtiny2313
1 Поиск в FivelВ блокнот
DD2, DD3 Датчик температуры
DS18B20
2 Поиск в FivelВ блокнот
С1 Электролитический конденсатор100 мкФ1 Поиск в FivelВ блокнот
С2, С3 Конденсатор11-22 пФ2 Поиск в FivelВ блокнот
С4 Конденсатор0.1 мкФ1 Поиск в FivelВ блокнот
R1 Резистор
4.7 кОм
1 Поиск в FivelВ блокнот
R2 Резистор
140 Ом
1 Поиск в FivelВ блокнот
R Подстроечный резистор22 кОм1 Поиск в FivelВ блокнот
ZQ1 Кварцевый резонатор10 МГц1 Поиск в FivelВ блокнот
LCD LCD-дисплейHD447801 Поиск в FivelВ блокнот
SA1, SA2 Выключатель2 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Гаркуша А. Опубликована: 2008 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (3) | Я собрал (0) | Подписаться

0
Николай #
А возможно сей девайс сделать без нажатия кнопки(S1),чтобы измерения по 1 проводной шине производилось с трех датчиков одновременно?
Ответить
0
Роман #
Собрал схему, прошил МК, втыкаю датчик ds18b20 - дисплей гаснет, подсветка практически тухнет. Выдергиваю датчик - МК запускается по новой, все окей, но нет сигнала. Решил попробовать поменять питание датчика (мало ли), дисплей не тухнет, но по прежнему нет сигнала. Попробовал воткнуть другой датчик, та же история(( в чем дело может быть? Подскажите знающие люди!
Ответить
0
Mikhail #
Не может датчик коротить. Что то Вы там накосячили - или в монтаже, или в прошивке.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Катушка Тесла Металлоискатель MD3010II
вверх