Представленный термометр предназначен для контроля температуры в 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 | |||