Часы пропеллер на atmega8 код си. Часы пропеллер на Atmega8

Помните такие? Некоторое время назад они покоряли интернет. Оказывается довольно распространенная штука. Смотрите, как их можно сделать самому...

Эти забавные электронно-оптические часы создают иллюзию, что цифры висят прямо в воздухе.

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

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

Чтобы скачать оригинальное изображение от автора схемы "часы-пропеллер"

Конструкция:

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

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

Доработка электродвигателя:

Возьмите ненужный двигатель блока вращающихся головок от видеомагнитофона Sharp или Samsung. Мотор, который используется в данном проекте, имеет маркировку JPA1B01, но, согласно спецификации, он называется RMOTV1007GEZZ. Аккуратно извлеките щетки (через небольшие отверстия в корпусе). Обратите внимание, что ротор закреплен одним концом в шарикоподшипнике, а другим концом упирается в крышку с подшипником скольжения, которую необходимо снять. Приклейте или припаяйте ее сверху на ось с шарикоподшипником (с другой стороны) для укрепления вала. Отрегулируйте высоту оси, зажав ее в тиски и слегка постучав. Припаяйте три проводника к трем монтажным площадкам на роторе двигателя. Приклейте небольшую резьбовую втулку на ось с той стороны, где она выходит из отверстия, закрепите под ней проводники и соберите мотор. Для большей устойчивости конструкции можно приклеить этот мотор к блоку видеоголовок.

Монтаж электронных компонентов:

Компоненты часов припаяны к монтажной плате с металлизированными отверстиями. Выводы соединены проводниками. Под микропроцессор 16C84 необходимо установить 18-выводную панельку, поскольку он программируется в отдельном программаторе. Под семь нагрузочных резисторов R1B.R1H удобно использовать соответствующую резисторную матрицу в DIP исполнении, что позволит экспериментировать с яркостью свечения светодиодов. Можно использовать и дискретные резисторы сопротивлением 120 Ом. Они работают нормально, хотя и на пределе импульсного тока 16C84. Заранее продумайте, как вы будете балансировать эту плату, чтобы на ней было предусмотрено для этого место. Можете заменять компоненты на другие, с близкими характеристиками. Автор использовал в схеме сверхемкий накопительный конденсатор в 47000 мкФ для того, чтобы показания часов не сбрасывались после отключения питания двигателя во время коррекции и установки времени. Можно использовать вместо него ионистор на 0,47 мкФ. Помните только, что светодиоды должны запитываться в обход него. Следует применять керамический резонатор только на частоту 4 МГц, поскольку от него зависит точность хода часов (либо при использовании резонатора на другую частоту необходимо произвести соответствующую модификацию программы).

Программирование 16С84

Для программирования микроконтроллера 16С84 можно использовать любой доступный для этого программатор. На сайте находится двоичный файл прошивки (скачать). Исходный текст на языке ассемблера можно найти . При программировании обязательно установите следующие опции: wathdog timer (WDT)- OFF, резонатор. нормальный XT- кристалл.

Окончательная сборка и установка времени:

Закрепите плату с деталями и светодиодами на валу двигателя. Припаяйте три питающих проводника. Подайте напряжение на двигатель. Номинальное напряжение составляет 6,2 В, но вы можете изменять его в диапазоне от 5 В до 7,5 В. Необходимо только учитывать, что из-за падения на диодах выпрямителя напряжение 5 В на плате соответствует питающему напряжению двигателя 6,2 В. После подачи напряжения на часах должно высветиться 12:00. Если это не так, то, возможно, дело в том, что не полностью разрядился накопительный конденсатор. Выключите питание и для сброса микроконтроллера кратковременно замкните выводы 4 и 5 вместе. После этого можно опять включить питание, убедиться, что часы работают, выключить питание и установить точное время кнопками «Часы», «Десятки минут», «Минуты». Если цифры высвечиваются задом наперед, поменяйте полярность напряжения на двигателе. Вы можете поэкспериментировать с балансировкой платы, подкладывать пенопласт под основание двигателя для уменьшения вибрации и т.п.

Со схемами. а получиться у вас примерно вот что:

Вот еще вариант.


Необычные динамические светодиодные часы на моторчике от жёсткого диска.

Схема устройства:




Что же, когда все сомнения отложены в сторону, можно начать...

Для изготовления пропеллер-часов нам понадобятся:

