Часы вольтметр и термометр для автомобиля на atmega8 и lcd nokia – Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2)

Вольтметр, термометр и часы на ATMega8 — Меандр — занимательная электроника

Устройство (назову его «VTC»), представленное в этом проекте, содержит в себе функции 3-х устройств: вольтметр, термометр и часы. Выполнено оно на микроконтроллере семейства AVR  ATMega8.
Фунционально VTC работает в одном из режимов, который выбирается нажатием кнопки:

  Цифровой вольтметр позволяет измерять постоянное напряжение от 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) они выставляются так:

       
vtc.rar [185,23 Kb] (cкачиваний: 713)  Прошивка контроллера.
vtc_n.rar [176,61 Kb] (cкачиваний: 501) Прошивка контроллера с сигнализацией гололеда: при температуре от +1 до -3 градуса, моргает значек «градус», привлекая тем самым дополнительное внимание.
vtc-1_v2.2b.rar [28,58 Kb] (cкачиваний: 519) Версия прошивки v2.2b
В этой версии измерение напряжения до 40 вольт
vtc-1-v2.2p.rar [18,38 Kb] (cкачиваний: 151) Версия прошивки v2.2p
По многочисленным просьбам, прошивка у которой в режиме часов моргает разделительная запятая (для тех кому не удалось найти часовой индикатор)
 pcb_vtc-1.rar [161,87 Kb] (cкачиваний: 614) Печатная плата в формате P-CAD.
pcb_igumich.rar [13,28 Kb] (cкачиваний: 271) Печатная плата в формате Layout для МК в DIP корпусе
pcb_boba.rar [31,9 Kb] (cкачиваний: 264) Печатная плата в формате Layout для МК в DIP корпусе

Я это устройство поставил в блок питания. Очень удобно. Вот видео:

Уважаемые посетители собравшие этот проект с МК в DIP корпусе, если Вы желаете поделиться своим вариантом печатной платы, выкладывайте в комментариях ссылки, файлы или фото.

Все вопросы задаем на форуме

первоисточник avrlife.pp.ua

Возможно, вам это будет интересно:

ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Привет всем читателям и почитателям сайта Радиосхемы! Сегодня хочу поделиться с вами очередной простенькой конструкцией «Часы-термометр». Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком. Спустя определённое время мне это надоело и решил заменить прибор на электронный, который бы отображал информацию на светодиодных семи сегментных индикаторах. После чего бы не пришлось даже подходить к окну, чтоб узнать уличную температуру. Так как индикацию хорошо видно более чем с трёх метров. Схем данного устройства в сети полно, но я, как человек относящийся к семейству Радиолюбителей, решил собрать свою. Так как с недавних пор пытаюсь осваивать микроконтроллеры, то выбор пал на широко распространённый и дешёвый МК Atmega8. Далее была изготовлена плата по технологии ЛУТ, после чего уже приступил к программной части. Программа написана на языке Си с помощью среды разработки CodeVisionAVR.

Схема принципиальная электрическая

 ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8 - СХЕМА

 ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8 - ПЛАТА рисунок

В одном устройстве объединено две функции: собственно измерение температуры и времени (часы). Индикация производится попеременно, сменяясь через десять секунд. Для настройки часов используется две кнопки, аналогично простым китайским электронным часам: одна отвечает за выбор параметра, вторая за его изменение. Питается устройство от сети с помощью постоянного стабилизированного источника тока напряжением пять вольт (плата от зарядного устройства телефона).

 ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ САМОДЕЛЬНЫЕ 1

 ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ САМОДЕЛЬНЫЕ - 2

Датчиком температуры является микросхема DS18B20. Так как в устройстве «Часы-термометр» нет своей батареи, при пропадании питания естественно показания будут сбиваться. И что бы это не явилось причиной какого-нибудь опоздания человека на жизненно важные дела, имеется интересная «фишка» - при подаче питания вместо времени на дисплее будут отображаться прочерки, пока не нажмёшь одну из двух кнопок настройки.

Термометр - ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Термометр - ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

ЧАСЫ - ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Корпусом самодельного измерителя температуры послужила подходящая коробочка от запонок. В неё была помещена сама плата часов-термометра и плата вытащенная из телефонного зарядника. Датчик DS18B20 сделан выносным и подсоединяется через разъём.

ЧАСЫ - ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

