Главная » Статьи » УСТРОЙСТВА НА МК |
Устройство
(назову его "VTC"), представленное в этом проекте, содержит в себе
функции 3-х устройств: вольтметр, термометр и часы. Выполнено оно на
микроконтроллере семейства AVR ATMega8. Цифровой вольтметр позволяет измерять постоянное напряжение от 0 до 25 вольт. В качестве контроллера используется ATMEGA8, которая тактуется внутренним RC-генератором 8мГц. Измерения постоянного напряжения производятся при помощи встроенного в контроллер 10-и разрядного АЦП. Измеряемое напряжение, через делитель R9, R10 поступает на вход ADC0 (PortC.0 выв.23). После соответствующих преобразований, результат измерения отображается на 4-х разрядном индикаторе с общим анодом (в моём случае RL-C5620). Обращайте внимание что они есть разного размера, могут отличаться цоколевкой, ну и включением (ОА и ОК). Термометр позволяет измерять тепературу от -50 до +85 гадусов. Хочу заметить, что т.к. на индикацию температуры отведено 3 разряда, то десятые доли индицируются только в диапазоне −9.9…+85°С, а другие температуры отображаются уже без десятых долей. При температуре от -10 и ниже, десятая доля больше 0,5 градусов отображается включением точки (как на четвертой картинке ниже).
Датчиком термометра служит микросхемка DS18B20, считав из нее данные о текущей температуре и сделав необходимые преобразования выводим результат измерения на индикаторЧасы. Подсчет времени происходит, постоянно, независимо от того какой режим выбран. Кроме того, в случае отключения основного питания, VTC перейдем в эноргосберегающий режим, отключив индикацию и перейдя в режим сна. В этом режиме VTC потребляет 10мкА.
Переключение между режимами вольтметра и термометра производится кнопкой S1: один раз нажали - вольтметр, ещё раз - термометр, ещё раз -часы и так по кругу. Кнопка S2 необходима для перехода из режима часов в режим
установки времени. При переходе в этот режим, начинают моргать разряды,
отображающие часы, еще раз нажимаем - моргают минуты. Кнопками S3 ("+")
и S4 ("-" ) выставляем нужное время. Кнопка S5 резервная и в этом
проекте пока не исспользуется, поэтому ее устанавливать не нужно.
Наблюдательный радиолюбитель может заметить несоответствие
подключения разрядов индикатора. Дело в том что 3-й разряд индикатора
это две точки, которые нужны для часов и они здесь исспользуются только в
режиме часов. Поэтому я в программе сделал вывод информации сначала на
первый разряд, потом на 2-й, 4-й, 5-й и только потом 3-й (только если
это режим часов). Для подпитки спящего режима можно применить любые элементы
питания от 3 до 4,5 вольт. Наличие основного питающего напряжения
контролируется процессором на входе порта PB.5 (вывод 17) через цепочку
VD3 и R22.
Транзисторы p-n-p малой мощности, можно применить BC558,
подойдут также 2SA733 или наши КТ361. Диод VD4 необходимо применить с
низким сопротивлением перехода, я исспользовал 1N5817, остальные можно
поставить 1N4001 (1N4002-1N4007).
Отдельно внимание следует уделить FuseBits. В нашем случае (для CodeVision AVR) они выставляются так:
Источник: http://meandr.org/archives/4028 | |||||||||||||||||||||||||
Просмотров: 2615 | | |
Всего комментариев: 0 | |