Часы_пропеллер_своими_руками

Часы_пропеллер_своими_руками

Часы-пропеллер

Наконец-то реализовал свою давнишнюю мечту — сделал часы-пропеллер! Я этой идеей загорелся несколько лет назад, когда увидел работу этих часов на You Tube.
Реализация задумки осложнялась тем, что все схемы, а их в интернете просто навалом, реализованы на PIC-контроллерах, а у меня до сих пор не получалось его прошить. Я перепробовал кучу программаторов но, либо руки у меня кривые, либо так на тот момент звёзды встали, однако все мои попытки не увенчались успехом. А схем на микроконтроллерах фирмы "Atmel", с программированием которых у меня проблем не возникает, я так не нашёл. Пытался сподвигнуть знакомых программистов на написание программы для AVR, но не нашли отклика в их душах. Может идея так и осталась бы похороненной под обломками рухнувшей надежды, но недавно стал просматривал свою коллекцию всевозможных схем на дисках, которые я купил на барахолке.

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

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

Часы пропеллер своими руками

Александр Васильев

hola hola de Argentina
Tengo una solicitud
que es equivalente al transistor KT315A
ya que aquí en Argentina no lo entiendo

ya que lo probé en protoboad sin transistores KT315A y funciona muy bien
sin KT315A PIC 16F628A ¿hay algún riesgo?

привет привет из Аргентины
У меня есть запрос
что эквивалентно транзистору KT315A
так как здесь, в Аргентине, я не понимаю

так как я тестировал его в protoboad без транзисторов KT315A, и он работает очень хорошо
без KT315A PIC 16F628A есть ли риск?

walter

Леонид

Спасибо за совет ! Действительно на Виндовс 7 нужно запустить совместимость с XP Service Pack 2 и всё пойдет на УРА !

Вадимка

КТ815 работает адекватно с напряжением в 5 вольт.

Vovka

Часы пропеллер своими руками

Цели и задачи проекта

Целью данного проекта является создание часов-пропеллера, использующих один цвет, с использованием POV-эффекта для создания оптической иллюзии. Устройство должно отображать изображение (точнее его часть в определенной точке) по всей окружности от 0° до 360° с точностью 1°. ИК-передатчик в паре с ИК-приемником, образуют нулевую точку для отслеживания местоположения пропеллера.

В нашем POV-девайсе используется два источника питания: один находится на плате пропеллера, второй управляет моторчиком, который вращает пропеллер. Принцип работы POV будет следующий: старт с нулевой точки, затем каждый 1° светодиоды будут загораться в зависимости от местоположения пропеллера в круге 360°.

Читайте также:  Как_починить_ящик_стола

Используемые радиоэлементы

PIC18F252 — микроконтроллер. Основной элемент нашего устройства.

74LS373 (отечественный аналог 555ИР22) — регистр-защелка для управления светодиодами.

Компьютерный вентилятор (3800 об/мин) — я выбрал вентилятор с встроенным контроллером скорости и питания. Для POV-эффект требуется вентилятор с скоростью вращения не менее 3600 об/мин.

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

Также, в проекте используются:
7805 +5В преобразователь
47мкФ конденсатор
40 МГц кварц
2x 330 резисторы
16x зеленые LED
ИК-диод
Фототранзистор
Макетная плата
Соединительные провода
9В держатель батарейки
PICkit2 программатор

Принципиальная схема POV

Схема устройства не сложная и содержит три основных компонента: преобразователь 7805 в источнике питания, микроконтроллер PIC18F252 и регистр 74LS373 для управления светодиодами и ИК-диод и фототранзистор для отслеживания нулевой точки.

Вкратце об основных модулях устройства:

Источник питания
Стандартные +5В для питания микроконтроллера получаем через преобразователь LM7805 (корпус Т220). Выходной конденсатор служит для фильтрации бросков напряжения.

Управление светодиодами
В PIC18F252 использована 8-бит шина данных с 2 линиями управления 74LS373, которые включают или выключают светодиоды, в зависимости от пришедших данных. При данном схемотехническом решении в один момент времени возможно управление только одной микросхемой 74LS373, поэтому светодиоды загораются не со 100% синхронностью.

Отслеживание нулевой точки
Синхронизации изображения осуществляется при помощи нулевой точки, для отслеживания которой используется ИК-диод и фототранзистор. Когда свет от диода попадает на транзистор, он открывается и +5В от коллектора идут к +0В эмиттера. Контроллер PIC обнаруживает спад сигнала и отрабатывает программу возврата к нулевой точке.

О микросхеме 74LS373

Микросхема 74LS373 (отечественный аналог 555ИР22) представляет собой регистр-защелку с тремя состояниями выходов, содержащая в себе 8 D-триггеров. Даташит PDF.

Данную микросхему я использовал в качестве LED-драйвера. Выхода м/с включают или выключают соответствующие светодиоды. Каждая м/с имеет два входа управления: LE (Latch Enable) и OE (Output Enable). Ниже, я кратко опишу как применять эти входы в нашем проекте.

Output Enable (OE) — подключает/отключает выхода микросхемы. Вход инверсный. Если на входе 1, то выхода имеет состояние высокого сопротивления, если на входе 0, то данные передаются от входа к выходу (см. таблицу истинности в даташите).

