Предлагаю свой вариант цифрового термометра с двумя датчиками температуры.
Устройство выполнено на микроконтроллере ATmega8-16PU и двух датчиков с интерфейсом 1-wire, фирмы "Dallas Semiconductor" типа DS18B20 или DS1822. Устройство используется в домашних целях, один из его датчиков устанавливается на улице, другой в помещении. Индикация значений температуры осуществляется двумя сдвоенными светодиодными 7-сегментными индикаторами с общим катодом. (например, DC56-11GWA, или подобные), расположенными друг над другом.
Знак "минус" индицируется отдельным светодиодом.
Чтобы не было заморочек со считыванием 64 разрядного идентификационного кода датчика и определения, какой из них уличный, а какой комнатный, датчики подключены к разным ножкам МК, а не висят на одной шине 1-wire. Подключение уличного датчика удобно выполнить с помощью разъема, например типа stereo-джек 3,5мм.
При включении устройства, если датчик не подключен, или не исправен на соответствующих индикаторах высвечиваются символы [--]. Обновление показаний температуры происходит приблизительно каждую секунду.
Как показала практика, датчикам типа DS1822 свойственно завышать температуру на 2-3 градуса.
Для компенсации этого в EEPROM контроллера можно записать поправочные коэффициенты, для каждого из датчиков. По адресу 0x00010 записывается коэффициент для датчика находящегося в помещении, а по адресу 0x00011 находящегося на улице. Коэффициент высчитывается по следующему алгоритму: за нулевую поправку берется цифра 0x80, и если Вам необходимо внести поправку, в минус 2 градуса, то от 0x80 нужно будет отнять 2 и записать полученный результат в соответствующую ячейку EEPROM (Например: 0x80 – 2=0x7E).
Для поправки в сторону увеличения температуры необходимо будет к числу 0x80 прибавить необходимый коэффициент, см. рис. Если в соответствующих ячейках EEPROM код 0xFF или 0x80, поправочный коэффициент не учитывается.
Микроконтроллер работает от внутреннего RC-генератора, на частоте 8 МГц, кварцевый резонатор не требуется. Для работы микроконтроллера в таком режиме, нужно запрограммировать необходимые Fuse-биты, в соответствии с ниже следующим рисунком.
Для питания устройства используется малогабаритный импульсный, стабилизированный источник питания с напряжением 5В и током 250мА.
Поскольку схема устройства довольно проста, печатная плата не разрабатывалась, устройство было смонтировано на макетной плате.
Скачать прошивку, проект в CodeVisionAVR, Proteus и в P-CAD вы можете ниже
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
DD1 | МК AVR 8-бит | ATmega8 | 1 | Поиск в магазине Отрон | ||
DD2 | Датчик температуры | DS18B20 | 1 | Поиск в магазине Отрон | ||
VT1-VT4 | Биполярный транзистор | КТ3102 | 4 | Поиск в магазине Отрон | ||
C1, C3 | Конденсатор | 0.1 мкФ | 2 | Поиск в магазине Отрон | ||
C2 | Конденсатор электролитический | 47 мкФ 10В | 1 | Поиск в магазине Отрон | ||
R1 | Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
R2-R7 | Резистор | 4.7 кОм | 6 | Поиск в магазине Отрон | ||
VD1, VD2 | Светодиод | 2 | Поиск в магазине Отрон | |||
HG1, HG2 | Семисегментный индикатор | ОК | 2 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- thermometer.rar (174 Кб)
Комментарии (12) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
Если помните, в СССР были такие разъёмы с размыкателем, их любили в кассетные магнитофоны и приёмники малогабаритные ставить - вставляешь разъём от БП, батарея автоматически отключается. Но здесь оно не нужно.