Это очень простой цифровой термометр на микроконтроллере ATmega8, измеряющий температуру в диапазоне от 2 до 99° C с разрешением 1° C.
Этот термометр может быть полезен в качестве комнатного термометра или индикатора температуры различных устройств (компьютерный блок, силовой транзистор или теплообменник процессора, двигатель, холодильник и т. д.).
Схема управляется микроконтроллером IO1 — Atmel AVR ATmega8, ATmega8L или ATmega8A. В качестве датчика температуры используется интегральная схема LM35. Датчик температуры обеспечивает выходное напряжение, которое линейно пропорционально температуре с коэффициентом 10 мВ на каждый градус температуры.
Результат измерения температуры отображается на двузначном семисегментном светодиодном индикаторе. Индикатор имеет мультиплексное управление. Частота мультиплексирования составляет около 100 Гц.
Катоды светодиодного индикатора подключены к порту D, а аноды — к младшим 2 битам порта B микроконтроллера. Использование сверхяркого индикатора позволило отказаться от транзисторов управления.
Резисторы R1…R7 задают ток на сегментах индикатора и, следовательно, их яркость. Их сопротивление подобрано так, чтобы не был превышен максимальный выходной ток отдельного вывода микроконтроллера (40 мА), даже когда все 8 сегментов горят одновременно.
В термометре используется 10-разрядный аналого-цифровой преобразователь (АЦП), входящий в состав AVR ATmega8. Обрабатываются только старшие 8 бит. При значении температуры выше 99° C появляется символ «- -». Частота обновления отображаемых данных составляет около 2 Гц.
Микроконтроллер ATmega8 работает от внутреннего генератора на частоте 1 МГц. Внешний кварц не нужен, потому что тактовая частота не критична для работы аналого-цифрового преобразователя.
В работе АЦП используется внутренний источник опорного напряжения с номинальным (типовым) напряжением 2,56 В. Для измерения температуры с разрешением 1° C этого волне достаточно. Напряжение питания термометра составляет 5В, а потребление тока около 25 мА.
Скачать прошивку (413 bytes, скачано: 218)