Принцип, который положен в основу работы HDDclock, довольно простой. На месте блинов прикручена платка, на которой стоит столбик из светодиодов.
Светодиодики выбраны бескорпусные (для уменьшения массы вращающейся платки - чем меньше масса, тем легче сбалансировать плату и меньше вибрация), голубого цвета (из-за того, что голубые светодиоды самые яркие). Платка быстро вращается, и при вспыхивании светодиодов в нужный момент возникает изображение цифр. Всего в столбце 8 светодиодов, но нижний восьмой используется редко (для отрисовки курсора в меню настройки часов). Матрица отображения цифр взята 5x7 точек (применен готовый знакогенератор от компьютера "Радио 86РК"). Кроме цифр, можно также легко выводить любые буквы.
Светодиодами управляет микроконтроллер AT89C2051, который тоже смонтирован на этой вращающейся платке (весь монтаж на круглой плате ротора сделан тонким эмалированым проводом - опять-таки с целью уменьшения массы ротора). Питание вся схема получает через вращающийся трансформатор, изготовленный из двух ферритовых чашек - одна чашка закреплена неподвижно, другая крутится вместе с платкой, и они находятся друг от друга на расстоянии около 0.5 мм. Благодаря этому через высокочастотное магнитное поле передается энергия, питающая платку ротора (микроконтроллер и светодиоды). Такая система передачи энергии не имеет трущихся частей, поэтому долговечна и не создает лишнего шума в работе. Эти часы у меня непрерывно работают с начала 2005 года. Ни разу не ломались, за исключением тех случаев, что я спросонья пальцами попадал во вращающийся ротор (когда выключал будильник часов). Было больно!.. =)
В неподвижной чашке размещена первичная обмотка, питаемая напряжением частотой порядка 30 кГц, в чашке, связанной с платкой, находится вторичная обмотка, к ней подключен простейший выпрямитель и далее от него питается схема вращающейся платки. Все вышеописанное представляет из себя просто блок индикации. Кроме этого, еще есть схема, которая отсчитывает время и управляет фазами шагового двигателя. Эта схема тоже работает под управлением микроконтроллера - AT89C52. Данные от блока часов до блока индикации передаются через оптопару со скоростью 57600 бит/сек (используется последовательный порт, встроенный в оба микроконтроллера). Софт, зашитый в основной блок, довольно продвинутый - можно устанавливать время, есть будильник, и даже есть возможность коррекции скорости хода часов.
Одна из последних доработок - сделал усилитель фотодатчика вращения ротора. Этот датчик нужен только для того, чтобы определить - вращается ротор, или нет. Например, если Вы нечаянно ротор остановили, то по отсутствию импульсов на выходе датчика микроконтроллер это увидит, и раскрутит ротор заново (процедура старта нужна для плавного разгона ротора).
Другой вариант выполнения вращающегося трансформатора - без ферритового сердечника, в виде большого кольца. Такой трансформатор позволяет уменьшить массу вращающегося ротора, что упрощает балансирование и снижает шум. Катушка изготовляется просто - наматывается между металлическими дисками оснастки (диски сделаны из тех же блинов жесткого диска) вместе с жидкой эпоксидной смолой. После затвердевания смолы оснастка снимается, и получается катушка.
По многочисленным просьбам трудящихся масс выкладываю дополнительные фотографии с аннотациями (здесь не все фотографии, полный архив с фотографиями в исходном разрешении качайте по ссылке 4 ниже).
1. Выпрямитель с фильтром для питания блока вращающегося столбца. Состоит из двух диодов, дросселя и конденсатора на 0.1 мкф. На вход выпрямителя подается напряжение с 2-секционной обмотки нижней чашки вращающегося трансформатора (эта чашка вращается вместе с платкой).
2. Два винта, с помощью которых крепится нижняя чашка вращающегося трансформатора к плате ротора. Нижняя чашка приклеена эпоксидкой к куску текстолита, который и крепится винтами. С помощью винтов можно не только подстроить положение чашки точно в центре, но и немного подстроить высоту (отрегулировать зазор вращающегося трансформатора).
3. Грузики, с помощью которых производилась грубая балансировка ротора.
4. Микроконтроллер, который мигает светодиодами. Программа в нем совсем тупая - как только через фотодатчик на асинхронный порт приходит байт - он сразу же выдается на линейку светодиодов, и мы видим один из столбцов матрицы. Ротор повернулся на долю градуса - тут же приходит новый байт, и мы видим следующий столбец матрицы. Так происходит развертка изображения. Все - больше микроконтроллер AT89C2051 ничем не заморачивается (зато ой-е как напрягается AT89C52 - этот микроконтроллер виден на другой картинке). Светодиоды расположены на противоположной стороне диска, и подключены к микроконтроллеру тонким эмалированным проводом (весь монтаж сделан таким проводом - для уменьшения веса). Рядом с AT89C2051 виден кварц 11.059 МГц. Раньше его поверхность была чистой и блестящей, но с годами удары пылинок сделали на его поверхности микрократеры, и от блеска не осталось и следа. По витой паре из провода МГТФ приходит сигнал с фотодатчика.
5. Балка из алюминия, на которой висит верхняя, неподвижная чашка вращающегося трансформатора (она приклеена к балке эпоксидкой). В центре чашки видны два вывода светодиода (на них надет фторопластовый кембрик), торчащие из дырки. Этот светодиод передает код управления включением/выключением светодиодов (подключен к выходу асинхронного порта AT89C52 синим и белым проводом, идущим сверху по балке). Балка жестко закреплена на стойке туго затянутым винтом.
6. Энкодер, совмещенный с кнопкой (на вал можно нажимать вдоль оси) и два светодиода. С помошью энкодера можно менять направление плавного перемещения цифр, устанавливать время часов, устанавливать время будильника, корректировать скорость хода часов (благодаря этой функции часы идут очень точно, их никогда не нужно подводить), программировать сигнал будильника, выключать сигнал будильника. Короче - с помощью энкодера происходит управление часами. Светодиоды подключены, но пока не используются.
7. Реле будильника. Его можно запрограммировать на секундный импульс, а можно - на постоянное включение. Можно совсем не использовать.
8. Микросхема TL494, на которой собран генератор напряжения питания блока вращающегося столбца (частота порядка 30..50 кГц). Мне эта микросхема очень нравится, и я пихаю её куда ни попадя. Микросхема управляет мостом из полевых транзисторов (см. далее).
9. Мост из 4-х полевых транзисторов (мосты и полевые транзисторы я тоже люблю). На выход моста подключена первичная обмотка вращающегося трансформатора (эта обмотка расположена в неподвижной верхней чашке, которая висит на балке 5).
10. Планка, на которую выведены переключающие контакты реле будильника. Хотите - включайте лампу, хотите - музыкальный центр.
11. Еще одна микросхема TL494. Она стабилизирует (ограничивает) ток, которым питаются обмотки фаз двигателя. Благодаря этой микросхеме отсутствует опасность выхода из строя полевых транзисторов, коммутирующих фазы, исключается перегрев обмоток двигателя, а также можно подавать для питания нестабилизированное напряжение 12 вольт (блок питания может состоять только из трансформатора, диодного моста и конденсатора. Должен обеспечиваться ток под нагрузкой около 2 ампер). Большой зеленый резистор 0.22 ом сверху - датчик тока.
12. Накопительный дроссель, мощный диод Шоттки и мощный ключ - составные части стабилизатора тока фаз обмоток двигателя.
13. Аналоговый стабилизатор напряжения +5 вольт LM7805 (аналог КРЕН5В) для питания всей цифровой части схемы. Питается от внешнего нестабилизированного напряжения +12 вольт (слева к часам подходят от блока питания два провода - желтый + и черный -).
14. Линейка из 6 полевых транзисторов - работают в ключевом режиме как трехфазный мост и питают фазы мотора.
15. Через этот коннектор подключен передающий светодиод (передает код для зажигания светодиодов во вращающемся столбце, светодиод находится в центральной дырке вращающегося трансформатора). Подстроечный резистор регулирует в небольших пределах ток через этот светодиод.
16. Сердце всей системы - управляющий микроконтроллер AT89C52. Делает все - крутит мотор (формируя фазы), опрашивает энкодер с кнопкой, формирует интерфейс пользователя, обрабатывет будильник, опрашивает чип часов, анализирует датчик вращения ротора. Снизу рядом с микроконтроллером видна кнопка сброса (не помню, когда последний раз ею пользовался) и кварц на 11.059 МГц.
17. Противная пищалка будильника ("пи-пи-пи-пи..."), которая не дает мне спать по утрам.
18. Усилитель датчика вращения ротора.
19. Чип часов и энергонезависимой (с помощью батарейки) памяти DS1302 фирмы Dallas Semiconductor. Батарейка вставлена в самодельный держатель из проволоки (справа от чипа). В энергонезависимой памяти хранятся настройки часов - время будильника и коэффициент коррекции ухода часов. Благодаря батарейке вся эта инфа не теряется при выключении питания, а также продолжается отсчет времени. Маленький часовой кварц на 32768 Гц висит под платой (на фото он не виден).
20. На заднем плане виден столбец из 8 светодиодов. Его конструкцию подробнее можно рассмотреть, если скачать архив с фотографиями (ссылка дана ниже).
21. Под блином платы ротора на блестящую алюминиевую цилиндрическую поверхность держателя блинов нанесена черная метка (на фото часы перевернуты, поэтому на этом фото метка "над"), которая нужна для работы датчика вращения ротора. Когда метка проходит рядом с оптопарой (работающей на отражение), то поток света на фотодиоде уменьшается, и на микроконтроллер приходит сигнализирующий имульс. Сигнал с фотодатчика усиливается операционным усилителем 18 (микросхема УД1208).
[Исходники, схемы проекта HddClock]
1. Исходник и прошивка для схемы блока вращающегося столбца - http://microsin.ru/Download.cnt/HddClock/Rotor02.rar
2. Исходник и прошивка для схемы основного блока - http://microsin.ru/Download.cnt/HddClock/StepMoto10.rar
3. Сканы принципиальных схем - http://microsin.ru/Download.cnt/HddClock/sch.RAR
4. Фотографии внешнего вида часов - HddClock-photos.rar.
5. Видео, снятое мыльницей Canon PowerShot A520. К сожалению, мыльница не дает сделать видео длиннее 30 секунд, и мои режиссерские способности не позволили показать, как работает все меню (коррекция хода часов, как часы запускаются, как работает будильник и т. д.). Качество тоже не ахти (в реале часы выглядят намного лучше) - слишком маленькая частота кадров. На видео видно мерцание цифр, которого на самом деле нет - моргание получается из-за стробоскопического эффекта (разница между частотой вращения ротора и частотой кадров снятого видео). Звук на видео тоже плохого качества - он не такой, как на самом деле. Светодиоды теперь красные, поменял после ремонта - неудачно попытался выключить будильник и попал пальцами в ротор.
[Ссылки]
1. RGB-propeller-clock.mp4 - красивые часы, которые формируют цветную картинку в плоскости вращения ротора. Сделаны из вентилятора от компьютера.
2. Простейший моддинг вентилятора для компьютера - добавление светодиодов на лопасти.
3. "Propeller Clock" Mechanically Scanned LED Clock. Сделано на PIC16C84.
4. Еще одна конструкция на PIC16C84 - PIC clock.
5. Dreamoc 3D display system. Тут уже совсем другой прицип - голография.
6. Strobeshnik - A Digital HDD Clock. Часы из жесткого диска на другом принципе - в пластинах вырезаны цифры.
7. Arduino управляет формированием монохромной картинки линейкой из 72 светодиодов.
8. Световое табло с круговой механической разверткой.
9. BLDC-регулятор трехфазного авиамодельного мотора, работающий по принципу отслеживания противо-ЭДС (собран на ATmega48/88/168).
10. Сборник сервис-мануалов и даташитов по жестким дискам.
11. PROPELLER CLOCK VER5 - видео.
12. Spinning RGB LED Ball II - видео.
|
Комментарии
2015-03-1818:44:47 Здравствуйте, с вами можно связаться как-либо, кроме комментариев к этой теме? Если да, то очень бы хотелось с вами поговорить, заранее благодарен.
microsin: да, пожалуйста, в Контактах есть email, пишите, задавайте вопросы. Постараюсь ответить.
2014-12-2300:50:03 Очень впечатлило Ваше устройство. Заранее извиняюсь за возможно глупый вопрос: но как вы узнаете, в какой момент какие данные подавать на оптопару для соответствующей конфигурации зажженных светодиодов? Вы в каждый момент времени считываете угол поворота диска или заранее настраиваете частоту вращения с высокой точностью и передаете синхронно соответствующие данные?
microsin: все тупо и просто - и фазы для двигателя BLDC, и данные на оптопару - все это генерируется синхронно одним микроконтроллер ом. Поэтому не нужно считывать никакой угол поворота диска.
2013-08-1005:17:25 Очень вдохновила идея создания часов из HDD и теперь подыскиваю средства и магазины для приобретения элементов.
Перечитал статью и комментарии. Погулил в поисках и сразу напрашивается вопрос:
Микроконтроллер ы с системой команд MCS51 это тоже самое, что и 8051, 8052 совместимые микроконтроллер ы? Если да, то какой фирмы посоветуете?
Я конечно могу прям сейчас заказать AT89C2051, но я понимаю, что он уже устаревший.
microsin: Вы все правильно поняли, MCS51 это система команд (платформа) микроконтроллер ов 8051, 8052 и их аналогов. Не советую Вам повторять проект HddClock на устаревших микроконтроллер ах, выберите лучше современные AVR.
2013-03-0323:18:47 Загорелся сделать сам! Но не понимаю, как есть где подробная инструкция как, что, к чему?
microsin: подробной инструкции нет, есть только то что есть - исходный код, схемы, фотографии, описание общего принципа работы.
2011-11-1814:41:45 Хотел бы задать несколько вопросов, пронумерую их для удобства.
1. Какой максимальный ток можно получить на вторичной (вращающейся) обмотке, у меня будет 48 светодиодов (столбик из 16 св.диодов одного цвета и такой же столбик другого цвета, плюс еще 16 светодиодов будут находится в плоскости диска HDD), по этому не понятно потянет ли трансформатор без сердечника.
2. От каких параметров будет зависеть выходной ток вторичной обмотки?
3. Генератор шим у меня будет на контроллере. Возможно ли применить вместо моста ключ на одном полевике для управления первичной обмоткой или мощность выдаваемая в неё значительно упадет?
4. Не изменилась ли схема после применения нового трансформатора? Стабилизатор на вторичке (на двух диодах и дросселе) остался прежним ?
5. Повлияет ли изменение диаметра обмоток на выходные характеристики?
Ссылки на видео тут:
www.youtube.com/user/0uarTz
Фото:
https://picasaweb.google.com/quartz.qz/wOmoXI?authuser=0&authkey=Gv1sRgCN_TvbSRlq2qbA&feat=directlink
microsin:
1. Максимальный ток ограничен только размерами и конструкцией трансформатора.
2. Практически от всех параметров. Самые главные - это входная подаваемая мощность и коэффициент связи между обмотками.
3. Однотактный каскад лучше не использовать, это не выгодно для постоянной скважности (когда отрицательная и положительная полуволны одинаковы), и транзистор будет работать в слишком жестком режиме по току и напряжению.
Предлагаю перенести переписку в почту (см. Контакты).
2011-11-1814:39:26 Последнее что сделал, разобрал свою конструкцию и перенес плату на HDD, переписал прогу управления, результаты можно посмотреть на ютюбе.
Пока все это работает на литиевой батарейке 3В, такой идеи как у вас, с вращающимся трансформатором , у меня в те годы к сожалению не возникло, помню какой гемор был сделать щётки для передачи питания, да и шум добавлялся, по этому ваш принцип передачи питания мне сразу понравился, буду использовать его. В инете практически ничего путного не нашел по этой части, по этому если подскажете по вашей последней конструкции трансформатора, буду очень признателен. Интересует именно конструкция без сердечника. Если есть возможность сделать фотку с новым трансформатором , очень хотелось бы посмотреть как он реализован.
Прошу прощения за коментарий из нескольких постов, я его написал в блокноте, хотел вставить на страницу, а там зверски ограничено количество символов ) пришлось убить половину текста, а оставшуюся половину порезать на 3 части
2011-11-1814:38:48 Отличное устройство получилось. Восхищен вашим серьезным и последовательны м подходом к делу, приятно смотреть на исходники, всё грамотно и аккуратно закомментирован о, у меня так не получается, вечно бардак) Когда еще учился в универе, делал подобное устройство, но забросил потом. Была идея создать рекламный стенд, который в воздухе разворачивает кольцо из передаваемого текста разных цветов, частично устройство было реализовано, нашел старое видео его работы (если интересно, в конце есть ссылки) Устройство было сделано на основе двигателя от 5,25 FDD, у него низкая скорость вращения, около 320 об.мин.
Недавно случайно наткнулся на вашу конструкцию, вспомнил про свою железку, раскопал ее из хлама ) Решил объединить плюсы вашей и моей. По старой конструкции помню, что даже на родном двигателе от FDD возникала нестабильность оборотов и текст иногда плавал по горизонтали, по этому решил сразу начать с управления BLDC. Разобрался по атмеловским апноутам с управлением BLDC по противо эдс.
2011-11-0913:39:29 А какой точно контроллер? На схеме 89С51, на фотографии 89С52.
microsin: не имеет значения - 89C51 или 89C52, код одинаково будет работать на обоих микроконтроллер ах даже без перекомпиляции. Если поставите 89C52, то не ошибетесь.
2011-09-0514:52:16 Спасибо за ответ. Хотел сначала повторить текущую схему, а потом на ее основе свою сделать. ) Из чтения даташитов на микросхемы впрочем уже становиться понятным, чего и как надо поменять.
2011-09-0509:16:51 Скажите пожалуйста, схема в приложенных файлах это последний работающий реализованный вариант? В комментариях читал, что появился фильтр и сигнал Е по другому заводится.
microsin: сейчас уже столько времени прошло, что могу подтвердить только достоверность исходного кода. Схему можно взять просто как иллюстрацию принципа работы, и скорректировать её самостоятельно, исходя из Вашей конкретной реализации.