* 2 листа Стеклотекстолита, один- двухсторонний(45*120мм), а второй-односторонний(35*60мм).
* Утюг и Хлорное железо(для травления плат).
* Моторчик от HDD диска.
* Паяльник с тонким жалом, мини-дрель.

Для часов:

* Драйвер LED MBI5170CD(SOP16, 8 bit) - 4 штуки.
* Часы реального времени DS1307Z/ZN(SMD, SO8) - 1 штука.
* Микроконтроллер ATmega32-16AU (32K Flash, TQFP44, 16MH) - 1 штука.
* Кварцевые резонаторы 16MHz - 1 штука.
* Кварцевые резонаторы 32kHz - 1 штука.

* Кер. конденсатор 100nF (0603 SMD) - 6 штук.
* Кер. конденсатор 22pF (0603 SMD) - 2 штуки.
* Кер. конденсатор 10mF*10v (0603 SMD) - 2 штуки.
* Резистор 10kOm (0603 SMD) - 5 штук.
* Резистор 200Om (0603 SMD) - 1 штука.
* Резистор 270Om (0603 SMD) - 1 штука.
* Резистор 2kOm (0603 SMD) - 4 штуки.
* Часовая батарейка и держатель для нее
* ИК светодиод
* ИК транзистор
* Светодиоды (0850) 33 штуки (один из них(крайний) можно другого цвета)

Для драйвера моторчика:

* Драйвер двигателя TDA5140A - 1 штука.
* Линейный стабилизатор 78M05CDT - 1 штука.
* Конденсатор 100 mF полярный (0603 SMD) - 1 штука.
* Кер. конденсатор 100 nF (0603 SMD) - 1 штука.
* Конденсатор 10 mF полярный (0603 SMD) - 2 штуки.
* Кер. конденсатор 10 nF(0603 SMD) - 1 штука.
* Кер. конденсатор 220 nF(0603 SMD) - 1 штука.
* 20 nF - 2 штуки.
* Резистор 10 kOm (0603 SMD) - 1 штука.

1)Сперва нам надо изготовить 2е платы.


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

Привет всем! Хочу предложить Вашему вниманию простые часы-пропеллер, которые я собрал на контроллере Atmega8. Они изготовлены из доступных деталей и их легко повторить и изготовить. Единственное что - необходим программатор для прошивки контроллера часов и пульта управления.

Для основания часов был использован обычный вентилятор 120 мм (кулер). Вентиляторы для этих часов можно использовать любые, как с вращением по часовой стрелке, так и против, потому что пока собирал эти часы, программу немного переделал и сделал переключение отображения символов с пульта программно.
Схема самих часов довольно простая и собрана на микроконтроллере Atmega8, для синхронизации работы которого использован часовой кварц с частотой 32768 Гц.
Часы питаются от приёмной катушки, энергия на которую передаётся с генератора с передающей катушкой. Обе эти катушки составляют воздушный трансформатор.

Со схемой и конструкцией генератора, особых проблем не возникло, так как был использован генератор от плазменного шара.

Генератор собран на распространённой микросхеме TL494 и позволяет менять ширину и частоту выходных импульсов в широких пределах.
Даже с зазором в сантиметр между катушками - напряжения вполне хватает для пуска часов. Только следует учесть, что чем больше зазор между катушками, тем больше нужно делать ширину импульса и соответственно от этого растёт и потребление тока от источника.

При включении генератора в первый раз, ширину импульсов (скважность) ставим на минимум (ручка регулятора в верхнем по схеме положении, то есть 4 нога через резистор R7 притянута к 14, 15, 2 ноге TL-494). Частоту генератора крутим, пока не исчезнет писк, это примерно 18-20 Кгц (настройка на слух), а если есть чем измерить частоту, то настраиваем её соответственно в этих пределах.
На плате генератора ещё дополнительно собран регулятор напряжения на LM317, предназначенный для регулировки скорости вращения вентилятора.
На схеме его нет, не дорисовал
. Посмотрите демонстрационное видео работы часов.

Видео.

Плата самих часов крепится к основанию вентилятора. Я закрепил её двухсторонним скотчем.

Потом переделал немного схему часов с фоторезистора на инфракрасный фотодиод (рисунок ниже).
В передатчике вместо простого светодиода, у меня теперь стоит инфракрасный.
Резистор вместо 2к поставил 100к.


Ответственными моментами при изготовлении часов являются - изготовление воздушного трансформатора и центровка (вернее балансировка) платы часов на основании вентилятора.

