Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Обсуждаем контроллеры компании Atmel.
Johnson1496
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб май 02, 2015 10:06:21

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Johnson1496 »

Eler-on

В указанном файле есть ссылка на библиотеку 1wire.h на нее и ругается

Martin76
Студию взял чтобы ..... ну надо же с чего-то начинать, тем более что ругань на библиотеку, которой кажется нет в студии и исходниках. Это единственная ошибка при компиляции
Аватара пользователя
Eler-on
Родился
Сообщения: 16
Зарегистрирован: Вс фев 15, 2015 17:35:41

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Eler-on »

Попробуй от CodeVisionAVR
Вложения
1wire.h
(759 байт) 612 скачиваний
Johnson1496
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Сб май 02, 2015 10:06:21

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Johnson1496 »

Спасибо, получилось
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

Всем доброго времени суток!
Нужна помощь переделал схему на другой дисплей, плюс выкинул все датчики и ULN подключил на прямую к МК
Напряжение питание 5 вольт, не стал заворачиваться взял зарядник от телефона
Все запустилось и как бы работает, проблема в следующим: при подключении батареи резервного питания на DS1307 часы начинают просто мигать всеми сегментами, если разрядить батарею на 0,3 вольта то бишь резервное питание 1.2 вольта все как бы работает, но при срабатывание будильника, звук раздается а с дисплей перестает светиться.
Куда копать не знаю пробовал менять МК и DS думал спалил статикой та же фигня.
Гуру окажите помощь! Схему почему то не могу прикрепить?
Заранее благодарю!
Аватара пользователя
Eler-on
Родился
Сообщения: 16
Зарегистрирован: Вс фев 15, 2015 17:35:41

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Eler-on »

Если выкинул ULN то нужно увидеть как на прямую подключил. Схему нужно увидеть. И мерил напряжение питания во время работы и включение будильника?! А с DSкой, что то было в теме про нее. Страниц 20-30 последних почитай
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

как прикрепить схему жму выбрать файл затем добавить файл появляется окно и сразу закрывается, сделал картинкой сейчас по пробую
Изображение
не мерил, но была мысль что не хватает БП по току, но тогда почему без батареи прекрасно работает, не понятно
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

Всем доброго времени суток! Смотрю тема зачахла.
Со статикой может кто помочь? Конкретно: два последних индикатора отвечающие за минуты мигают не зажженными сегментами, если взяться рукой за любой из контактов на схеме эффект пропадает что может быть?
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

Все разобрался)) не пропаял на 3-ем регистре 14 ногу))))
ellips79
Родился
Сообщения: 3
Зарегистрирован: Вс окт 25, 2015 16:51:34

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение ellips79 »

Ребят, кто может подправить прошивку от zseer64 (исходник на стр.111). Суть в следующем. Нужно чтобы при двухточечном разделителе времени вместо мигающей точки в первом разряде мигали одновременно точки во втором и третьем разрядах. Сам не шарю, поэтому и прошу помощи. Дело в том что в наличии есть двухточечные 16-ти сегментники, вот и хочу задействовать эти точки вместо отдельных светодиодов.
Вложения
16seg.jpg
(124.96 КБ) 999 скачиваний
ellips79
Родился
Сообщения: 3
Зарегистрирован: Вс окт 25, 2015 16:51:34

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение ellips79 »

Мда, тема видимо действительно умерла. Ну да ладно, сам разобрался,может кому пригодится.
Вложения
Clock-Term-Alarm_m8.hex
(20.25 КБ) 561 скачивание
ellips79
Родился
Сообщения: 3
Зарегистрирован: Вс окт 25, 2015 16:51:34

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение ellips79 »

Сегодня доделал часики. Для красоты добавил подсветку сзади.
Вложения
P_20151114_191547.jpg
(158.51 КБ) 1395 скачиваний
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение musor »

жесть а рамка то траурная зачем,время хороним? сто иза индюки таки буржуйски наверно
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
SAG
Родился
Сообщения: 1
Зарегистрирован: Пт ноя 20, 2015 13:12:40

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SAG »

