Радиомастер гид в мире электроники » Схемы » Для дома и быта » Часы – термометр на AT89C2051,DS1307 и DS18B20
Информация к новости
  • Просмотров: 39841
  • Добавил: billybons
  • Дата: 17 марта 2011
17 марта 2011

Часы – термометр на AT89C2051,DS1307 и DS18B20

Категория: Схемы » Для дома и быта

Эти часы просто содраны на необьятных просторах Интернета и немного доработаны в плане прошивки. Хочу поделиться с другими желающими поупражняться в прошивании мелкоконтроллеров.Очень простые и удобные часики с термометром .Прошивал AT89C2051 программатором типа DL2TM,напечатанном в журнале Радио № 3, 2004год стр52.
Часы – термометр на AT89C2051,DS1307 и DS18B20

Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20



Устройство выполнено на контроллере 51 семейства с внутренней FLASH памятью, для измерения температуры используется, широко известный, дешевый (относительно), доступный датчик DS18B20, для подсчета времени решено было использовать микросхему (называемую «первичные часы») – DS1307.

Датчик температуры. Датчик DS18B20 очень широко известен, он используется практически в каждой второй схеме измерителя температуры. Подробную информацию о нем достаточно легко найти на страницах Интернета. Здесь лишь отмечу самое важное – датчик посылает данные (или обмен данными ведется) по интерфейсу MicroLan, или иначе называемом, 1-Wire. На мой взгляд, не самый удобный интерфейс, с той точки зрения, что трудно его реализовать на Си (проблемы с вызовом вполне конкретных временных задержек), в остальном же интерфейс достойный внимания и современный.

Часы реального времени. Микросхема DS1307 внутри себя имеет много чего: кварцевый генератор, кучу счетчиков (от секунд до годов), 56 байт памяти, схему отслеживания питания, контроллер интерфейса I2C. Возможностей у этой микросхемы много, но у меня используется лишь их незначительная часть – я не использую внутренний календарь, внутренне ОЗУ, хотя можно. Самое что главное – это то, что работать с этой микросхемой очень легко. Интерфейс I2C после моего изучения мне очень понравился – простой, надежный, понятный, легко реализуемый. Но самое главное в этой микросхеме то, что при сбросе питания время не сбрасывается!

Устройство работает так: в микроконтроллере постоянно работает таймер, который уже ранее объясненным способом генерирует прерывания с частотой раз в секунду, они в свою очередь подсчитываются, и когда их количество становится равно 8, происходит смена показаний на табло и измерение температуры. На этом функции программы обработки прерывания исчерпываются. В основном цикле программы постоянно осуществляется индикация (она динамическая) и опрос клавиатуры. Питание устройства осуществляется от зарядного устройства (не импульсного) для телефонов фирмы NOKIA, при этом обязательно ставить слагающий конденсатор (тот, что 680 мкФ) на входе (т к пульсации на выходе с зарядника очень велики – там внутри нет этого самого конденсатора).

Примечание: Вывод 7 микросхемы DS1307 в плату не запаивается – он остается в воздухе, я его просто загибал.
В архиве два варианта плат, под конкретный индикатор и вторая под какой кто найдёт с ОА.
Часы собраны и воткнуты в вот такой вот раритетный корпус откуда выброшена вся нерабочая механизма laughing


Архив с нужными файламиВы не можете скачивать файлы с нашего сервера
Видео работы часов http://www.youtube.com/watch?v=xhs6OkAjaRg


<
macsim_37

7 февраля 2012 17:23

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 8.01.2012
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
Здраствуйте.Решил попробовать собрать этот вариант часов,но не запускаеются.Подскажите,с чего начать выявление причины?Кварцы все работают


Награды:
0
<
voyajer

14 марта 2012 00:23

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 6.09.2011
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
Я тоже собрал . Всё запустилось . И вроде работает . Яркость индикаторов надо подобрать .
А если не запускаются . Думаю стоит проверить плату на КЗ . И прошивку .
Сам долго ковырялся с программатором . Никак не хотел шить контроллер .
Запись шла , а потом при чтении нули одни были .


Награды:
0
<
macsim_37

28 марта 2012 21:00

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 8.01.2012
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
Часы запустились.Только есть вопросы по поводу работы:точка разделительная мигает без определенного интервала.Через какой-то срок время в часах останавливается,потом запускается снова,но уже с отставанием,всегда по разному.В чем может быть проблема,подскажите?


Награды:
0
<
voyajer

31 марта 2012 00:20

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 6.09.2011
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
Скорее всего питания не хватает ( явный признак если на индикаторе периодически появляются ( F F F F ) . ( внешнего питания для RTC уже не хватает а для переключения на резервное питание ещё не хватает ) .
Ещё стоит проверить конденсатор на первую ножку .. он отвечает за запуск контроллера.
Ну и ещё раз проверить что нет случайных перемычек и канифоль весь смыт особенно там где кварц .
Ещё может быть глюк из за датчика температуры (на землю пробивается ) . Попробуй без него пусть поработают . ( резистор подтяжки 4,7 К ... не забываем )


Награды:
0

Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (8)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->