ЧАСЫ - ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

 ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

Список необходимых деталей

  • Микроконтроллер Atmega8 – 1шт.
  • Кварц  32768 Гц – 1 шт.
  • Датчик температуры DS18B20 – 1шт.
  • Семи сегментный индикатор(4 – разряда) – 1 шт.
  • Резисторы SMD типоразмера 0805:
  • 620 Ом – 8шт.
  • 0 Ом (перемычка) – 1шт.
  • 4,7 кОм – 1шт.
  • Тактовые кнопки – 2 шт.

Видео работы устройства на Ютуб-канале

Все файлы проекта (схема, прошивка и исходник) прилагаются. По всем вопросам относительно проекта можно обращаться на форум. До новых встреч на страницах сайта Радиосхемы! С вами был Темыч (Артём Богатырь).

   Форум

   Обсудить статью ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8


РадиоКот :: Термометр-вольтметр на ATMega8a

РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Термометр-вольтметр на ATMega8a

 

Это моё первое устройство собранное на МК самим - прошивку писал сам, схему придумал сам, собрал в железо. До этого игрался пару месяцев в симуляторах, так как не было программатора и МК. Возможно, есть какие-то недостатки схемы, ПО. Хотелось бы критику, пожелания к данному устройству. ПО не очень оптимизированное, поэтому в памяти МК нет места для новых функций. (в дальнейшем планируется переход на atmega328 и добавление кнопок, меню, новых функций)

 

Возможности устройства:

Одновременный вывод информации с двух цифровых датчиков температуры DS18B20 (-55.0 - 127.9*С, у каждого своя линия 1-wire) и одного вольтметра (0.0 - 30.6V).

Вывод сообщений о ошибке датчика(OFF) и ошибки линии(CRC).

Сдвиг всех измерений так, чтобы точки, десятичные значения, градус цельсия, вольты всегда оставались на одном и том же месте, независимо от количества цифр перед ними.

 

Схема:

 

 

 Экран:

 

 

 

 

Fuses:

 

 

Файлы:
hex
Proteus

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?


Эти статьи вам тоже могут пригодиться:

РадиоКот :: Часы-термометр на микроконтроллере ATmega8.

  • 10 будильников на каждый день недели.
  • Отсрочка сигнала, если будильник не отключить, срабатывает примерно через 5 мин.
  • 8 будильников на отдельную ножку мк, вклоткл нагрузки.
  • Два датчика температуры DS18B20 (дома и на улице).
  • Таймер 99 часов.
  • Яркость индикатора настраивается для дневного и ночного времени.
  • Изменяемый параметр плавно меняет яркость, как в АОН.
  • При пропадании 220 вольт потребление от батарей 40 микроампер.
  • Будильник срабатывает при любом режиме питания.
  • Часы могут последовательно показывать до 4 режимов.

В часах есть возможность последовательно показывать 4 режима, для которых выбирается один из десяти форматов отображения и время его показа.

Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

В режимах где не указываются десятые градуса, точка определяет больше 0,5 гр..


Кнопка F - выход из режима. Выбор 3 основных режимов.
Кнопка SET - вход в выбранный режим. Далее переход к следующему параметру (мигающему полю).
Кнопка PLUS - плюс/on. В режиме SETUP листать главные меню.
Кнопка MINUS - минус/__(off). В режиме SETUP листать главные меню.

Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.

Режим 0
нажать F
SET - вход в режим будильников.
F
SET - вход в режим таймера.
F
SET - вход в режим настроек.
F
Режим 0

Режим CALLS

on/__-будильник вкл/откл.
Дни недели, в которые сработает будильник (здесь в 6 и 7 день будильник выключен).
Будильники A B C D E F G H вкл/откл. вывод call a_h мк. Будильник пригодится для управления нагрузкой. С его помощью вывод call a_h можно устанавливать на любое количество минут.
___-выключен, SET-ножка буд. A-H уст в 1, CLS уст в 0.
n-сработает один раз, o-вкл. всегда.

Режим SETUP.
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET.
Пример: LIGHT ->SET-> L.ooooo   ->SET-> НО4Ь L.2   ->SET->   LIGHT .

Главные меню режима SETUP.
PORT PLUS MINUS листать основные режимы меню SETUP.
SET - вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
ЧАСЫ
УSt SEE
SIGNAL
LIGHT
DS18B20
DEFAULT

