Электронные часы с большими семисегментными индикаторами » Программирование устройств на PIC микроконтроллерах


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

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

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

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


PIC10
PIC12
PIC16
PIC18
PIC24
PIC32
Другими


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Часы-Таймеры » Электронные часы с большими семисегментными индикаторами
    Электронные часы с большими семисегментными индикаторами
    Автор публикации: alex Просмотров: 22871 Добавлен: 16-03-2016, 10:10 Комментарии: 22

         В статье представлена еще одна конструкция электронных часов на микроконтроллере PIC16F628A с примененными в качестве устройства отображения текущего времени больших светодиодных семисегментных индикаторов.
         Конструкция отличается от других устройств электронных часов на микроконтроллерах, представленных на сайте, тем, что в качестве устройства индикации используются большие семисегментные индикаторы и размеры часов ограничены только размерами этих индикаторов.
         В качестве управляющего микроконтроллера выбран широко распространенный и многим полюбившийся, конечно после PIC16F84A, микроконтроллер PIC16F628A. Его особенностью является встроенный задающий генератор, который позволяет отказаться от внешних частотозадающих компонентов, если не нужна особая точность выполнения управляющей программы.
         Счет времени ведет микросхема часов реального времени DS1307Z. Для питания памяти DS1307Z можно использовать любую батарейку с напряжением 3 В. В данной конструкции можно применить батарейку CR1220 или CR1225. Вид примененной батарейки указан на рисунке 7.
         Индикаторы покупались на митинском радиорынке по 100 руб. за 3 шт, которые были распаяны на плате индикации для какого-то неизвестного устройства. Какое-то время они лежали без дела и вот настал их черед вернуться в рабочее состояние и принести людям пользу.
         В качестве источника питания применен миниатюрный импульсный ИП, купленный на Aliexpress, с выходным напряжение 12 В и током 400 мА. Ток потребления работающих часов не превышает 300 мА.
         Корпус в данной конструкции часов как таковой отсутствует. Печатная плата изготавливалась под размеры индикаторов. Из оргстекла были изготовлены уголки и подставка. Плата крепится несколькими болтами к выпиленным из оргстекла уголкам (рисунок 9), нижняя грань которых спилена под углом к плоскости основания примерно 30о.
         Небольшим недостатком конструкции данного безкорпусного устройства является порядок сборки. Вначале распаиваются все электронные компоненты со стороны дорожек печатной платы и перемычки. Затем происходит крепление уголков к плате, и только потом происходит распайка светодиодных семисегнентных индикаторов. Недостатком является то, что в последствии невозможно снять уголки с платы без демонтажа индикаторов.
         Возможно те, кто заходят повторить найдут и другие варианты применения данной конструкции, включая размещение в корпусе или встраивая данную конструкцию в элементы бытовой мебели.
         Часть платы, на которой разместились все электронные компоненты, кроме индикаторов, была покрыта несколькими слоями бесцветного Цапонлака (рисунок 6), чтобы исключить из конструкции заднюю крышку, придать конструкции оригинальный вид и исключить попадание посторонних предметов и пыли в токоведущие цепи платы. Плата вся покрывается лаком за исключением места размещения батарейки.
         Ниже на рисунке 1 приведена принципиальная схема электронных часов и фотографии процесса сборки конструкции.
    Электронные часы с большими семисегментными индикаторами
    Рис 1. Принципиальная электрическая схема часов с большими семисегментными индикаторами.

    Перечень примененных в часах электронных компонентов
    DA1 78L05
    DD1 DS1307Z
    DD2 PIC16F628A
    DD3 ULN2803A
    DD4 ULN2004A
    HL1-HL4 KINGBRIGHT SA23-11HWA
    VT1-VT4 IRLML6302

    Электронные часы с большими семисегментными индикаторами
    Рис 2. Печатная плата после травления и сверления отверстий

    Электронные часы с большими семисегментными индикаторами
    Рис 3. Печатная плата после лужения дорожек

    Электронные часы с большими семисегментными индикаторами
    Рис 4. Печатная плата после распайки всех элементов

    Электронные часы с большими семисегментными индикаторами
    Рис 5. Примененный в конструкции часов источник питания

    Электронные часы с большими семисегментными индикаторами
    Рис 6. Цапонлак, примененный для покрытия платы

    Электронные часы с большими семисегментными индикаторами
    Рис 7. Батарейка, использованная в качестве питания часов реального времени

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

    Электронные часы с большими семисегментными индикаторами
    Рис 9. Вид электронных часов сбоку


    В архиве: Топология печатной платы и прошивка микроконтроллера PIC16F628A.

    ClockBigInd.rar [14,55 Kb] (cкачиваний: 1604)

    Комментарии
    Demo65 10 ноября 2016 18:02 Группа: Посетители
    не понятно, индикаторы с общим анодом?
    alex 11 ноября 2016 08:28 Группа: Администраторы
    Да, индикаторы SA23-11HWA с общим анодом.
    P.S. Если приглядеться к принципиальной схеме, то можно увидеть, что каждый индикатор коммутируется напряжением +12В.
    AsiaProfi 2 декабря 2016 12:40 Группа: Посетители
    Схема и печатка не соответствуют друг другу. В цепях сегментов нет токоограничительных резисторов. При работе они перегружаются несмотря на динамическую индикацию. Прошивка работает криво. Хотелось бы видеть работу над ошибками. В данном виде конструкция работоспособна лишь на половину.
    alex 2 декабря 2016 13:40 Группа: Администраторы
         Да, в цепях питания индикаторов отсутствуют токоограничивающие резисторы, поскольку используется динамическая индикация и ток при импульсной индикации не превышает допустимый.
         Если вы нашли какие-то ошибки, то можете их сообщить, человеческий фактор никто не отменял.
         Просьба в своих обвинениях быть более конкретным. Что значит криво? Укажите конкретные недочеты.
         Эта конструкция была собрана около года назад и до сих пор прекрасно работает.

    AsiaProfi 3 декабря 2016 01:48 Группа: Посетители
    Возвможно, у вас индикаторы с бОльшим рабочим напряжением, поэтому перегрузки не происходит. А у меня зелёные индикаторы светят оранжевым и сильно греется ULN. Поэтому без резисторов не обойтись. Если же просто снижать напряжение, при 10 вольтах вроде всё становится в норме, но по непонятным причинам снижается частота опроса индикаторов. Плюс при отключении и включении время с DS считывается, но не всегда правильно. Извиняюсь за такую резкую критику, может я и сам накосячил гдето, но где тут можно накосячить, схема чуть пострашнее мультивибратора.
    alex 3 декабря 2016 10:38 Группа: Администраторы
    У меня в конструкциях с применением микросхем DS1307 наблюдались некоторые "глюки", при соблюдении рекомендаций к применению этой микросхемы. В интернете эту на тему можно найти много статей (например: Ссылка).
    Как выходил из положения. Подставлял подбором конденсаторы к кварцу маленькой емкости. Часы бывало уходили и вперед и назад.

    Сейчас же отказался от использования данной микросхемы и использую DS3231, для которой не нужна внешняя частотозадающая цепь, у которых внутри имеется еще измеритель температуры и с ними не наблюдается никаких проблем.

    Что посоветовать вам. Возможно примененные вами индикаторы рассчитаны на более низкое напряжение. Попробуйте разрезать дорожки после микросхемы DD3 и поставить туда токоограничивающие резисторы. С прошивкой никаких проблем быть не должно, поскольку сначала писалась программа, а потом проводилась отладка с коррекцией. Для проверки прошивки промоделируйте схему в Proteus.
    Demo65 10 декабря 2016 21:19 Группа: Посетители
    Здравствуйте! Решил собрать эти "часики". smile Заказал на Али индикаторы, но видимо в спешке заказал 3х дюймовые, естественно размер "часиков" пополнел. Вашу плату пришлось слегка подкорректировать под размер моих индикаторов. Плату пока не делал, возникло пару вопросов. На схеме, на точку H(dp) через R5 идет на 11 ногу ULN2803A, в плате, на 13 ногу. И ещё, если я применил более большие индикаторы, ток нагрузки наверное будет больше, я так думаю, наверное придется ставить токоограничивающие резисторы. Подскажите пожалуйста.
    alex 12 декабря 2016 00:23 Группа: Администраторы
    Нужно смотреть конкретно какие вы индикаторы заказали, ведь они могут быть больше по размерам, но питающее напряжение может быть как больше, так и меньше, используемого в данной схеме.

    Да, каюсь, в схеме была допущена небольшая ошибка с включением микросхемы DD3, поскольку сначала рисовалась схема, а только потом разводилась плата с оптимизацией. Схему обновил.
    AsiaProfi 15 декабря 2016 23:22 Группа: Посетители
    Наконец то я заставил ваши часы работать. В моём случае такие же по размеру индикаторы, как ваши, только зелёные, согласились нормально работать, без перегрузки при питании в 9 вольт. Осталась только одна досадная мелочь. При включении минуты считываются всегда в большую сторону на несколько минут. Увы, написание прошивок я до сих пор не освоил, о чём сожалею, но может быть у вас есть какие-то идеи по исправлению этого бага? Я грешил на помехи по питанию, но сегодня осциллографом поглядел - всё идеально. Думаю, ваши идеи по навешиванию конденсаторов на кварц в данном сучае неочень подходят, тут дело не в точности хода. Конечно, это в принципе, ерунда, но если будет какая-то информация - буду признателен.
    rem42 16 декабря 2016 00:10 Группа: Посетители
    Уважаемый автор! А можно еще на свободный порт повесить термометр (ds18b20 например). Спасибо.
    С уважением,
    alex 16 декабря 2016 14:57 Группа: Администраторы
    AsiaProfi, Не совсем понятна фраза "При включении минуты считываются всегда в большую сторону на несколько минут...". Что это значит?

    rem42, Да, в принципе можно, только при этом значение температуры нужно будет выводить на индикаторы, скажем, несколько раз в минуту.
    AsiaProfi 19 декабря 2016 18:47 Группа: Посетители
    alex,
    Поясняю. Часы ходят. Выключаю - делаю паузу несколько секунд, включаю. Показания часов нормально, а минуты всегда на 5-7 больше, чем было установлено. Бывает, совсем произвольные показания. Но только минут. Часы остаются на месте.
    alex 20 декабря 2016 20:22 Группа: Администраторы
    Скорее всего что-то с микросхемой DS1307, поскольку микроконтроллер только считывает данные из памяти.
    Demo65 11 января 2017 17:37 Группа: Посетители
    Собрал эти часики на китайских 3 дюймовых индикаторах. Часики запустились сразу. Но ток потребления 1.5А. Немного поработав,часть сегментов погасла, сгорели ключи. Заменил, мгновенно опять сгорели.Теперь не знаю что и делать.
    Хочу предупредить тех, кто будет собирать эту схему, подавайте напряжение питания на схему начиная с 6 вольт!!! Иначе пожжете индикаторы. Индикаторы с большими цифрами горят до 7.5 вольта, выше сгорят. я сжег свои, подав напряжение питания 12в как и у автора.
    alex 13 января 2017 00:33 Группа: Администраторы
    Да, и еще одна вещь, которую обычно говорят опытные преподаватели нерадивым студентам: "Учите Мат Часть!"

    Если вы используете элементы отличные от приведенных, то естественно стоило бы озаботиться их характеристиками. Если нет даташита, то можно "методом научного тыка" с помощью регулируемого источника питания и вольтметра. И не всегда стоит доверять данным приводимым на страницах магазинов. Например индикатор SA23-11SRWA в магазине Чип-Дип (ссылка на страницу товара) и
    ссылка на даташит этого индикатора. На странице магазина указано прямое напряжение 2,5В, а в даташите типовое 7,4В и максимальное 10В. Выводы делайте сами.

    И еще, никогда не стоит пренебрегать расшифровкой буковок, которые идут после типа радиоэлемента, поскольку разница может быть колоссальной.
    Demo65 20 января 2017 23:07 Группа: Посетители
    Ну ничего. Век живи, век учись. У меня иногда просыпается моя идиотская привычка - спешить, а вдруг не успею. Вот и "успел". С матчастью у меня все в порядке, просто некоторые новые изделия надо делать не спеша.
    Заказал уже новые индикаторы. Скоро пришлют. Все равно доделаю. я упрямый в этом. smile
    Китайские индикаторы KYX-30101B3 и в интернете я не нашел даташит на них.
    Alexandr Minchenko 2 февраля 2017 12:12 Группа: Посетители
    А вывод 7 DS1307 не забыли подтянуть через 4.7к к плюсу?
    alex 3 февраля 2017 00:17 Группа: Администраторы
    Нет, в данной схеме 7-й вывод не используется.
    Alexandr Minchenko 3 февраля 2017 08:47 Группа: Посетители
    Нужна помощь. Хоть немного не по теме, собрал часы http://radiokot.ru/circuit/digital/home/33/ все работает, потом прикрутил четыре транзистора на аноды, поставил uln2803, собрал схему модульно, применил большие индикаторы как сдесь, работают нормально но пока не подключаешь мигающие секундные точки они у меня из отдельных двух светодиодов, при их подключении начинают попеременно примерно в полнакала мигать точки и полностью слева второй сегмент, цифра.
    alex 6 февраля 2017 13:47 Группа: Администраторы
    Нужно отключать вывод 7-ми сегментного индикатора от мигающей точки. В вышеприведенной схеме это "H". В указанной вами - это "DP".
    Alexandr Minchenko 6 февраля 2017 21:25 Группа: Посетители
    Дорожки к всем точкам на всех четырех индикаторах не подведены, вместо них сигнал dp идет к двум последовательно через резистор светодиодам потом на анод второго индикатора. Когда сигнал dp убираю часы идут нормально когда подаю мигают поочередно два светодиода с всем вторым сегментом, причем цифра правильно идет.
    Demo65 10 февраля 2017 23:31 Группа: Посетители
    Ну вот, пришли индикаторы, собрал, работают Прекрасно!!! При 9в питания, ток потребления 110мА. В темноте. как ночник! smile Автору, Спасибо!!!
    питание индикаторов сделал через два smd 1206 параллельных резистора по 100Ом и заменил на точке DP резистор 75Ом на 300Ом, так как точка чрезмерно ярко светила. Теперь светит на равне с индикацией. Потребление часов всего 50мА с питанием 12в.