К этим моментам отнеситесь серьёзнее.

Воздушный трансформатор.

В основу взял кулер 120 мм обычный с бронзовыми втулками. Плата часов к основанию приклеена на двусторонний скотч.
С кулера откусываем лопасти и обтачиваем и выравниваем напильником, наждачкой. Катушки сделаны на каркасе из кабельного канала. Придумал такую конструкцию не я, просто взял эту идею из инета. Для намотки трансформатора делается основа из кабельного канала. Через каждые 5 мм на бортиках канала делаем надрез и аккуратно сворачиваем его в круг, диаметр подберите так, чтоб он плотно сел на пластмассовое основание вентилятора.

Далее на оправку из кабельного канала, наматываем 100 витков эмалированного провода, диаметром 0.25.
Ток потребления собранного трансформатора, у меня получился 200 мА (это с довольно заметным зазором между катушками).
В целом вместе с двигателем вентилятора, ток потребления получается в районе 0.4-0.5А.
Первичную (передающую) катушку делаем также, но стараемся сделать минимальный зазор между катушками. Передающая катушка тоже содержит 100 витков провода 0.3 (можно тем-же 0.25).
На схеме у меня немного другие моточные данные этих катушек.

Плата часов.

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

Для балансировки всей платы, с другой её стороны приклеиваем термоклеем винт, диаметром 3-4 мм, накручивая с другой стороны на винт различные гайки - добиваемся минимальной вибрации.
Для проверки работоспособности платы часов - коротим фоторезистор отверткой, пинцетом, светодиоды при этом должны моргнуть.
Часы начинают работать при появлении 5В (логическая единица) на 5 ноге атмеги. То есть при освещении фоторезистора - на 5 ноге должно быть 5В,
Когда фоторезистор не освещён, на 5-й ноге атмеги должен быть логический 0 (около 0В), для этого подбираем резистор на землю с 5 ноги. На схеме стоит 2 кОм, у меня получилось 2.5 Ком.
Внизу на основании вентилятора приклеиваем светодиод так, чтобы при каждом обороте двигателя вентилятора - фоторезистор проходил как можно ближе к источнику света (светодиоду).

Пульт управления.

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

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

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

Информация по назначению кнопок пульта;
H+ и Н- настройка часов
М+ и М- настройка минут
R/L смена направления (для винтов крутящихся по часовой и против часовой)
font смена шрифта (тонкий, жирный и надпись сайт)
при надписи сайт кнопками H+ и H - регулируется ширина надписи.

В прикреплённом архиве содержатся все необходимые файлы для сборки часов;

Архив для статьи

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



И так, для изготовления Пропеллер часов нам понадобятся следующие детали:
Для часов:

* Драйвер LED MBI5170CD(SOP16, 8 bit) - 4 штуки.
* Часы реального времени DS1307Z/ZN(SMD, SO8) - 1 штука.
* Микроконторллер ATmega32-16AU (32K Flash, TQFP44, 16MH) - 1 штука.
* Кварцевые резонаторы 16MHz - 1 штука.
* Кварцевые резонаторы 32kHz - 1 штука.

* Резистор 100nF (0603 SMD) - 6 штук.
* Кер. конденсатор 22pF (0603 SMD) - 2 штуки.
* Кер. конденсатор 10mF*10v (0603 SMD) - 2 штуки.
* Резистор 10kOm (0603 SMD) - 5 штук.
* Резистор 200Om (0603 SMD) - 1 штука.
* Резистор 270Om (0603 SMD) - 1 штука.
* Резистор 2kOm (0603 SMD) - 4 штуки.
* Еще нужно: часовая батарейка, держатель для нее, ИК светодиод, ИК транзистор, Светодиоды (0850) 33 штуки (один из них (крайний) можно другого цвета)

Для драйвера моторчика:

* Драйвер двигателя TDA5140A - 1 штука.
* Линейный стабилизатор 78M05CDT - 1 штука.
* Кер. конденсатор 100 mF полярный (0603 SMD) - 1 штука.
* Кер. конденсатор 100 nF (0603 SMD) - 1 штука.
* Кер. конденсатор 10 mF полярный (0603 SMD) - 2 штуки.
* Кер. конденсатор 10 nF(0603 SMD) - 1 штука.
* Кер. конденсатор 220 nF(0603 SMD) - 1 штука.
* 20 тА - 2 штуки.
* Резистор 10 kOm (0603 SMD) - 1 штука.

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



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