Вентилятор с оркестром из светодиодов под управлением ATMega

Автор - Denver.
Участник Конкурса "Поздравь Кота по-человечески 2008".
Чем может быть полезен вентилятор, особенно летом? Он может охлаждать что-нибудь, но это банально. Приспособим его в более полезной роли. Пусть крутит светодиоды, а те, в свою очередь, мигают. Но не просто так, ими будет дирижировать микропроцессор. Тогда вполне возможно что-нибудь нарисовать прямо в воздухе.
Идея рисования картинки вращающимися светодиодами встречалась мне в коммерческих проектах (не будем ссылаться, реклама все-таки). Было решено собрать что-то подобное, но из доступных материалов и со свободно распространяемым ПО.
Итак, смотрим на схему…
Сразу стоит оговориться, что светодиодов должно быть не 2, а как минимум 8. Можно 16 или даже 24 для двух- или трехстрочного устройства… Можно, но не нужно, так как весь боекомплект пока заточен только под 8 светодиодов. Очень желательно, чтобы они были высокой яркости. DFL-5013URC-10 справляются неплохо, но едят аж 50 мА при напряжении на них всего 1,9 В (а рекомендовано-то 2,5 В). В отведенные 40 мА на ножку и 100 мА на порт для меги такая прожорливость никак не укладывается, поэтому питать светодиоды нужно обязательно через транзисторы. Кстати, верхний светодиод подключается к старшему биту порта.
Оптопара для конструкции была безжалостно стянута из бесславно и давно умершего FDD. Никакого вывода от базы транзистора она не имеет, и нумерация ножек не соответствует реальности. В моем случае они вообще были подписаны как A, K, C и E. Очень удобно, не пришлось ничего выяснять тестером.
Резисторы R9—R16 в корпусе 0402 для миниатюрности также взяты из старого железа.
Остальные детали вроде самые обыкновенные: мощность всех резисторов 0,125 Вт; C3 должен быть рассчитан на 50 В, C4 и C5 — на 16 В, С6 — на 6,3 В.
Возможно, емкость C5 придется увеличить, и даже значительно. Все зависит от качества контактов, через которые подается питание на вращающуюся часть устройства.
Разъем для ISP программирования контроллера не показан на схеме, но необходим, поскольку содержимое EEPROM придется прошивать после окончательной сборки устройства.
В целях сохранности EEPROM, обязательно программируем фьюзы BODEN и BODLEVEL. Хотя и инструкций записи EEPROM в программе нет вообще, данные все равно повреждались с выключенным BOD.
Питается чудо от блока питания для старой-доброй игровой приставки Sega MegaDrive II. При такой нагрузке он выдает около 16 В.
Теперь о самой конструкции подробнее.
Вращающуюся часть приводит в движение обыкновенный кулер. Он приклеивается на что-нибудь более-менее массивное. К центральной его части приклеивается многослойный бутерброд из нескольких монет и двухстороннего скотча. Сверху устанавливается склеенный термоклеем из пластика «корпус» устройства.

