Deprecated: Call-time pass-by-reference has been deprecated in /home/httpd/vhosts/rkniga.ru/subdomains/pic/httpdocs/engine/forum/main.php on line 93 Deprecated: Call-time pass-by-reference has been deprecated in /home/httpd/vhosts/rkniga.ru/subdomains/pic/httpdocs/engine/forum/classes/dle_forum_function.php on line 100 Deprecated: Call-time pass-by-reference has been deprecated in /home/httpd/vhosts/rkniga.ru/subdomains/pic/httpdocs/engine/forum/classes/dle_forum_function.php on line 119 Deprecated: Call-time pass-by-reference has been deprecated in /home/httpd/vhosts/rkniga.ru/subdomains/pic/httpdocs/engine/forum/classes/dle_forum_function.php on line 162
Электронные часы с большими семисегментными индикаторами » Форум сайта Pic.RKniga.ru


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

Какие микроконтроллеры вы используете?


Atmel
MicroChip
STM
Motorola
Texas Instruments
Другие


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга


    Ответить
      Электронные часы с большими семисегментными индикаторами
    oleg.g
    31 августа 2018 21:46
    Сообщение #1


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Здравствуйте.
    Вопрос по часам с большими семисегментными индикаторами

    	Электронные часы с большими семисегментными индикаторами

    Собрал часы, все работает. Но если отключить питание, а потом включить, часы уже спешат на секунд 15-20. Бывает и больше. И такое каждый раз после отключения питания.
    Микросхему часов реального времени DS1307 менял. Не помогает. Сейчас заменил на DS3231. Но дефект проявляется также.
    Помогите, пожалуйста, разобраться.
    Перейти в начало страницы
    alex
    1 сентября 2018 00:55
    Сообщение #2


    Участник
    • 34

    Репутация: 3
    Группа: Администраторы
    Сообщений: 97
    Регистрация: 13.06.2012
    ICQ:--
    Когда я собирал несколько вариантов часов с микросхемой DS1307 были проблемы как раз с убеганием вперед, но только при включенном питании. При отключении все работало. У вас я так понимаю наоборот.

    При использовании мною микросхемы DS3231 никаких, описанных вами, проблем не возникало. Да по идее и не должно, так как она использует внутреннюю частотозадающую цепь (без внешнего кварца).

    При использовании микросхемы DS1307 для исключения отставания или убеганию времени в цепь кварцевого резонатора запаивались конденсатора малой емкости 10-40 пФ.
    Можно еще попробовать заменить кварцевый резонатор другим, купленным в другом магазине или другой партии.
    Перейти в начало страницы
    oleg.g
    1 сентября 2018 10:48
    Сообщение #3


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Не имеет значения на какое время отключить питание - 2 сек. или пол дня всегда добавляется приблизительно одно значение. Если подряд кратковременно выключить и включить, то начинают спешить на минуту, две.
    Вчера даже менял DS3231 на готовый модуль Tiny RTC на DS1307. Ничего не изменилось.
    А может где-то в программной части ошибка? Когда часы включаются, я так понимаю, контроллер считывает время из DS3231 и выводит на дисплей. Возможно после выключения где то остаются данные и потом прибавляются к считаным?
    Перейти в начало страницы
    alex
    1 сентября 2018 13:45
    Сообщение #4


    Участник
    • 34

    Репутация: 3
    Группа: Администраторы
    Сообщений: 97
    Регистрация: 13.06.2012
    ICQ:--
    В программе считывание времени происходит один раз в секунду и на индикаторе отображаются только считанные данные. Мною и еще несколькими посетителями были собраны данные часы и такого эффекта не наблюдалось.

    Разводили ли вы печатную плату заново под свои часы, или использовали представленную на сайте? По фотографии видно, что вы используете другие, большие индикаторы, нежели в статье. Какой ток потребления у ваших часов?

    Если исключить вариант неисправности микросхем и задаться тем, что во время работы часов и во время отключенного питания часы работают правильно, то получается, что искажение информации проиходит в момент включения или выключения. Момент выключения я бы тоже исключил, поскольку разряд емкостей происходит плавно. Можно предположить, что в момент включения происходит бросок тока, вследствие чего происходит искажение времени в микросхеме DS1307 или DS3231. Можно попробовать ограничить ток индикаторов, сделать так, чтобы они чуть-чуть светились и проверить работу несколькими включениями-выключениями.
    Перейти в начало страницы
    oleg.g
    1 сентября 2018 15:45
    Сообщение #5


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Индикаторы такой самой размерности как и в вашей конструкции - высота цифр 57мм (ARCLED SM512301Y2/30). Просто получился немного гигантский корпус, вот и кажется что индикаторы больше. Плату скачал из статьи. Только поменял разводку под DS3231.
    Контролер прошивал через pickit2. А не может быль чтоб биты конфигурации неправильно установились?
    Для питания используется адаптер 12В 1,5А от маршрутизатора. Ничего особо не греется. Я в разрыв каждого сегмента включил резистор 68 ом. Ток потребления не измерял пока. Попробую поэкспериментировать и отпишусь.

    Благодарю за уделенное внимание. :smile:
    Перейти в начало страницы
    oleg.g
    6 сентября 2018 12:31
    Сообщение #6


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Здравствуйте!
    Итак продолжим... :smile:
    Замерял потребляемый ток - не превышает 50 ма. Думаю, блок питания должен тянуть без проблем.
    Также заснял видео с проблемой. Там видно, как отключаю потом включаю питание и происходит прибавление минут. Посмотрите может так будет проще разобраться в баге.

    https://youtu.be/GGHDHilx-XU
    Перейти в начало страницы
    alex
    15 сентября 2018 12:31
    Сообщение #7


    Участник
    • 34

    Репутация: 3
    Группа: Администраторы
    Сообщений: 97
    Регистрация: 13.06.2012
    ICQ:--
    Трудно вот так "удаленно" определить, что конкретно происходит с вашими часами.

    Я бы воспользовался осциллографом и потыкал в разные места. Но описывать все места "тыкания" и что там должно быть очень муторная задача. Советов, что сделать очень много и описать их все не представляется возможным.

    Пересмотрел еще раз прошивку. В ней содержится только считывание значения по I2C и отображение значения на индикаторе. Никаких прибавлений значения времени нет, кроме как при нажатии кнопки изменения времени.

    Поскольку изменяется значение минут попробуйте подключить резистор номиналом 5-10 кОм к резистору R2 со стороны микроконтроллера, а второй конец к плюсу питания. Для работы кнопок используются подтягивающие резисторы порта Б. Возможно что-то связано с этим. Так как меняется значение минут, то возможно, что как бы нажимается кнопка изменения минут один раз.

    Определить где "собака зарыта" можно отключив отдельно питание от микроконтроллера и от микросхемы часов реального времени. В первом эксперименте оставить питание МК и попробовать передернуть питание часов, а во втором - оставить питание DS1307 и передернуть питание микроконтроллера. Этим можно будет определить где происходит изменение времени.

    Я добавил в прошивку полусекундную задержку после включения. Хотя думаю, что это ни коим образом не должно повлиять на искажение значения времени. Файл прошивки ClockBigInd.hex
    Перейти в начало страницы
    oleg.g
    15 сентября 2018 13:26
    Сообщение #8


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Спасибо, попробую Ваши рекомендации.
    Перейти в начало страницы
    oleg.g
    16 сентября 2018 15:30
    Сообщение #9


    Новичок
    • 17

    Репутация: 0
    Группа: Посетители
    Сообщений: 7
    Регистрация: 23.08.2018
    ICQ:--
    Есть результат!
    По рекомендации подтянул ножку управления минутами через резистор 10к к питанию. Но при включении начали прибавляться часы. Потом подтянул вход часов и все стало работать как надо. Однако перестали отрабатываться нажатия на кнопки вообще. Подобрал сопротивление резистора притяжки к земле - получилось 1.8к Теперь все работает правильно. Прошивку с задержкой не заливал.
    Большое спасибо за помощь!

    	Электронные часы с большими семисегментными индикаторами
    Перейти в начало страницы
    alex
    16 сентября 2018 21:06
    Сообщение #10


    Участник
    • 34

    Репутация: 3
    Группа: Администраторы
    Сообщений: 97
    Регистрация: 13.06.2012
    ICQ:--
    Круто!
    Очень рад, что проблема решилась!
    Перейти в начало страницы
    Быстрый ответ Ответить
    1чел. читают эту тему (гостей: 1)
    Пользователей: 0

      Сейчас: 22 ноября 2018 14:30