Страница 24 из 148
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Вс апр 04, 2010 17:55:28
neon-f
Barbudas писал(а):Заклёпки пробовал, из-за большого расстояния и тонкого стекла их перекашивает малость.
можно взять термоусадочную трубку, надеть её на толкатель кнопки и заклепку и прогреть зажигалкой. заклепка будет железно держаться за кнопку.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 03:47:47
Barbudas
Уважаемый neon-f, Вы мои кнопки видели? На них термоусадку не натянешь. Домой приду сфоткаю покрупнее, чтобы было понятно как выглядит.
Уважаемый Danko, большая просьба посмотреть, что не так в прошивке для Mega16 с коррекцией часов, т.к. фокус при переходе через 00:00 вновь повторился - в разряде часов снова выскочило F7, а утром в разряде часов 62 вместо 5. Лечится только извлечением батарейки и настройкой часов.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 12:15:15
neon-f
извини, сильно кнопки не рассматривал

Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 16:31:17
Barbudas
Сейчас пялился в листинг с программой и прочитал до кучи описание работы DS1307, но так и не въехал в чём фокус с переходом через 00:00. Сначала, когда на часах выскочило F7, подумал, что это 23 в шестнадцатиричной системе, а когда увидел утром вместо 5 часов 62 и сейчас вместо 19 часов 44, не знаю что и подумать, логики как-то не прослеживается, кроме того, что показания часов убывают, как в таймере. Может попробовать сравнить листинг от Mega8, управление DS1307 должно быть аналогично. Посмотрим, что часы нарисуют сегодня при переходе через 00:00 и какие цифры к тому времени будут в разряде часов.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 17:47:56
Danko
Секоторое время назад собрал я для знакомых часы на мега8 и семисегментниках 2,3 дюйма. Через некоторое время хозяйка часов пожаловалась, что индикаторах вместо часов абракадабра из букв и цифр. Забрал я их домой и дома у меня поломку я так и не нашел. Целую неделю "шли как часы". Вернул хозяйке и глюки вернулись, предложил перенести их в другую комнату. Глюки исчезли, но начали появляться при включении телевизора возле которого они стояли.
Вот такая история.
Barbudas, у Вас часы вначале работали от аккумулятора, а затем возле платы появился блок питания и глюки начались.
Я правильно понял?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 17:57:06
Danko
tipoya писал(а):Уважаемый Danko мною замечена ошибка в работе часов при положительной коррекции хода.
Наблюдается остановка даты. Насколько я понимаю, коррекция происходит в промежутке 23.59-00.00 простым добавлением секунд и DS1307 не видит перехода через 00.00 и как результат остановка даты.
Вполне возможно.
Я хочу переделать корректировку хода. Хочу добавить отслеживание корректировки на случай если во время корректировки вырубили свет и МК скорректировать ход часов не смог. Да и конечно перенесу корректировку с межсуточного промежутка на другое время.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 18:03:24
Barbudas
Уважаемый Danko, не совсем так. Сначала глюк появился когда часы были подключены к БП, но он был в метре от часов, позже я его встроил в часы. Дело в том, что когда часы работали от аккумулятора, они выключались на ночь с целью экономии аккумулятора, поэтому эффект не проявлялся. Я тут проанализировал показания часов и пришёл к следующему:
1. При переходе через 00:00 в разряд часов записалось F7
2. Утром на часах вместо 5 часов было 62, т.е. 7 дотикала до 10 и пошла заново 7+3=10 и 2, при этом F сбросилось до 6.
3. Когда через 12 часов придя с работы на часах увидел 44, то получилось 2+2=4 в единицах часов, а 6 сбросилась до 4
4. Что же увидим через 4 часа? Сейчас на часах 46:02.
Ниже картинка кнопочек. Это для neon-f.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 18:07:43
Barbudas
И ещё. Часы сейчас стоят просто на столе, под пальмой, редом в радиусе метра ни одного электроприбора. Могу отключить БП и перейти на аккумулятор, если считаете, что дело в БП. Только почепу проявляется в 00:00, и почему всегда F7?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 18:08:54
Danko
Barbudas писал(а):1. Можно ли к этому проекту прикрутить регулятор яркости для больших индикаторов, а то ночью их за пожар принимают