Уважаемый Danko или кто-нибудь из котов, возможно ли вывести на какой либо вывод ежечасный сигнал, сигнал типа "кукушки"? Если возможно, то для статики.
Аватара пользователя
Serhz
Родился
Сообщения: 16
Зарегистрирован: Сб фев 16, 2013 00:30:28
Откуда: Украина

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение Serhz »

Здравствуйте уважаемые Коты!
Повторил эти часы четире раза, а на пятый засада. Четыре раза применял DS1307 в DIP корпусе, а на пятый DS1307ZN в SOIC. И вот эти часы не запускаются. На старте пишет "Fnd1". Путем Гугля прочитал про инициализацию даной микросхемы и про обнуление бита 7(CH). В програмировании не разбираюсь, но нашел строки в исходнике и методом проб заменил код в строках 1425-1429.
Было так:
// бит 7 (CH) регистра секунд DS1307 останавливает или запускает генератор
// (0 - запущен, 1 - остановлен)
rtc_get_time(&myhour, &mymin, &mysec);
mysec &= 0b01111111; // принудительная установка 7-го бита в "0"
rtc_set_time(myhour, mymin, mysec);

Сделал так:
// Ds1307 Real Time Clock initialization
// Squre wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_get_time(&myhour, &mymin, &mysec);
mysec &=rtc_read(0); // прочесть нулевой байт
rtc_write(0,(mysec &=0b01111111)); // обнулить старший бит(СН) и запустить внутренний генератор

Скомпилировал, часы после прошивки запускаются и работают, но стоит вытащить батарейку питания микросхемы (общее питание выключено), и часы снова не запускаются пока не обновлю прошивку. Пожалуйста помогите наставлениями на путь истинный. Или быть может такая партия DS1307? Перепробовал пять штук.
С уважением к Котам Serhz.
Мы увидимся в другой жизни. Когда станем котами.
g.sergey.a
Родился
Сообщения: 2
Зарегистрирован: Вт дек 01, 2015 16:33:52

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение g.sergey.a »

Уважаемый Danko.
Не могли бы Вы немного дописать - нужен к этой схеме вольтметр 0-30 вольт и 6 разрядный индикатор ,полноценнее будет выводимая информация.
g.sergey.a
Родился
Сообщения: 2
Зарегистрирован: Вт дек 01, 2015 16:33:52

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение g.sergey.a »

на VRTP видел тему " Автомобльные часы-вольтметр" там была ссылка на Clock_Term__Mega8_DS1307_DS18B20_9LED_OK_.zip от Danko ,но ссылка не рабочая выложите пожалуйста если есть в наличии .

----------

Файлы получены.
Спасибо
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

Уважаемые коты пытаюсь переписать код под себя (только знакомлюсь с программированием AVR) подскажите где поменять заводские настройки часов которые выставляются при первом включении
нашел вот этот кусок кода