Режим PORT.

Port Установить/сбросить ножку будильника A..H. call a_h.

Режим часы.

Устанавливаются: минуты, часы, день недели, число.
Месяц.
Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты прибавляются на один.
Коррекция хода часов. Данная величина прибавляется или вычитается каждый час. Шаг 0,03 секунды. Max=0.87.

Режим Уст SEE.

В нулевом режиме часы показывают попеременно до 4 режимов, для которых выбирается один из десяти форматов отображения и время его показа.
P1 выбор режима.
r0 выбор одного из десяти форматов отображения.
r0-003 время, которое будет виден выбранный режим.
При времени равном 000 режим не отображается (выключен).
Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

В режимах где не указываются десятые градуса, точка определяет больше 0,5 гр..

Режим УSt Буd. Установки будильника.

Bip сигнал будильника - ШИМ.
Pin сигнал будильника - уст в 1 вывод буд.
Oba Шим и вывод.
Отсрочка сигнала.
При откл. отсрочке будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут, если будильник не выключать, то после 8 раз срабатывания он откл. автоматически.
При активной отсрочке сигнала, в нулевом режиме, мигает точка последнего разряда.
Отключение отсрочки (при отсутствии сигнала). В режиме 0, нажатие SET вкл. этот режим. Наличие активной отсрочки индуцирует символ о на 4 знакоместе. Нажатие PLUS MINUS выключает отсрочку.

Режим DS18B20.

Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
on - датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
-- - датчик отсутствует.
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим DEFAULT.

По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.
Прочие режимы (SETUP).
LIGHT L ooooo - дневная яркость индикатора.
НОЧЬ L2 - яркость с 23-00 до 6-00.
SIGNAL после входа в режим кнопками плюс/минус выбирается:
budil. S или button. S
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
H004.L000.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок - установить H000 L000.
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

Действия в нулевом режиме.

F - выбор режима.
SET - режим отмены отсрочки сигнала
PLUS - режим Уст SEE.
MINUS - установка будильников.


Схема clock.spl (7 Kb)

Датчик температуры можно подключить двумя проводами, для этого нужно замкнуть GND c VDD, при этом датчик переключится в режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. При таком подключении нужен резистор 100 ом для защиты порта, на схеме указан. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: ---.

Если будильник настроить на включение вывода, то можно использовать чип от музыкальной открытки.


В этой монтажке не установлены транзисторы на вывод таймера и будильника A..H.

lay.rar (12 Kb)


Программа написана на си в WinAvr.
Скачать исходник, HEX и EEP файлы. clock_t.rar (18 Kb)

При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). Запрограммировать бит CKOPT (подключение внутренних конденсаторов). посмотреть для PonyProg. Затем прошить EEPROM, или сбросить основные переменные в программе таким образом - SETUP -> DEFAULT -> SET.

РадиоКот :: Вольтметр-амперметр-ваттметр, с дисплеем Nokia5110.

РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Вольтметр-амперметр-ваттметр, с дисплеем Nokia5110.

Данный проект,  это по сути ремейк предыдущего проекта  «ДЖИН V1».

Теперь это -  "Вольтметр-амперметр-ваттметр, V3.0 с дисплеем Nokia5110".

Программа рассчитана для измерений постоянного тока, в лабораторном БП.

Свойства программы и характеристики:

  • двухдиапазонный вольтметр, общий диапазон измерения от 0 до 100V.
от 0.00 до 9.99V. дискретность измерения напряжения 0.01V,
от 10.0 до 100.0V дискретность измерения напряжения 0.1V.
  • амперметр от 0.00 до 10.00А дискретность измерения тока 0.01А. 
  • Тригерная защита по превышению потребляемых ампер
  • вольтметр №2 и №3 с диапазоном измерения от 0 до 30V.
  • ваттметр,
    •  диапазон от 0.00 до 999.99Watt,  шаг отображения измерения 0.01 ватт.
  • отображение внутреннего сопротивления подключенной нагрузки в оМ
  • термометр точность 0.1°C 
  •  аппаратный  ШИМ  (PWM)  МК, частота 62.5 kHz , 
коэффициент заполнения импульсами – ШИМа, отображается в основном экране в % исчислении,  от 0 до 100% ,

 

 

Схема:

 

