Часы бегущая строка своими руками

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024


Загрузить схему в формате PDF

Устройство состоит из двух частей: блока управления и блока отображения. Две печатных платы соединяются друг с другом с помощью пары двухрядных разъемов и разделяются четырьмя втулками. Один из разъемов служит для передачи электрических сигналов, другой используется только как механический соединительный элемент.

Основным компонентом устройства является микроконтроллер PIC18F252 (U9). Он управляет всеми функциями и осуществляет алгоритм управления светодиодной матрицей.

Светодиоды соединены матрицей 40×7. Соединенные вместе катоды образуют столбцы матрицы, а аноды – строки. Матрица управляется динамически – строка за строкой. Светодиоды матриц переключаются специализированными микросхемами драйверов STP16CP05 (U101…U103) производства фирмы ST Microelectronics.

Надписи на фото

Необходимо отметить, что номера столбцов и строк матрицы не соотносятся с соответствующими выводами микросхем (U101…U103). Это сделано для упрощения разводки печатных плат. Биты, соответствующие определенным светодиодам, формируются на программном уровне.


Кликните для увеличения
Принципиальная схема светодиодного табло


Загрузить схему в формате PDF

Часы реального времени и календарь

Часы реального времени реализованы на микросхеме U10 – PCF8583. Она содержит непосредственно часы со всеми необходимыми счетчиками и регистрами, календарь, будильник, генератор 32768 Гц и цепи интерфейса I 2 C. Ее энергопотребление является очень низким (порядка 10 мкА), а напряжение питания может находится в диапазоне 1…6 В. Такие характеристики гарантируют функционирование в течение длительного времени при использовании небольшой литиевой батарейки, или даже накопительного конденсатора. Разработанная печатная плата предусматривает оба варианта.

Измерение температуры

Для измерения температуры воздуха используются датчики LM35 (U5, U6). Они откалиброваны непосредственно в градусах Цельсия. Выходной сигнал имеет коэффициент 10 мВ/°C. Напряжение питания должно быть между 4 и 30 В. Для измерений в полном диапазоне температур к выходам датчиков через резисторы R4 и R5 должно быть приложено отрицательное напряжение. Для этого нижние выводы датчиков подключаются к аналоговой земле через два диода (VD4, VD5 и VD6, VD7), которые поднимают ее потенциал примерно до 1.4 В. При таком включении датчиков напряжения источника +5 В для их питания будет недостаточно, поэтому в схему добавлен стабилизатор U1 (78L09).

Сигнал с датчика снимается между его выходом и отрицательным контактом. Напряжение между этими двумя выводами пропорционально величине температуры, а его знак (+ или –) говорит о характере температуры (выше или ниже 0 °С). Датчики подключаются к устройству трехпроводными кабелями. Программное обеспечение разработано так, чтобы измерять внутреннюю температуру с помощью U6, а внешнюю – U5.

Аналого-цифровой преобразователь

Выходы обоих датчиков LM35 подключены к микросхеме U4 – MCP3302. Это АЦП последовательного приближения. Он обеспечивает измерения с разрешением 13 бит (12 бит плюс бит знака). MCP3302 имеет 4 аналоговых входа, которые могут быть сконфигурированы либо как 4 отдельных, либо как 2 дифференциальных. В данной схеме для преобразования биполярного напряжения от датчиков температуры LM35 используется вариант с двумя дифференциальными входами. Опорное напряжение для датчиков вырабатывает микросхема U7 – LM336.

С помощью подстроечного резистора RP1 опорное напряжение устанавливается равным 2.55 В. Диоды VD8 и VD9 нужны для температурной компенсации. MCP3302 имеет интерфейс SPI, использующий четыре сигнальных линии. По этим линиям микроконтроллер (U9) осуществляет управление АЦП. Для повышения точности измерений аналоговая земля развязана с цифровой с помощью небольшой индуктивности (L6). Это ферритовый дроссель для поверхностного монтажа Z600 типоразмера 0805. Такие же дроссели применены для развязки питания АЦП, датчиков температуры и источника опорного напряжения (L4 и L5).

Управление яркостью

Для автоматической регулировки яркости дисплея используется интегральный датчик освещенности U8 (TSL257). Его выходное напряжение прямо пропорционально интенсивности света, попадающего на встроенный фотодиод. Это напряжение измеряется собственным АЦП микроконтроллера. От измеренного значения зависит скважность ШИМ модуля микроконтроллера, отсюда происходит изменение яркости свечения светодиодной панели. Чтобы избежать нежелательных флуктуаций яркости, программным способом вводится небольшая задержка управления ШИМ модулем.