Все детали корпуса можно вырезать из коробки от CD. Чертежи и размеры приведены ниже. Да простят меня Коты, чьи лапы привыкли к карандашу, за такой беспорядок в линиях: по основной (синей) линии нужно резать, а тонкую (черную) просто перенести на пластик в качестве разметки. В местах, отмеченных знаком +, нужно просверлить отверстия 0,8..1 мм.
К центральной части сооружения приклеивается дно коробки из-под дискет высотой около 15 мм; одну из стенок лучше полностью удалить, чтобы проще было устанавливать внутрь плату. Плата должна плотно вставляться в дно, приклеивать или прикреплять как-то иначе ее не желательно.
Над этим дном в центре поперек приклеивается полоска пластика шириной около 20 мм подходящей длины, на нее вертикально и строго над центром вращения устанавливается корпус от шариковой ручки (эта часть конструкции не очень удачная, но лучше пока ничего не удалось сделать). На верхнюю часть корпуса от ручки должны быть намотаны 2 полоски медной фольги. К ним прижимаются неподвижные щетки из пружин от двух аудиокассет. Через них подается питание на сооружение.
На стороне, где нет светодиодов, в качестве противовеса прикрепляется магнит. (Почему именно магнит? Его масса легко увеличивается… навешиваем несколько канцелярских скрепок, и все дела…)
Теперь необходимо собрать всю конструкцию, в том числе залить прошивку prog.hex в программную память меги, но EEPROM пока не трогать и шторку оптопары не устанавливать, и приступить к самому ответственному — уравновешиванию ее, неспокойной. Иначе будет шуметь как вертолет и быстро развалится. Для начала проверяем, чтобы свободно вращалась. Наклоняем набок, слегка покачивая. Повторяем, наклонив в другую сторону. Если постоянно стремится повернуться вниз светодиодами, навешиваем скрепки на магнит. По другой оси уравновешиваем, передвигая плату, на которой установлена мега.
Можно включить вентилятор, не подавая питание на подвижную часть. Посмотреть, что отвалится. Приклеить попрочнее.
Теперь включаем питание полностью… Включили? Отлично! Светодиоды должны светиться постоянно и рисовать идеальные окружности. Если хоть чуть-чуть где-то гаснут, нужно увеличивать C5 или втирать графит в коллекторы-щетки. А можно и то, и другое.
Итак, светодиоды светятся, а микросхемы греются… Да, кстати, U2 и U3 неплохо бы установить на радиаторы. Греются они неслабо, по крайней мере, при постоянно включенных светодиодах и выключенном вентиляторе.

Что ж, самое время сотворить картинку, которую устройство и будет рисовать в воздухе, радостно мигая светодиодами (эмм… нехитрая программа прилагается). Но тут нам как воздух потребуется скорость вращения свежевозведенного сооружения. Можно воспользоваться околонаучным методом и принять ее равной 300 об/мин. Потом подобрать точнее, если изображение окажется сильно сжатым или растянутым по горизонтали.
А при наличии цифрового фотоаппарата можно даже попытаться «измерить».
Для этого снимаем вид сверху. (Надеюсь, шторку еще не установили? И правильно. Рано еще.) Подбираем выдержку так, чтобы на снимке светодиоды описали больше половины окружности, но меньше целой (примерно как на 1 картинке). Печатаем фото. Дальше отмечаем концы дуги (и так все ясно, но все же рисунок 2) и точку, найденную с помощью угольника с прямым углом (как показано на рисунке 3). Получаем 3 точки на дуге. Измеряем расстояния AB и BC (по прямой, не по дуге!) и скармливаем их вместе с выдержкой табличке photo.xls (прилагается; пароль на изменение значений radiokot.ru). Табличка радостно выдает примерную скорость вращения.
Итак, вот он, момент истины. Рисуем картинку.
Что тут еще есть. Скажу по секрету, что кварц не обязательно должен быть на 8 МГц. Подойдет любой от 1 до 16 МГц. Скорость вращения мы только что получили, так что ее и вводим. Имя файла любое, отведено 8 символов (вдруг под ДОСом прошивать контроллер задумаете). Файл с расширением .bin создается в том каталоге, где лежит программа. Его нужно прошить в EEPROM контроллера.
Длина точки… Странно звучит, но если попробовать выставить 100 %, станет ясно, в чем тут дело. По сути, это время от начала рисования пикселя до принудительного его гашения. Указывается в процентах. Оптимальное значение где-то от 30 до 50 %, для очень светлого помещения больше.
Все. Жмем Создать .bin, прошиваем EEPROM, наконец-то устанавливаем шторку, включаем. Картинка обязана появиться. Остается только немного подстроить R20, чтобы изображение занимало ровно все отведенное для него пространство. В заключение фотография устройства в действии:
Файлы:
Плата в SL5 (под утюг Board 1 нужно зеркалить, остальные — нет)
Прошивка для МК с исходником
Табличка photo.xls
Программа configurator.exe для ПК
Вопросы, как обычно, складываем тут.






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.