Читайте также:  Как_связать_тапки_на_подошве_крючком

Latch Enable (LE) — вход, в зависимости от состоянии которого м/с будет сохранять текущее состояние выходов, либо устанавливать новое состояние выходов, в зависимости от данных на входе. Если вход LE активен (логическая 1 на входе), то данные свободно передаются от входа к выходу. Если на входе 0, то данные не передаются, а выходное состояние зависит от предыдущего значения входов.

Расчет таймингов POV

Для того, чтобы в определенном положении POV отображать соответствующие данные, мы должны очень точно рассчитать все тайминги и задержки. К счастью, контроллер PIC содержит встроенный таймер, который мы и будем использовать.

Частота вращения вентилятора = 3800 об/мин
Найдем частоту вращения в секунду 3800/60 = 63.3333 об/сек.
1 полный круг = 1/63.3333 = 0.015789 секунд
1° вращения = 0.015789/360 = 0.000043859 секунд
Частота выполнения инструкции 40 МГц/4 = 10 МГц
Инструкций на 1° вращения = 43.86 мкс/10000000 = 438.6
Получается 438 инструкций на каждый 1° вращения

Т.о. зная частоту вращения вентилятора, мы можем найти время для поворота на 1°. У нас получилось значение 43.86 мкс, это будет интервал вызова прерывания микроконтроллера, по которому будет обновляться состояние светодиодов. Для получения полной картинки, нам нужно будет выводить для каждого из 360 градусов свое состояние светодиодов.

Отслеживание нулевой позиции

Для того, чтобы наш POV-проект был более точен в отображении картинки, я использовал контроль нулевой точки при помощи ИК-светодиода и фототранзистора. После того, как точка 0° пройдена, изображение сбрасывается и начинается новый цикл.

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

На картинке выше показано, как реализовано отслеживание нулевой точки в нашем POV-проекте. Всякий раз, когда пропеллер проходит над ИК-светодиодом, транзистор открывается соединяя +5В с коллектора к земле эмиттера. Микроконтроллер PIC обнаруживает данный переход состояния и т.о. определяет нулевую точку.

Изготовление платформы пропеллера

На картинке ниже я собрал все детали, которые будут нужны нам для изготовления POV. Не показан только источник питания для вентилятора и ИК-диод.

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

Для этого, в основе сверлим четыре отверстия и закрепляем вентилятор в центре основы.

Прикрепляем небольшой кусок фанеры, при помощи клея или эпоксидки, к вентилятору.

Обрезаем лопасти вентилятора и прикрепляем держатель 9В батарейки.

Читайте также:  Кто_устанавливает_вытяжки_на_кухнях_какие_специалисты

Далее, прикрепляем при помощи болтов кусок фанеры к вентилятору.

Сверлим четыре отверстия в плате и закрепляем ее на 4-х шпильках фанеры. Стараемся соблюсти баланс.

Откручиваем плату и делаем ее прямоугольной. Затем опять прикрепляем.

Компоновка радиодеталей

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

На макетной плате я использовал монтаж накруткой, так называемый олд-скул метод. Для микросхем использовал сокеты.

Для начала я разместил все сокеты и компоненты стабилизатора.

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

После того, как все установлено, скручиваем или припаиваем все выводы согласно принципиальной схеме POV

Сначала, я соединил микроконтроллер PIC и триггеры

Затем, соединил светодиоды к источнику питания и схеме управления.

Последним шагом, я закрепил инфракрасный светодиод к основе.

ИК-светодиод должен быть закреплен очень прочно

. и должен быть размещен напротив фототранзистора на плате.

Наш проект POV почти готов!

Осталось залить прошивку и протестировать

Программное обеспечение

Основные функции в программе это:
-High Priority RB0 Interrupt
-Low Priority Timer0 Interrupt

High Priority RB0 Interrupt

Работа данной функции прерывания высокого приоритета заключается в том, чтобы сбросить timer0 и начать вывод на LED с самого начала. Когда POV-эффект формируется, его отображение происходит много раз за секунду. Переменная led_count используется как счетчик прерываний таймера, чтобы знать какой выходной набор выводить на LED для отображения. INT0 также сбрасывается.

Low Priority Timer0 Interrupt

По прерыванию от Timer0 уменьшается переменная led_count. Условие if/else используется для вывода данных часов/текста и т.п.

Тестирование POV

Мы подошли к заключительному этапу нашего проекта POV. Осталось запустить все и наслаждаться POV-эффектом.

Интервалы в 1° легко успевает отрабатывать 40 МГц МК. Т.о. можно выводить как графическую информацию, так и текст, флэш памяти микроконтроллера я думаю хватит для любых паттернов

В заключении хотелось бы сказать, что это очень простой POV проект, который вы можете взять за основу для каких-либо своих улучшенных POV. А улучшать тут есть что: это может быть использование RGB-светодиодов для получения цветного изображения, или использование одного источника питания для всей системы и т.д. Данный пропеллер от 9В батарейки работает всего несколько часов
Оригинал статьи на английском языке

Ссылка на основную публикацию
Adblock detector