Функции дисплея

Настройки дисплея осуществляются пользователем посредством трех кнопок S1…S3. Названия этих кнопок таковы:

  • S1 – Вверх;
  • S2 – Вниз;
  • S3 – Установка.

Настройка часов

Часы Боба Блика


Эта статья об изготовлении необычных часов. У них есть много названий – часы пропеллер, часы Боба Блика. Экран этих часов не похож ни на один из привычных нам часов. Для отображения времени используется дисплей с механической разверткой. Он представляет собой быстро вращающийся рычаг с установленными на нем светодиодами, которые и формируют изображение.
Рычаг вращается с частотой около 1500 об/мин и диоды загораются и выключаются на строго определенное время. Поскольку рычаг вращается с большой скоростью то он почти незаметен, а мы видим только вспышки светодиодов. В каждом положении рычага светодиоды горят в определенной комбинации, что позволяет формировать графическую и текстовую информацию.
В зависимости от формы рычага дисплей может быть в виде цилиндра или диска. Прямой рычаг позволяет имитировать стрелочные часы.
Считается, что первым сделал подобные часы Боб Блик. В интернете можно найти большое количество разнообразных вариантов таких часов. Эти часы были построены по образцу Хенка Сотби.

Часы в работе

Основные функции
Ниже приведены основные функции часов:
Отображение времени и даты
Установка всех параметров с пульта ДУ типа RC-5
Отображение времени в цифровом и стрелочном режими без даты и с датой
Отображение пятиминутных делений
Использованы 5 мм сверхяркие светодиоды
Бегущая строка со знакогенератором.
Бегущая строка длиной 128 символов записывается в EEPROM.
Демо режим. Циклическое переключение между бегущей строкой, аналоговым и цифровым дисплеем.


Установка временени
Поскольку вся электроника находится на вращающемся рычаге, то возникает вопрос: Как установить время? Во многих моделях время устанавливается на самом рычаге специальными кнопками. При такой конструкции Вы сможете увидеть установленное время только после запуска рычага. В случае неверной установки придется снова остановить рычаг и опять в слепую выставлять время. В настоящих часах уставновка производится с пульта ДУ. Особенно эффектно выглядит установка времени в стрелочном режиме.

Извлечение мотора из кулера

Извлечение мотора из кулeра

Перейдем к самому сложному этапу изготовлению часов – механике. Для начала Вам необходим вентилятор от блока питания компьютера. Очень желательно использовать качественный вентилятор с шариковыми подшипниками это значительно удлинит жизнь Ваших часов. Как правило частота вращения компьютерных вентиляторов составляет 3000 об/мин или 50 оборотов в секунду. Такая частота вращения позволяет создать очень стабильное изображение. Но вращающийся с такой скоростью рычаг создает много шума. Поэтому я понизил частоту вращения до приемлемого уровня шума.


Изготовление вращающегося трансформатора

Изготовление вращающегося трансформатора

Изготовление вращающегося трансформатора

Передавать энергию с неподвижной части на вращающуюся можно разными способами. Наиболее распространен скользящий контакт. Такой способ имеет много недостатков – нестабильность контакта, шум, механический износ. В сделаных мною часах был использован более изящный способ. Трансформатор состоящий из подвижной и неподвижной работы. Его изготовление пожалуй самый ответственный этап при изготовлении часов. Прежде всего требуется аккуратно разобрать вентилятора. Для этого нужно отклеить наклейку с задней стороны. И аккуратно вытащить стопорное кольцо. После чего можно снять крыльчатку с ротором. Плассмасовая крыльчатка нам тоже больше не нужна. Снимаем ее с металлического основания и на него наматываем вторичную обмотку. Обмотка содержит около 150 витков обмоточного провода диаметром 0.3мм. Оринтировочно это слоев 5. Каждый слой был промазан силиконовым герметиком продается на любом строительном рынке) и просушен.

Очень рекомендую использовать провод в шелковой изоляции – это упростит фиксацию витков. Обычный провод соскальзывает с металлического основания.
Для крепления рычага в роторе сверлится несколько отверстий.
С неподвижной части вентилятора удаляется большая часть пластмассы и остается только нижняя рамка.

Изготовление вращающегося трансформатора

