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

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

Сообщение Johnson1496 »

Eler-on

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

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

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

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

Сообщение Johnson1496 »

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

Сообщение SeaWolf999 »

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

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

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

Сообщение SeaWolf999 »

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

Сообщение SeaWolf999 »

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

Сообщение SeaWolf999 »

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

Сообщение ellips79 »

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

Сообщение ellips79 »

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

Сообщение ellips79 »

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

Сообщение musor »

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

Сообщение SAG »

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

Сообщение 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.
Мы увидимся в другой жизни. Когда станем котами.
Родился
Сообщения: 2
Зарегистрирован: Вт дек 01, 2015 16:33:52

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

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

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

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

-----------------------------------------------------------

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

Сообщение 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 не нашёл, где еще нужно поменять?
Родился
Сообщения: 16
Зарегистрирован: Вт апр 13, 2010 09:13:22

Сообщение 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); далее компилируем. После компиляции, снимаем комментарий, который добавляли, а строчки которые дописывали, удаляем или комментируем. Снова компилируем. Запускаем Протеус. При первом запуске, он подхватывает все Ваши "заводские настройки". При последующих запусках, будет отображать системное время и дату. В общем, как то так..
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт май 07, 2015 07:55:26

Сообщение SeaWolf999 »

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

Сообщение 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»