// при первом запуске часов обнулить память DS1307 и установить "заводские настройки"
if (efirst_start) {
for (i=7;i<64;i++) rtc_write(i,0x00); // с адреса 0x07 заполнить память DS1307 нулями

rtc_write(MEM_T_IND_CLOCK,30); // время индикации времени (сек.)
rtc_write(MEM_T_IND_DATE,5); // календаря
rtc_write(MEM_T_IND_TERM,5); // температуры

поменял 30 на 10 скомпилировал, зашил в протеусе не чего не поменялось, прожерстил поиском все файлы значения 30 не нашёл, где еще нужно поменять?
zseer64
Родился
Сообщения: 16
Зарегистрирован: Вт апр 13, 2010 09:13:22

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение zseer64 »

SeaWolf999 писал(а):
// при первом запуске часов обнулить память DS1307 и установить "заводские настройки"
if (efirst_start) {
for (i=7;i<64;i++) rtc_write(i,0x00); // с адреса 0x07 заполнить память DS1307 нулями

rtc_write(MEM_T_IND_CLOCK,30); // время индикации времени (сек.)
rtc_write(MEM_T_IND_DATE,5); // календаря
rtc_write(MEM_T_IND_TERM,5); // температуры

поменял 30 на 10 скомпилировал, зашил в протеусе не чего не поменялось, прожерстил поиском все файлы значения 30 не нашёл, где еще нужно поменять?


Этот кусок кода работает один раз, при условии самого первого запуска. Для отладки в Протеусе, снимаем флаги первого запуска. Для этого, перед строкой - if (efirst_start) вставляем -

efirst_start = 0xFF; // установить флаг первого запуска
rtc_write(63, 0x00); // установить флаг "новой микросхемы RTC"

а эти строки ниже - комментируем.
//efirst_start = 0x00; // сбросить флаг первого запуска
//rtc_write(63, 0x55); // сбросить флаг "новой микросхемы RTC"

Ставим свои "заводские" настройки. В этой строчке, например, можно поставить дату для старта -rtc_set_date(0x08, 0x012, 0x15); далее компилируем. После компиляции, снимаем комментарий, который добавляли, а строчки которые дописывали, удаляем или комментируем. Снова компилируем. Запускаем Протеус. При первом запуске, он подхватывает все Ваши "заводские настройки". При последующих запусках, будет отображать системное время и дату. В общем, как то так..
SeaWolf999
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение SeaWolf999 »

zseer64 Спс вроде понял, а по железу сможешь подсказать? В общем проблема с DS1307 при включение схемы без батареи резервного питания схема работает и динамика и статика но как только припаиваю провод на 3-ю ногу без подключении батареи часы (статика) запускаются, но стоит прикоснуться к корпусу часов зажигаются все сегменты как только убираю руку с корпуса с интервалом в 0.5 с начинают гаснуть по сегментно на чаная с первого разряда т.е. сначала гаснет сегмент "а" первого разряда, затем сегмент "b" и такт далее, после того как все сегменты погаснут через 30 сек появляется время и все ок до следующего касания, если же перед первым включение установить батарею то показывают погоду на Марсе)))), если включить батарею при включеном питании тоже самое, пробовал ставить керамику параллельно батареии не помогло(22пф) куда копать не пойму. Похожая беда и на динамике. Сегодня попробую на макетке установить DS1307 и запитать ее отдельным источником посмотрим что выйдет.
zseer64
Родился
Сообщения: 16
Зарегистрирован: Вт апр 13, 2010 09:13:22

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)

Сообщение zseer64 »

Однозначно, очень сложно ответить, не зная как и из чего сделаны часы. Смотреть нужно начиная от блока питания, с повышенными пульсациями от него можно ожидать всего чего угодно, и лучше на время отладки не применять импульсные, от них много помех, и в вашем случае на работоспособность как раз влияют наводки в теле. Далее смотреть монтаж, особенно земляные шины, отмывку флюса. Правильно ли установлены фъюзы, возможно микроконтроллер ловит все помехи. Также не понятно разводка печатной платы возле DS1307. Там есть особые требования. Также производители рекомендуют при распайке кварцевого резонатора расположить его как можно ближе к выводам микросхемы, а корпус его желательно припаять к общей шине. В противном случае возможна нестабильность хода часов. Ну а что бы не гадать, я бы сделал следующим образом. Бит 7 (CH) в DS1307 отвечает за запуск генератора прямоугольных импульсов (можно выбрать одну их 4 частот). Т.е. запускаем генератор 1Гц, к выводу SQW/OUT DS1307 подключаем светодиод через резистор 270-390ом на (+)питания, он должен вспыхивать раз в секунду, и не влиять ни на какие касаниями руками к корпусу. Если все нормально, можно предположить что DS-ка исправна. Далее, раз уж Вы практикуетесь в написании программ, напишите самую простенькую для микроконтроллера, например, что бы он выводил секундные импульсы на вывод какого-либо порта. Цепляете туда свой индикатор со светодиодом, и смотрите, влияют ли на его частоту мигания ваши манипуляции с руками. И еще добавлю, постом ранее писалось что в корпусе DIP DS1307 часы работают, а с SOIC есть проблемы, если есть возможность, можно подкинуть другую микросхему.
Что бы запустить генератор прямоугольных импульсов, можно перед строкой - if (efirst_start)
добавить - rtc_write(0x07, 0x10); на выходе SQW/OUT DS-ки появятся импульсы частотой 1Гц.
(С включенным выходом SQW/OUT оставлять не рекомендуется, увеличивается потребление от батареи)
Ответить

Вернуться в «AVR»