Представленный термометр предназначен для контроля температуры в 8 местах с помощью датчиков DS18B20, оснащенных интерфейсом 1-Wire. Мы можем объявить нормальный диапазон температур для каждого датчика, а при его превышении вас проинформирует звуковой сигнал. Диапазон измерения температуры –55…125°С с разрешением 0,1°С.
Описание схемы
Принципиальная схема термометра представлена на рис. 1. Термометр управляется микроконтроллером (МК) ATmega8, синхронизируемым встроенным RC-генератором. Питание термометра должно осуществляться от постоянного напряжения 7…16 В, подключаемого к разъему VCC. Это может быть любой подключаемый блок питания с нагрузочным током 200 мА. Диод D1 защищает систему от неправильного подключения входного напряжения питания. Стабилизатор U2 выдает +5 В, а конденсаторы С1…С4 обеспечивают соответствующую фильтрацию напряжения питания.
Рис. 1 Принципиальная схема термометра
Результаты измерений отображаются на ЖК-дисплее с символьной организацией 4 строки и 16 символов. Благодаря этому можно отображать все параметры одновременно, как во время нормальной работы — считывания измеренных температур, так и при установке критериев сигнализации. Линии данных ЖК-дисплея подключаются к контактам PB0…PB5 микроконтроллера.
Показания температуры обновляются каждые 2 секунды. Подсветка дисплея управляется ШИМ-сигналом через транзистор Т1. Кнопки S1…S3 служат для входа в настройки и настройки термометра. Индикатором превышения температурного диапазона служит зуммер с генератором. Каждый из восьми датчиков подключен к отдельному выводу микроконтроллера. Благодаря такому решению датчики готовы к работе сразу после подключения и нет необходимости искать их по шине и прописывать серийные номера.
Монтаж
Система собрана на односторонней печатной плате размерами 61х89 мм, которая представлена на рис 2. Монтаж типовой и особенностей не имеет, за исключением ЖК-дисплея, который должен быть установлен со стороны печати.
Рис. 2 Расположение элементов на печатной плате
Способ крепления ЖК-дисплея показан на фото 1.
Фото 1
Правильно собранная схема не требует никаких пусковых мероприятий и начинает работать сразу после подключения датчиков.
При прошивке МК FUSE BIT будут следующие:
Low Fuse = 0х24
High Fuse = 0xD9
где активируется внутренний RC-генератор с частотой 8 МГц и Brown-Out Detector, который выведет МК в ноль, если напряжение его питания упадет ниже 4 В.
Датчики температуры следует подключать к печатной плате, подключив их внешние контакты к точке с маркировкой «GND», а средний контакт с точкой с маркировкой Т1…Т8 (см. рисунок).
Схема прошла положительные испытания с кабелем длиной 30 м. Если измерять только температуру воздуха, то датчики достаточно прикрыть от возможных погодных условий или механических повреждений термоусадочной трубкой. При измерении температуры жидкости убедитесь, что датчик и его контакты тщательно защищены от влаги. Самый простой способ это сделать — поместить микросхему DS1820 в алюминиевую трубку и залить ее, например, эпоксидной смолой (см. рисунок).
Когда датчики подключены к плате, подаем питание и регулируем контрастность дисплея с помощью потенциометра PR1. На дисплее отобразится приветственное сообщение и через некоторое время все текущие значения температуры:
Если подключено меньшее количество датчиков, то в том месте, где обычно отображается температура от датчика, на дисплее не будет отображаться значение, и поле останется пустым:
Применение
Устройством легко и интуитивно управлять с помощью трех кнопок S1-S3. Чтобы установить критерий тревоги для конкретного датчика, нажмите кнопку S1 или S3 и установите стрелку на определенное значение, для подтверждения выбора нажмите кнопку S2.
Результатом станет доступ к настройкам сигнализации:
Рядом со значениями «MIN» и «MAX», которые будут указывать температуру, при которой должен возникнуть звуковой сигнал, также отображается текущее значение температуры. Сначала выставляем температуру «MAX», изменяя ее кнопками S1 и S3. Нажатие кнопки S2 подтверждает установленное значение и переходит к настройке температуры «МIN». Аналогично изменяем минимальную температуру.
После подтверждения настроек кнопкой S2 значения «MIN» и «MAX» сохранятся в памяти и термометр вернется к отображению текущих температур, считываемых с датчиков.
Примерно через 20 секунд подсветка дисплея слегка уменьшится. Если на конкретном датчике обнаружено значение температуры, ранее установленное как минимальное или максимальное, это значение начнет мигать, и примерно через 5 секунд раздастся звуковой сигнал.
Общий вид термометра:
Перевод статьи из журнала ELEKTRONIKA PRAKTYCZNA 11/2013
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATmega8A | 1 | |||
U2 | Линейный регулятор | LM7805 | 1 | |||
D1 | Выпрямительный диод | 1N4007 | 1 | |||
T1, T2 | Биполярный транзистор | BC557 | 2 | |||
Датчик температуры | DS18B20 | 8 | ||||
DIS1 | LCD-дисплей 4×16 | 1 | ||||
S1-S3 | кнопки | 3 | ||||
BZ1 | пьезозуммер с генератором 5В | 1 | ||||
R1, R2 | Резистор | 4.7 кОм | 2 | |||
RN1 | резисторная матрица | 8х3.3 кОм | 1 | |||
резисторная матрица | 8х3.3 кОм | 1 | ||||
RN2 | резисторная матрица | 4×10 кОм | 1 | |||
PR1 | Подстроечный резистор | 10 кОм | 1 | |||
С1,С2 | Электролитический конденсатор | 100 мкФ 25В | 2 | |||
С3,С4 | Конденсатор | 0.1 мкФ | 2 | |||