Термометр дом—улица на ATtiny2313A

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Н. Салимов, г. Ревда Свердловской обл.
Предлагаемый термометр способен работать с двумя датчиками температуры и может измерять её в двух местах (например, в жилом помещении и на улице) с дискретностью 0,1 °С в пределах от -55 °С до +99,9 °С. На страницах журнала за последние годы были опубликованы описания нескольких подобных устройств. В частности, статья Е. Лукьяненко и др. "Термометр повышенной точности с датчиком DS18S20" ("Радио", 2014, № 5, с. 48, 49). Но описанный в ней прибор, на мой взгляд, имеет существенные недостатки. В частности, применённый микроконтроллер ATmega8515-16PU избыточен для столь простого устройства, а трёх разрядов индикатора недостаточно для полноценного отображения информации. Эти недостатки устранены в термометре, схема которого изображена на рис. 1.


Его основные элементы — двадцативыводной микроконтроллер ATtiny2313A-PU (DD1), четырёхразрядный светодиодный индикатор СС56-12GWA (HG1) с общими катодами элементов каждого разряда и соединёнными для динамической индикации анодами одноимённых элементов всех разрядов и два цифровых датчика температуры DS18B20 (ВК1 и ВК2).
Выводы анодов индикатора подключены к восьмиразрядному порту В микроконтроллера через ограничивающие ток резисторы R9—R16. Общие катоды разрядов индикатора, амплитуда импульсов тока которых может достигать 120 мА, коммутируют транзисторы VT1—VT4. Сигналы управления поступают на их базы с четырёх линий порта D микроконтроллера через резистивные делители напряжения.
Датчики температуры подключены к двум раздельным линиям порта А, сконфигурированным в программе как обычные линии дискретного ввода-вывода. Светодиод HL1 показывает, какой из двух опрашиваемых поочерёдно датчиков активен в данный момент. Он включён при работе датчика ВК2 и выключен при работе с ВК1. Но если установить перемычку S1, программа станет работать только с датчиком ВК1.
Интервал обновления информации о температуре — 6 с. Если измеренная температура ниже нуля, в крайний левый разряд индикатора выводится знак минус. При температуре выше нуля этот разряд погашен.
Для питания термометра нужен источник стабилизированного постоянного напряжения 5 В, способный отдавать ток не менее 100 мА.
Чертёж печатной платы термометра показан на рис.

2. Она изготовлена из фольгированного с двух сторон стеклотекстолита. В переходные отверстия, показанные на рис. 2 залитыми, необходимо вставить и пропаять с двух сторон отрезки лужёного провода. Если изготовление платы с двухсторонней печатью покажется слишком сложным, можно сделать её односторонней, оставив печатные проводники только на стороне, противоположной той, где будут установлены детали. Печатные проводники на стороне деталей в этом случае нужно заменить перемычками из тонкого изолированного монтажного провода, установить которые можно и на стороне печатного монтажа.
Все резисторы в термометре — С1 -4, конденсатор С2 — оксидный, остальные конденсаторы — керамические К10-7 или плёночные К73-17. Микроконтроллер ATtiny2313A-PU можно заменить на ATtiny2313V-10 или ATtiny2313-20 с последними индексами PL) или PI. К статье приложены два варианта программы микроконтроллера: Тermometr2 и Termometr2M которые можно скачать в ZIP архиве. Они различаются лишь тем, что во втором варианте не предусмотрено управление светодиодом HL1. Конфигурация микроконтроллера должна быть запрограммирована согласно таблице.

Перед выводом показаний каждого датчика на индикаторе появляется сообщение, состоящее из номера датчика (цифры 1 или 2), пробела и знака градуса Цельсия (°С). Если установкой перемычки S1 датчик ВК2 заблокировать, это сообщение выводиться не будет.
Остановлюсь на одной важной, на мой взгляд, особенности. Датчики температуры подключены к разным линиям микроконтроллера, поэтому обмен информацией с каждым из них идёт по отдельной шине 1 -Wire. Это позволяет использовать датчики температуры DS18B20, не зная их индивидуальных идентификационных кодов. Но считанные из датчиков результаты их работы далее обрабатываются и выводятся на индикатор одними и теми же подпрограммами.
Термометр проверен в действии с одним и двумя датчиками температуры, в том числе при соединении их с платой жгутами свитых изолированных многожильных проводов длиной до 4,5 м. Собранная плата термометра показана на рис. 3 в режиме работы с одним датчиком.

Радио №4 2018
Четырёхканальный термометр на ARDUINO UNO
Простой цифровой термометр на PIC16F628A и датчике DS18B20
Двойной термометр на ARDUINO UNO

Оставлять комментарии могут только зарегистрированные пользователи