2. Один заказ на часики для кухни. Не секрет, что часть жизни у нас проходит там. А поэтому в функцию часов просили прикрутить простенький таймер.....
Прошивки в закромах у меня нет. Но и в текущую (на мега16) добавить пару функций большого труда не составит.
Вечером программу (прошивку) для мега16 еще раз пересмотрю и погоняю в протеусе.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пн апр 05, 2010 18:30:38
Barbudas
Спосибо, Danko, буду ждать результат.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Вт апр 06, 2010 09:44:26
Barbudas
Сегодня попробую залить новую прошивку. Вчера, когда на часах должно быть 00:00, часы показывали 49:00, ушёл спать. В 5 утра часы снова показывали 62:00. Тут уже логика не прослеживается. Переустановил часы через SET, батарейку не вынимал, корректировал только показание часов, причём, как только нажал +, показания часов обнулились. Установка прошла нормально. Посмотрю что будет к вечеру и испытаю новую прошивку от Danko. Спасибо ему за оперативный ответ.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Вт апр 06, 2010 16:00:34
Barbudas
Я тут наврал малость, после перехода через 00:00 выскакивает 7F. После того как утром уходя на работу настроил часы сбоев не было. Придя решил их подрессировать. Несколько раз выставлял 23:58 и наблюдал. При 23:59 начинается подмаргивание индикаторов, как будто срабатывает какой-то процесс и индикаторы горят с пропуском тактов. Затем, как положено выскакивает 0:00, а через секунды три 7F. Буду пробовать новую прошивку, но думаю, она проблему не решит.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Вт апр 06, 2010 17:37:22
Barbudas
Итак, отчёт. Залил новую прошивку с коррекцией хода на 22:59. Во-первых вывод показаний на все индикаторы оказался инверсный, это мелочи. Переход через 23:00 прошёл нормально. Как и раньше индикаторы чуть подмаргивали, потом 23:00 и часы пошли дальше. А вот дальше был фокус. Выставил на часах 23:58 и при переходе через 00:00 получил снова 7F и часы потикали дальше. Т.о. коррекция хода часов никак не влияет на появление 7F в рвзряде часов после 00. Причём, если питание отключено и часы работают на батарейке, то переход через 00:00 происходит корректно. Т.е., если питание вечером отключить и включить утром, то часы показывают время корректно. Значит в момент перехода через 00:00 Mega16 что-то прописывает в DS1307. Откуда берётся значение 7F? В десятичном это 127? А может наоборот, после 00:00 Mega16 что-то считывает не с того места?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Вт апр 06, 2010 18:06:56
VERON
Приветствую Всех, тоже собираю часы на Мега16, спасибо большое Danko. Протестировать пока на ошибку описанную Barbudas-ом не могу, нет некоторых компонентов, но немножко обеспокоен, слежу за темой!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Ср апр 07, 2010 16:21:01
Danko
VERON, для беспокойства нет оснований.
Barbudas, все дело не в блоке питания и не в DS1307, все дело в программе, а точнее в её одной строке.
Ряд функций в часах на мега8 и на мега16 абсолютно идентичных, но работают они по разному (хотя я считал, что работают одинаково). По этому и ошибка в часах на мега16 вылезла только сейчас.
В следующей версии программы (прошивки) часов на мега8 будут учтены недостатки программы часов на мега16.
Barbudas, огромное спасибо.
P.S.
коррекция перенесена с 23:59 на 22:59
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Ср апр 07, 2010 18:48:19
Barbudas
Danko, извини,но обе прошивки к часам совсем не подходят - нет привязки к сегментам. Пробовал заливать обе, вместо запято сегмент b мигает. Сегодня мне уже это не побороть, надо к завтрашней поезке приготовиться, а вечером по приезду попытаюсь скорректировать привязку сегментов под свои часы и проверить прошивку. На всякий случай прикрепляю прошивку которая крутится в часах сейчас. Для тех кто не в теме, поясняю, это прошивка для Mega16 с 10 транзисторными ключами на разряды (4LED 2,3" и 2х3LED 1") и ULN на сегменты. Схему выкладывал ранее.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Чт апр 08, 2010 19:16:03
Barbudas
Попытался привязать новую прошивку к часам, возникло куча вопросов. В новой прошивке выводятся некоторые символы, которых в старой не было. И есть непонятки с привязкой сегментов:
В старой, что сейчас в часах:
#define A 1
#define B 2
#define C 4
#define D 8
#define E 16
#define F 32
#define G 64
В новой:
#define A 1
#define B 4
#define C 16
#define D 64
#define E 128
#define F 2
#define G 8
Может кто-нибудь пояснить почему в новой прошивке отсутствует 32 и появилось 128? Может в первом случае 128 будет точкой, а во втором для точки 32? Тогда почему нет строчки #define dp 32? Или это не обязательно?
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт апр 09, 2010 09:20:22
Danko
От количества версий немного запутался у кого какая схема, а точнее как привязаны сегменты.
В принципе есть два варианта.
вариант 1:
A бит 0
B бит 1
C бит 2
D бит 3
E бит 4
F бит 5
G бит 6
точка бит 7
каждый бит в байте имеет свой вес
бит 0 - 1
бит 1 - 2
бит 2 - 4
бит 3 - 8
бит 4 - 16
бит 5 - 32
бит 6 - 64
бит 7 - 128
когда все биты равны 1 суммируем и получаем 255
что касается точки и почему нет
#define dp 128
разряд выводится записью байта в порт, а точка выводится записью бита в порт.
Код: Выделить всё
if ((zpt_ON == 1) && (cur_dig == 1)) PORTB.7=0;
соответственно нужно выбрать бит порта к которому подключена точка.
PORTB.
7=0;
или
PORTB.
5=0;
вариант 2:
в нем точка припаяна на бит 5
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт апр 09, 2010 11:20:12
Barbudas
Спасибо Danko, просто я наверное вчера тормозил после командировки. Сегодня попытаюсь подогнать прошивку и попробовать, как с работы приду.
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добавлено: Пт апр 09, 2010 16:13:07
Danko
Часы на мега8.
Новых функций не добавлял.
Перенес коррекцию с 23:59 на 22:59.
Ну и еще кое-где подправил для стабильности и надежности.