Часы на газоразрядных индикаторах

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Foks »

crazzian, я ассемблерный маньяк, посему увы :( Да и в моем индусском коде понять что-либо сложно :)) Да вообщем я бы и не стал писать на Си критичные ко времени выполнения вещи, а вот весь main() переписал бы на Си, давно хочу попробовать комбинировать асм/си код с помощью GCC, но пока что имею двухтысячный слабочитабельный исходник на асм.
Giggity giggity goo!
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Apparatchik, Foks, спасибо буду пробовать.
По прерыванию выхода DS-ки увы не получится т.к. плата уже без этой цепи, а навесом посему то не хочется.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: Часы на газоразрядных индикаторах

Сообщение Apparatchik »

crazzian писал(а):По прерыванию выхода DS-ки увы не получится т.к. плата уже без этой цепи, а навесом посему то не хочется.

если мк тактируется от кварца то время можно щитать средствами мк, а с DS1307 синхронизировать при старте и например часа в три ночи.
«И всё-таки она вертится!»
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Я в часах с динамикой опрашивал часы примерно 20-50 раз в секунду, это чтоб не было заметных рывков в отображении времени. И да, частота шины повыше, чуть меньше максимальной для 1307, и все будет хорошо, если конечно нет помех на шине и она не будет заикаться. А в остальном уже ответили.

И кстати, на других RTC проверял, если частоту шины менять, то точность хода меняется немного, и когда часы работают от сети и от батарейки, точность тоже разная будет.
Опыт приходит сразу после того, как он был нужен...
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Foks »

20-50 раз - многовато, конечно. А без синхронизации рывки будут, но что-то можно попробовать сделать. К примеру, спустя 950 мс, читаем регистр секунд, пока не произойдет перехода секунды (читаем с интервалом 20 мс, например). После нескольких чтений, секунда перешла, тогда считываем весь блок, и далее цикл повторяем. Таким чудом, чтение будет происходить всего 3 (+/- 1) раз в секунду.

Хотя можно и 50 раз читать. Плохого, в принципе, ничего быть не должно. Разве что на один градус температура микросхемы вырастет :)

А лучше конечно проводом связь эту кинуть, красота сильно не постарадает. Да и вообще, странно делать финальную плату с первого раза. Отладка и доработка всегда нужна, надо было на макетке делать. Или эту плату пустить под отладку, а потом сделать еще одну. А то хотите одной п*пой на два стула сесть.
Giggity giggity goo!
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Ну зачем же на два стула, нам и одного достаточно :)))
Мне вот сложно представить макетку с многоногим МК в tqfp, 6ю ИД1 3мя регистрами 595 в so-16 двумя регистрами 164 в so-14, 6ю анодными ключами в сот23 ))) Да и зачем? Достаточно всего лишь все продумать как следует, опираясь на свой или чужой опыт и сделать сразу как надо.
Foks писал(а):20-50 раз - многовато, конечно.
Два года тикают и ничего :) Я тогда особо не парился по этому поводу. А в след. часцах да, развел таки на прерывание с ноги где 1Гц, по опыту форумчан, чтоб так часто не дрючить микруху часов :)))
Foks писал(а):К примеру, спустя 950 мс, читаем регистр секунд, пока не...
Это выход, но если эти 50 мс мы можем часто опрашивать часы, то почему бы не сэкономить на этом память МК и делать это постоянно, а так и таймер один занят и немного кода лишнего.
Опыт приходит сразу после того, как он был нужен...
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Foks »

Время для задержек и проч. я обычно считаю в таймере, который уже чем-то непрерывно занят: в данном случае у нас есть динамическая индикация, где можно спокойно себе инкрементировать какую-нить переменную.

На макетке не обязательно собирать полные 6-ламповые часы, можно лишь отладить в едином экземпляре ключевые узлы (то есть достаточно одной ИД1, одного регистра и т.п.). Собственно, для себя я вообще не вижу смысла собирать устройство, которое с первого раза можно "продумать". Собственно поэтому я не продолжаю штамповать часы: первые были из интереса (ГРИ), вторые в подарок (ВЛИ), и собственно этого хватило :)
Но здесь товарищ, видно, с RTC раньше не работал. Можно же было хоть глубже продумать план действий и провести эту линию, или просто подключить микросхему на соплях к какой-то старой своей макетке, и поиграться, перед тем как финальную плату рисовать.
Giggity giggity goo!
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Знал бы где упаду, соломки постелил. Но не суть
Частота софтового I2C где-то контролируется/устанавливается, подскажите? Если нет, то тактирование идет на частоте кварца МК (ну или около того) , что как бы многовато для шины. Или я не прав?
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Зависит от кода, я вот с софтовой шиной не работал, но в примерах посматривал, там в заголовочной части обычно устанавливается какая-то константа или переменная, отвечающая за скорость, и не обязательно она в мегагерцах, вероятнее всего абстрактная величина, которая в циклах фигурирует как условие выхода. Тактирование шины на частоте мк невозможно, ибо выполнение кода и задержек требует времени и порой немалого.
Foks писал(а):то есть достаточно одной ИД1, одного регистра и т.п.
Сомнительное удовольствие, проще и нагляднее отмоделировать в протеусе. Такие простые задачи идут на ура, и микросхема часов там есть.
Опыт приходит сразу после того, как он был нужен...
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Судя по протеусу частота клока софтового i2c ~40кГц. По ходу дела какая-то глючная DS-ка попалась.
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