Детали: дисплей Nokia 5110  на базе контроллера PCD8544, МК ATmega8 с любой буквой,  в DIP или TQFP исполнении. А также ОУ Lm328 или Lm2904 .

 

 

Управление кнопками:

Во время работы, управление  кнопками Кн1, Кн2, Кн3 ;

Кн2 производит выбор (устанавливается   курсор) на регулировку ШИМ  или установку порога сработки защиты амперметра,

 кнопки Кн1, Кн3 выполняют функцию уменьшения или увеличения, порога защиты ампер или значения ШИМ.

(сброс сработавшей защиты амперметра, производится по нажатию любой кнопки Кн1, Кн2, Кн3)

 

Настройка схемы после сборки (первый пуск).

Настройка вольтметра: начинаем с первого поддиапазона, подаем на вход "0-100V" любое постоянное напряжение до 9.98V,

и сравнивая с тестовым вольтметром, настраиваем подстроечным резистором R-1 одинаково видимые показания приборов,

аналогично поступаем и со вторым поддиапазоном,

подаем на вход "0-100V" напряжение от 10.1V и, сравнивая с тестовым вольтметром,

настраиваем подстроечным резистором R-2 одинаковые показания напряжения.

 

Вольтметры №2 и №3  подстраиваются  резистором R-4, R-5.

Изменить диапазон амперметра (до 20А и 30А, по умолчанию устанавливается до 10А) можно так, установить перемычку на общий питания, 19 нога (порт РВ5), включить схему, проверить визуально установкой защиты полученный диапазон, если диапазон тот что требуется перемычку снять , если нет, повторить действие.

(ВНИМАНИЕ!!! выбор нового диапазона амперметра,  в рабочей схеме повлечет за собой необходимость подстройки,  резисторов обратной связи цепей амперметра и последующей регулировки резистора R-3 )

R-3 подстройка показаний амперметра.

Пример возможного подключения,  схемы и реле защиты вольтамперваттметра, в состав лабораторного блока питания.

 

   FUSE. МК тактируется от внутреннего RS осциллятора, на частоте 8MHz.


 Фото, отображение информации на дисплее.

  

 

  

Пару слов по поводу работы выхода ШИМ в этой схеме...
На вопрос, зачем он вообще нужен? у меня сейчас ответа нет....)))

В этой схеме он подключен к подсветке индикатора,  небольшое видео как это работает (продолжительность 2мин.12сек.) 

 

  В основном экране когда курсор стоит на символе % скважность регулируется кнопками Кн1 , Кн3.


 

 

P.S. Напряжение питания этой схемы.

 В моем варианте , питание 5 вольт.  Вот и на дисплейчике который тут  Nokia5110 написано 3 - 5 вольт.

 Практически это нормально, но :)) вспоминаются мне некоторые давнишние ассоциации,  про  1 китайский ватт ... 1 китайский ампер....

В общем проверил работу этой схемы, с помощью своего ЛБП. 

 Результат ;  в пределах от 2.6 до 5 вольт, схема производит измерения и работает нормально. Так что тут, товарищи пользователи,  выбор оставлен вам, зарекомендованные 3.3 вольта, или не сомневаемся ни в чем, и используем привычные 5 вольт....

Файлы:
Архив файлов проекта схема, прошивка, протеус.

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

Часы-термометр на микроконтроллере ATmega8. V 2.0

Ага 🙂 опять часы.

    Что есть:
  • Два датчика температуры DS18B20.
  • Термостат с тремя временными зонами.
  • 10 будильников на каждый день недели.
  • Отсрочка сигнала, если будильник не отключить, срабатывает примерно через 5 мин.
  • Два будильника на отдельную ножку мк, вклоткл нагрузки.
  • Выбор отображения температуры (гашение не значащего нуля).
  • Яркость индикатора настраивается для дневного и ночного времени.
  • Изменяемый параметр плавно меняет яркость.
  • При пропадании 220 вольт потребление от батарей меньше 40 микроампер.
  • Будильник срабатывает при любом режиме питания.
  • Часы могут последовательно показывать до 8 режимов.
  • В схеме можно использовать индикаторы с общим анодом или катодом.

В часах есть возможность последовательно показывать 8 режимов, для которых выбирается один из десяти форматов отображения и время его показа.

Форматы отображения.
0