Зазор между первичной и вторичной обмоткой должен быть минимален. Реально получается где то 0.3 – 0.7 мм. Для изготовления первичной обмотки необходимо сделать оправку. Для этого берется любой цилиндр подходящего размера (мною был использован старый конденсатор) на который плотно наматывается необходимое количество бумаги до достижения нужного диаметра. Далее на эту оправку наматывается порядка 100 витков провода аналогично вторичной обмотке. После высыхания герметика оправка аккуратно вытаскивается. Получившееся кольцо из проволки центруется и фиксируется герметиком к основанию вентилятора. Таким образом мы получили трансформатор для передачи энергии к вращающимся частям.

Далее необходимо сделать датчик положения ротора. Для этого используется любой инфракрасный светодиод и фототранзистор. Светодиод устанавливается на неподвижном основании. Фототранзистор на вращающейся части на том же радиусе. Таким образом что бы фототранзистор засвечивался один раз за оборот. Удобно использовать разрезанную оптопару.


Электроника
Электроника часов состоит из двух частей – вращающейся и неподвижной.

Неподвижная часть
Принципиальная схема неподвижной части

Принципиальная схема неподвижной части

Выполнена на микроконтроллере pic16f628, который декодирует команды с ИК приемника. Это позволяет включать-выключать ротор часов. Во включенном режиме микроконтроллер подает ШИМ сигнал на затвор транзистора который модулирует напряжение в первичной обмотке трансформатора. Частоту ШИМ придется подобрать самостоятельно. Для каждого трансформатора она имеет свое оптимальное значение. В моем варианте она имела значение около 7 Кгц. Недостаток этого небольшой свист ротора двигателя. Лучше если она будет больше 16 Кгц.

В выключенном режиме двигатель выключается. Затем через несколько секунд снижается скважность импульсов в первичной обмотке. В этом режиме энергия нужна только для поддержания хода часов.

Для регулировки частоты вращения двигателя используется микросхема LM317 которая включается ключом на полевом транзисторе.

Вращающаяся часть
Принципиальная схема вращающейся части

Принципиальная схема вращающейся части

Энергия к вращающейся части поступает с обмотки на роторе. Напряжение с вращающейся части поступает на выпрямитель и стабилизатор дающий 5 В для питания микроконтроллера. На входе микроконтроллера будут сигналы с ИК датчика от пульта ДУ и датчика положения рычага.

Все светодиоды подключены через транзисторы включенные в режиме источников тока. Таким образом светодиоды защищены от перенапряжения, которое может достигать 40 вольт. Это напряжение может меняться в зависимости от одновременно включенных светодиодов. Ток диодов можно принять равным 50 ма, поскольку диоды работают в импульсном режиме.

time 0

Идея схемы такова, что можно аккуратно собрать такую схему из отдельных деталей, а можно просто используя готовые блоки, даже паяльник при этом не используя.

В принципе испытания данного прототипа так и были сделаны, сборкой схемы из готовых модулей. Использованы такие модули;

B основе MK Atmega328 и модуль матрицы в сборе — MAX7219 dot matrix (4 шт. на одной планке).
DS18b20 , RTC DS1307 , датчик освещения , кнопки управления, комплект RF -модулей, и блок питания 5 вольт ( потребление схемы в пиковых моментах, при максимальной яркости, составляет до 0.6А, а в среднем это 0.3А, можно использовать и лишнюю зарядку от мобилки, если имеется с подходящими параметрами) ).
В чем интерес применения Arduino Nano Atmega328.
В том, что на борту этой платки уже имеется модем с выходом на мини USB, прошить такой контроллер можно без особого труда через bootloader, с помощью вашего компьютера и телефонного шнура для зарядки мобильного телефона с разъемом под мини USB.
Все это несложно делается с помощью простенькой программки XLoader .
Чуть подробней про опыт прошивки через bootloader, описывал здесь " Nano вольт - амперметр 2 канала. ".
При желании все необходимые модули можно по хорошей цене купить на Aliexpress.



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

  • Первый вариант это, поочередное отображение времени (часы и минуты), уличной температуры и температуры помещения (два датчика DS18b20 ) .

Отображение в режиме бегущей строки - дата, месяц, год и день недели.

  • Второй вариант, отображение времени (часы и минуты), температуры окружающего воздуха (один датчик DS18b20 ) .

Отображение в режиме бегущей строки - дата, месяц, год и день недели.

  • Третий вариант, просто часы, отображение времени (часы и минуты),

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

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

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