А причем тут DS-ка? Частота же довольно низкая. У Вас сколько байт запрашивается? 6, вместе с датой? Это получается 6+2 * 9 = 72 такта, на такой частоте это около 2мс должно быть, не очень много. И кстати, а почему вы не хотите воспользоваться аппаратным ай2си ? Шина не разведена на него? Код зато сэкономите, хотя в 8й меге его и так достаточно :)
Опыт приходит сразу после того, как он был нужен...
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Вот и я про то же. Частота маленькая, а время из-за чего-то сбивается на десяток минут, причем считывание крутится в главном цикле. Софтовые библиотеки я выкладывал чуть по раньше. Разведено все как для аппаратного, так что попробовать можно.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Часы на газоразрядных индикаторах

Сообщение uldemir »

А может проблема не в считывании, а в основном питании? При наличии этого питания идут помехи, которые мешают микросхеме RTC? Мне самому это интересно, так как когда-то столкнулся с аналогичной проблемой на 512ВИ1 (только там параллельная ШД). Но так как там всё было на соплях, о хорошем питании там речь не могла вообще идти.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Foks »

crazzian писал(а):Знал бы где упаду, соломки постелил.
Прошу прощения за оффтоп. Важно же знать, не где упадешь, а сам факт предусмотреть, что можешь упасть.
Волосатый писал(а):Сомнительное удовольствие, проще и нагляднее отмоделировать в протеусе.
Кому как :)
Giggity giggity goo!
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Может у вас чтение какое-то кривое, может вы еще и пишите вместе с чтением, секунды например затираете в ноль? По питанию попробуйте припаять прям на лапки или на дороги близ микрушки керамический кондёр емкостью 1мкФ, это устранит возможные помехи.
Опыт приходит сразу после того, как он был нужен...
Аватара пользователя
Microtech
Поставщик валерьянки для Кота
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Microtech »

На всякий случай, напоминаю про резисторы, подтягивающие шину к "+"
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Выяснение причины пока приостановлено - пока тыкал осциллографом на шину, что-то случилось с мегой (вероятно частично сдохла), на пине xtal1 появилось 2.5В -> спалил lpt-шный программатор (заменю микросхему продолжу).
Пул апы имеются. Конденсаторы 0,1мкФ по питанию имеются.
Возможно проблема и из-за питания, т.к. имеется сплошной земляной полигон, т.е. земли преобразователя и по +5В соединены, на осциллографе видны иголки на +5В точно сейчас не помню, но что-то около 300мВ. Вероятно земли придется разделить.
Схема+плата. Ничего криминального.
CLOCK-v1.1.PDF
(942.9 КБ) 323 скачивания


Одновременно не с чтением ничего не пишется, запись производится только при выставлении времени (даты) при нажатии кнопки "сохранить"
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

А вы проверьте наверняка, если глазу в коде неза что зацепиться, это не значит что там нет ошибок :wink:
Закомментируйте все вызовы пишущей процедуры, и проверьте везде что вы сначала отправляете на микрушку адрес+чтение.
С землей вы плохо обошлись, это бесспорно.
Опыт приходит сразу после того, как он был нужен...
crazzian
Встал на лапы
Сообщения: 117
Зарегистрирован: Ср окт 10, 2012 07:11:04

Re: Часы на газоразрядных индикаторах

Сообщение crazzian »

Зря я тут панику навел. Ну не зря конечно...
Дросселя на +5В пока оказалось достаточно. Сутки часы проходили нормально.
Вообщем ВВ преобразователь гадость еще та, по крайней мере на MC34063. Мало того что по питанию много чего лезет, так еще и в эфир излучает (помехи на телевизор идут даже через стену)
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Foks »

Ну дык конечно. Спасет здесь грамотная разводка платы, броневой дроссель и, возможно, металлическая крышка поверх преобразователя (или металлический корпус). И LC-фильтр, наверное, не помешает и на питании преобразователя.

Также можно использовать микросхему с ШИМ-контроллером (например, MAX1771), она меньше гадит.
Giggity giggity goo!
Ответить

Вернуться в «Умные мысли»