Число, День недели, Часы-минуты.

1

Часы-минуты-секунды.

2

Часы-минуты.

3

Часы-минуты, День недели.

4

Число_месяц_день недели.

5

Температура 1 датчик, Температура 2 датчик.

6

Температура 1 датчик (датчик дома).

7

Температура 2 датчик (датчик на улице).

8

Температура 1 датчик, Часы-минуты.

9

Температура 2 датчик, Часы-минуты.

A

Температура 1 датчик, Температура 2 датчик.

b

Температура 1 датчик, Температура 2 датчик.

В режимах где не указываются десятые градуса, точка определяет больше 0,5 гр..


Кнопка F - выход из режима. Выбор 3 основных режимов.
Кнопка SET - вход в выбранный режим. Далее переход к следующему параметру (мигающему полю).
Кнопка PLUS - плюс/on. В режиме SETUP листать главные меню.
Кнопка MINUS - минус/__(off). В режиме SETUP листать главные меню.

Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.

Режим 0
нажать F
SET - вход в режим будильников.
F
SET - вход в режим быстрой настройки термостата.
F
SET - вход в режим настроек.
F
Режим 0

Режим CALLS

on/__-будильник вкл/откл.
Дни недели, в которые сработает будильник (здесь в 6 и 7 день будильник выключен).
Будильники для управления нагрузкой.
Будильники A B вкл/откл. вывод call a_h мк. С его помощью вывод call a_h можно устанавливать до 23 часов 59 минут.
Устанавливается время, часы-минуты-секунды, на которое включится вывод call a_h. Затем идет установка дней.

Режим быстрой настройки термостата.

Слево-направо.
Температура первого датчика (термостат только по первому датчику).

Порог термостата. Позволяет быстро изменить температуру срабатывания термостата, но, при наступлении следующей временной зоны, данный параметр будет переинициализирован значением этой зоны.

Р1 - вывод термостата включен.
Р0 - выключен.
При изменении данного параметра, функция термостата отключается (чтоб не путалась под ногами и не перехватывала управление)..

В этом режиме, когда не редактируются параметры (нет мигающего поля), нет автозавершения по времени (режим наладки).

Режим SETUP.
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET.
Пример: LIGHT    ->SET-> L.ooooo  ->SET-> НО4Ь L.2  ->SET->    LIGHT .

Главные меню режима SETUP.
ЧАСЫ PLUS MINUS листать основные режимы меню SETUP.
SET - вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
PORT
T-Stat
УSt SEE
УSt БУД
SIGNAL
LIGHT
DS18B20
СБРОС НАС.

Режим часы.

Устанавливаются: минуты, часы, день недели, число.
Месяц.
Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты инкрементируются.
Коррекция хода часов. Данная величина прибавляется или вычитается каждый час. Шаг 0.008 секунды. (50 значений), максимальное значение 0.391. Пример расчета: при коррекции равной нулю измеряется уход часов, например за 5 дней часы убежали на 3 секунды, тогда коррекция ровна 3/(5*24)=0.025.

Режим PORT.

Port Установить/сбросить ножку будильника A..H. call a_h.

Режим настроек термостата.

Режим Уст SEE.

В нулевом режиме часы показывают попеременно до 8 режимов, для которых выбирается один из десяти форматов отображения и время его показа (верхняя таблица).
P1 выбор режима.
r0 выбор одного из десяти форматов отображения.
r0-003 время, которое будет виден выбранный режим.
При времени равном 000 режим выключен.

Режим УSt Буd. Установки будильника.

Bip сигнал будильника - ШИМ.
Pin сигнал будильника - уст в 1 вывод буд.
Oba Шим и вывод.
Отсрочка сигнала.
Задаётся число отсрочек сигнала.
При откл. отсрочке (00) будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут.
При активной отсрочке сигнала, в нулевом режиме, мигает точка последнего разряда.
Отключение отсрочки (при отсутствии сигнала). В режиме 0, нажатие SET вкл. этот режим. Наличие активной отсрочки индуцирует символ о на 4 знакоместе. Нажатие PLUS MINUS выключает отсрочку.

Режим DS18B20.

Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
Выбор отображения температуры.
1 - 07.5
2 - &nbsp 7.5 гашение нуля.
on - датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
-- - датчик отсутствует.
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим Light.