- При нажатии Кн2 более 2х сек., осуществляется вход в меню установок (при нахождении в меню, нажатие Кн2 более 2х сек., выход из меню установок).


- После входа в меню, кнопками Кн1 – Кн3 можно сделать коррекцию даты и времени, движение по меню осуществляется Кн2 , изменяемый параметр будет находиться в инверсном свечении.


- Также в меню, возможно, если в этом есть необходимость, установить коррекцию неточности хода часов, в течение суток ±9сек.


- Следующий пункт в меню будет, это выбор используемого языка, в одной прошивке предусмотрено использование языков UA-EN-RU .


- Пункт варианта анимации на экране, один из трех, что описан в начале статьи.

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

Часы Часы + RF Часы + RF + ds18b20
Часы + ds18b20 (2шт.) Часы + ds18b20 RF -передатчик

Фото часов в процессе отладки на макетной плате.

тест плата

Схема в протеусе


FUSE для работы ATmega328 с загрузчиком (архив с прошивкой загрузчика ATmega328.)

фьюзы

FUSE, если кто будет использовать ICSP программатор для прошивки ATmega328 в этой схеме.

фьюзы

Схема передатчика для этих часов.

С помощью перемычек Jp -1, Jp -2, Jp -3, можно выбрать, частоту передачи RF -модулем пакетов информации с температурой от датчика №3.

(1 – перемычка замкнута, 0 – нет)

FUSE, ATtiny24а устанавливаются на внутренний генератор МК - 8МГц .



Печатная плата для часов , и радиодатчика.



Прошивка “Часы – термометр на матричных модулях ” , печатные платы, proteus, в архиве .

Радиодатчик для матричных часов, от батарейного питания, схема и прошивка в форуме.

DS18b20 , RTC DS1307 , датчик освещения , кнопки управления, комплект RF -модулей, и блок питания 5 вольт ( потребление схемы в пиковых моментах, при максимальной яркости, составляет до 0.6А, а в среднем это 0.3А, можно использовать и лишнюю зарядку от мобилки, если имеется с подходящими параметрами) ).
В чем интерес применения Arduino Nano Atmega328 .
В том, что на борту этой платки уже имеется модем с выходом на мини USB, прошить такой контроллер можно без особого труда через bootloader, с помощью вашего компьютера и телефонного шнура для зарядки мобильного телефона с разъемом под мини USB.
Все это несложно делается с помощью простенькой программки XLoader .
Чуть подробней про опыт прошивки через bootloader, описывал здесь " Nano вольт - амперметр 2 канала. ".
При желании все необходимые модули можно по выгодной цене купить на Aliexpress.

После заказа, немного терпения пока все эти детальки придут по почте, и вы сможете себе гарантированно собрать, эту весьма интересную схему с часами и термометром.


В общем, с элементарной базой, думаю вопросов не должно возникнуть, так все здесь стандартно.


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

  • Первый вариант это, поочередное отображение времени (часы и минуты), уличной температуры и температуры помещения (два датчика DS18b20 ) .

Отображение в режиме бегущей строки - дата, месяц, год и день недели.

  • Второй вариант, отображение времени (часы и минуты), температуры окружающего воздуха (один датчик DS18b20 ) .

Отображение в режиме бегущей строки - дата, месяц, год и день недели.

  • Третий вариант, просто часы, отображение времени (часы и минуты),

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

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


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


- При нажатии Кн2 более 2х сек., осуществляется вход в меню установок (при нахождении в меню, нажатие Кн2 более 2х сек., выход из меню установок).


- После входа в меню, кнопками Кн1 – Кн3 можно сделать коррекцию даты и времени, движение по меню осуществляется Кн2 , изменяемый параметр будет находиться в инверсном свечении.


- Также в меню, возможно, если в этом есть необходимость, установить коррекцию неточности хода часов, в течение суток ±9сек.


- Следующий пункт в меню будет, это выбор используемого языка, в одной прошивке предусмотрено использование языков UA-EN-RU .


- Пункт варианта анимации на экране, один из трех, что описан в начале статьи.

Фото часов в процессе отладки на макетной плате.

Схема в протеусе

Схема передатчика для этих часов.

С помощью перемычек Jp -1, Jp -2, Jp -3, можно выбрать, частоту передачи RF -модулем пакетов информации с температурой от датчика №3.

Читайте также: