Ранее я описал методы работы микроконтроллера от Texas Instruments, msp430g2553 с различными устройствами. Это были устройства индикации (на контроллерах hd44780 и tm1638), датчик температуры ds18b20, и часы реального времени ds1394. Теперь настало время объединить эти девайсы. Так уж получилось, что у меня уже была плата, на которой добрыми китайцами собран 7-сегментный индикатор, управляемый контроллером tm1638, и, недолго думая, я решил изготовить плату, которая бы конструктивно подходила к плате индикации от добрых китайцев. Вот, что из этого у меня вышло:

Это — сама плата. Как водится, — прекрасно получилось её изготовить с помощью фоторезистивной технологии. Не обошлось без одной не очень приятной мелочи — после лужения оказался одна лишняя перемычка, которую почти не было видно, между двумя стабилизаторами — на 5 и на 3,3В, из-за этого микроконтроллер при включении питался от 5В, это его чуть не убило. Я сначала грешил на сам стабилизатор, даже пару раз его поменял, пока не обнаружил этот досадный волосок из припоя.

Получилась в итоге вот такая конструкция:

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

Сопряжение индикатора, запитанного от 5В, с микроконтроллером msp43g2553, работающим от 3,3В, получилось просто, не пришлось городить никаких волшебных методов, так как у драйвера индикатора выход данных выполнен на внутреннем ключе с открытым истоком. Необходимо было только демонтировать подтягивающие резисторы на самой плате индикатора (выполнены сборкой, обозначенной «R1»). Необходимо только учесть, что в этом случае блок индикации может потреблять до 0,2А от источника на 5В. Если питать часы при этом от источника, скажем, на 12В, то стабилизатор будет неплохо греться (выделяемая мощность до 0,2*(12-5) = 1,4Вт)

Для управления внешней нагрузкой я сделал 2 выхода, каждый из которых может управлять нагрузкой до 0,1А, к ним можно подключать например реле, или как у меня, — светильник в виде шара. События, управляющие нагрузкой, пока можно менять, только изменяя программу, позднее в планах написать что-то более универсальное и чтобы управлялось непосредственно с часов. Напряжение питания внешней нагрузки можно менять с помощью джампера на плате часов, варианты — 5В и напряжение источника.

Также предусмотрены дополнительные выводы с контроллера на перспективу (их можно использовать например как входы) и разъём для программирования, кнопка сброса на плате.

Верхний разъём 3,5мм на плате — для подключения датчика ds18b20, нижние два — подключение нагрузки. Питание часов осуществляется с помощью бывшего зарядного устройства от мобильника (оно выдаёт около 6,8В и ток до 0,8А).

Добавил схему девайса:

Резисторы R11 и R12 не используются, вместо них — внутренние резисторы подтяжки. Так же на схеме нет индуктивности, которая установлена на плате в качестве перемычки. На плате предусмотрена возможность питания индикатора как от 5В, так и от 3,3. Для этого можно менять положение перемычки, идущей к питанию индикатора.

Исходный код проекта часов на микроконтроллере msp430g2553. Печатная плата в Sprint Layout.

Такая вот вундервафля-всё-в-одном.

Видео:

Это — реально простые часы на микроконтроллере msp430g2553, ака launchpad (ланчпад), которые может повторить каждый. Кроме того — я публикую исходный код, который отдаю по лицензии «делайте с этим что хотите». Часы имеют все основные функции часов, как то — показ дня недели, даты, времени, температуры, с программируемым будильником.

поделиться:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • В закладки Google
  • Яндекс.Закладки
  • БобрДобр
  • Сто закладок
  • Blogger
  • Блог Я.ру
  • Одноклассники