Настраивается яркость для дневного времени.
Для ночи.
Ночное время.

Режим Сигнал.

SIGNAL после входа в режим кнопками плюс/минус выбирается:
budil. S или button. S
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
H004.L000.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок - установить H000 L000.
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

Режим Сброс настроек.

По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.

Действия в нулевом режиме.

F - выбор режима.
SET - режим отмены отсрочки сигнала
PLUS - режим Уст SEE.
MINUS - установка будильников.


Каждый час, на одну секунду, устанавливается вывод PB2(16).

Для экономии, в режиме питания от батарей запрещается отсрочка сигнала.


Схема.

Из схемы можно исключить конденсаторы к кварцу, если запрограммировать fuse бит CKOPT.

Датчик температуры можно подключить двумя проводами, для этого у датчика нужно замкнуть GND c VDD, при этом включается режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: ---.
Если первый датчик используется в режиме термостата, то он должен быть подключен 3 проводами.

Если будильник настроить на включение вывода, то можно использовать чип от музыкальной открытки.


При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). посмотреть для PonyProg. Cбросить основные переменные в программе - SETUP -> СБРОС НАС. -> SET.


ЧАСЫ - ТЕРМОМЕТР - ВОЛЬТМЕТР

   Измеритель, представленный в этом проекте, содержит в себе функции сразу 3-х устройств: вольтметр, термометр и часы. Выполнено оно на микроконтроллере семейства AVR ATMega8 и датчике DS18B20. Управление осуществляется тремя кнопками. Две для настройки часов, третья SB1 для выбора режима работы. Также присутствует кнопка SB3 которая нужна для вкл/выкл индикатора.

   Часы. Подсчет времени происходит, постоянно, независимо от того какой режим выбран. Настройка осуществляется кнопками "SB2" и "SB4".

   Термометр. Он позволяет измерять тепературу от -50 до +85 гадусов. Датчиком термометра служит микросхемка DS18B20, считав из нее данные о текущей температуре и сделав необходимые преобразования выводим результат измерения на индикатор.

   Вольтметр. Цифровой вольтметр позволяет измерять постоянное напряжение от 0 до 25 вольт. В качестве контроллера используется ATMEGA8, которая тактуется внутренним RC-генератором 8 МГц. Измерения постоянного напряжения производятся при помощи встроенного в контроллер 10-и разрядного АЦП. Измеряемое напряжение, через делитель поступает на вход ADC0 (PortC.0 выв.23). После соответствующих преобразований, результат измерения отображается на 4-х разрядном индикаторе с общим катодом. Обращайте внимание что они есть разного размера, могут отличаться цоколевкой, ну и включением (ОА и ОК).

   Переключение между режимами вольтметра и термометра производится кнопкой SВ1: один раз нажали — термометр, ещё раз — вольтметр, ещё раз - часы и так по кругу. Схема проста в изготовлении и содержит минимум элементов. Прошивку на контроллер скачайте тут.

Принципиальная схема часов с термометром и вольтметром

Принципиальная схема часов с термометром и вольтметром

   Перечень элементов часов:

  1.  Микроконтроллер AtMega8
  2.  Индикатор любой (с небольшим током потребления и с общим катодом)
  3.  Часовой кварц 32768 Гц
  4.  Датчик температуры DS18B20
  5.  Конденсатор 100 нФ
  6.  Резистор 4,7 кОм
  7.  Резисторы 1 кОм 4 шт
  8.  Резистор 11,1 кОм
  9.  Резистор 100 кОм

Как сделать ЧАСЫ - ТЕРМОМЕТР - ВОЛЬТМЕТР на МК

   Отдельно внимание следует уделить FuseBits. В нашем случае (для CodeVision AVR) они выставляются так как на картинке:

   После окончательной сборки и настройки, часы - термометр - вольтметр вместе с источником их питания (батарейки либо сетевой адаптер) размещаем в небольшом пластиковом корпусе. При необходимости, подбираем резисторами яркость свечения светодиодного индикатора.

ЧАСЫ - ТЕРМОМЕТР - ВОЛЬТМЕТР в работе

   Сборка и испытания устройства: Шимко С.Н.

   Форум по измерительным устройствам на микроконтроллерах

   Схемы на микроконтроллерах

Author:

Отправить ответ

avatar
  Подписаться  
Уведомление о