Вторник, 06.12.2016, 14:09
| RSS
Поиск
Главная | Каталог статей
Защита, контроль, управление
Форма входа
Логин:
Пароль:
Меню

Авторские проекты

Авторский блог

Raspberry Pi

Каталог схем

Полезная информация

Обратная связь

Каталог сайтов

Форум

Канал YouTube


Сузуки Клуб Россия

Категории каталога
Автоэлектроника [20]
Безопасность [10]
Бытовая электроника [20]
Измерения [10]
Источники питания [12]
Программаторы [5]

Ссылки



Яндекс.Метрика






Мини-чат

Наш опрос
Как Вы узнали об этом сайте?
Всего ответов: 510

Статистика

Онлайн всего: 9
Гостей: 8
Пользователей: 1
777

Главная » Каталог схем

Термометр с двумя датчиками DS18B20




Автор: Антон Гаркуша   gam-raingers@mail.ru

Источник: http://radiokot.ru/

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

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

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

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

Рис. 1. Принципиальная схема.



Переключатель SA1 предназначен для переключения датчиков, с которыми ведется информационный обмен. Если переключатель разомкнут, то работа ведется с датчиком в комнате, если замкнут, то с датчиком на улице. При переключении датчиков присутствует инерционность (до 845 мс.), обусловленная проверкой состояния переключателя перед подачей команды измерения. 

Переключатель SA2 служит для включения подсветки ЖКИ. Резистором R2 подбирается требуемая яркость. Резистором R3 регулируется контрастность дисплея. 

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

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

Внешний вид термометра, смонтированого на макетной плате, показан на рисунке 2.

Рис. 2. Макет термометра

Прошивка микроконтроолера с исходником



Добавил: Admin Дата: 03.04.2011 21:34 Просмотры: 5234


T2M © 2016
Сайт управляется системой uCoz