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

Эта статья является прямым продолжением предыдущей статьи "Практикум по стробоскопу №2. С использованием FAN-TASTIC по-русски".

Лирическое отступление 2.
Буквально через день экспериментов с FAN-TASTIC пришла мысль: "А нельзя ли вместо светящихся пятен и полос вывести на вентилятор осмысленную информацию - текст или графическое изображение, логотип какой-нибудь?" Технически эта задача существенно более сложная, чем собственно FAN-TASTIC. Собственно от FAN-TASTIC там должна была остаться только конструкция обмоток. Были большие сомнения по поводу КПД и возможности обеспечить достаточное питание схемы от вторичной обмотки. Но, к счастью, все обошлось...
Хронологически, эта конструкция сделана раньше стробоскопа, однако последовательность изложения требует нарастающей сложности, поэтому статья о стробоскопе опубликована раньше - он проще и для понимания и конструктивно.

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

Начнем с растрового принципа формирования изображения.

В словарях есть такие толкования слова "растр" (нем. Raster или лат. Rastrum):

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

Для наших целей подойдут первые два толкования.

Рассмотрим виртуальное табло, состоящее из светодиодов, организованных в 7 строк по 33 элемента в строке и образующих матрицу или прямоугольную решетку:

Рис.1 Растр из 231 светодиода, организованных в матрицу 33Х7

Зажигая определенные светодиоды, можно выводить на это табло рисунки или надписи. Для формирования букв часто используется шрифт, в котором все буквы вписаны в матрицу 5Х7 элементов - такие шрифты использовались в первых дисплеях и знакосинтезирующих принтерах, и до сих пор используются в строчных LCD индикаторах. Для разделения рядом стоящих символов используется одна незажженная колонка светодиодов, поэтому фактически одно знакоместо занимает 6Х7 светодиодов.

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

Рис.2 Формирование текста на табло с использованием матрицы 6Х7 светодиодов для каждого знакоместа (символа).

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

Представим, что есть столбец из 7 светодиодов. Если его быстро перемещать в пространстве по горизонтали, и, когда его положение будет совпадать с положением колонок растра, приведенного на рис.1, зажигать определенные светодиоды, получится изображение с рис.2. Нужно только соблюсти два важных условия:

  • точное пространственное совмещение нашего столбца светодиодов со столбцами растра в момент зажигания светодиодов;
  • все изображение должно развертываться (выводиться) за время не более 1/16 секунды, это ограничение связано с инерционностью зрения, при большем времени не получится слитного изображения. Чем меньше время развертки - тем лучше, изображение будет выглядеть ярче, цельным, не будет мерцания.

На рис.3 показан процесс развертывания изображения столбцом из 7 светодиодов. Развертка производится справа-налево, Насыщенностью цвета я попытался передать разные стадии вывода изображения - чем бледнее цвет, тем раньше выведено изображение.

Рис.3 Развертка изображения столбцом из 7 светодиодов слева направо. Чем бледнее изображение, тем раньше оно выведено.

Если разместить столбец светодиодов на лопасти вентилятора, получится устройство электронно-механической развертки изображения, правда изображение будет размещаться по кругу, соответственно пропорции букв несколько исказятся - они станут уже внизу и шире вверху. Чем больше диаметр вентилятора, тем меньше будут искажения, и тем больше символов можно разместить по окружности.

На этом теоретическая часть окончена, переходим к практике.

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

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

Для экспериментов я взял обычный 80-мм вентилятор с выходом таходатчика, решив вывести на него по окружности строку из 25 символов. Поскольку размеры вентилятора невелики, светодиоды тоже нужно было использовать малогабаритные. Для этого я попросил у знакомых неисправные сетевые карточки 3-COM и аккуратно выпаял зеленые SMD светодиоды, которые показывают режим работы карточки.

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

  1. светодиоды в проекции на печатную плату имеют форму прямоугольника 1х3,5 мм, составим их столбиком с шагом 1,5 мм (зазор между площадками печатной платы 0,5 мм);
  2. пусть размер светового пятна будет 1х1 мм (на самом деле он шире, но его можно подогнать под нужный черным лаком, что я и сделал позже);
  3. тогда минимальная длина окружности, вдоль которой разместятся все точки растра (без зазора!), составит 25*6*1 = 150 мм, здесь 25 - количество знакомест (символов) в строке, 6 - количество столбцов в знакоместе, 1 - ширина светящегося пятна светодиода, мм;
  4. тогда минимальный радиус, на котором еще можно расположить светодиод, составит 150/(2*3,1415) = 23,8 (мм)
  5. измеряем диаметр крыльчатки - примерно 74-75 мм, соответственно радиус 37-37,5 мм;
  6. отступим от края на пару миллиметров, и расположим столбик из 7 светодиодов с шагом 1,5 мм;
  7. центр самого дальнего от оси крыльчатки светодиода будет расположен на расстоянии 37-2,5 = 34,5 (мм)
  8. тогда центр самого ближнего к оси крыльчатки светодиода будет расположен на расстоянии 34,5-(1,5*6) = 25,5 мм, здесь 1,5 - шаг размещения светодиодов.

Таким образом, требуемое условие минимального радиуса выполнено (23,8 мм < 25,5 мм), и на крыльчатке 80-мм вентилятора удастся разместить строку из 25 символов.

Аналогичные оценочные расчеты можно выполнить для светодиодов или вентиляторов других размеров.

Каким должно быть устройство схемы:

  • схема должна состоять из двух частей, первая - располагаться на крыльчатке и управлять зажиганием светодиодов (далее везде по тексту схема 1), ее питание будет производиться от вторичной обмотки трансформатора, вторая - генерировать импульсы для питания первичной обмотки (далее везде по тексту схема 2);
  • чтобы вид изображения не зависел от скорости вращения крыльчатки, нужно ее измерять, при этом на вывод одной колонки отводится времени не более 1/150 измеренного времени одного оборота крыльчатки.

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

Рисуем схему управления светодиодами:

Рис.4 Схема управления светодиодами (схема 1)

Здесь:

  • L2 - вторичная обмотка трансформатора;
  • VD1, С1 образуют выпрямитель и фильтр, VD1 - любой быстродействующий кремниевый диод, лучше - диод Шоттки, у меня это LL4148;
  • R1,R2,VD2 - схема формирования логического уровня сигнала прерывания;
  • DA1 - стабилизатор напряжения 5 В 78L05;
  • С2 - накопительный конденсатор, от него питается схема в промежутки времени между импульсами;
  • R5,C4 - схема сброса микроконтроллера;
  • DD1 - микроконтроллер Microchip PIC16F628;
  • HL1-HL7 - светодиоды;
  • R3-R10 - токоограничивающие резисторы.

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

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

При экспериментах выяснилось, что принятое решение об использовании тахосигнала для привязки к положению крыльчатки было ошибочным. В результате неопределенности начального положения крыльчатки, положение выводимой строки менялось на 180 градусов, любая помеха могла привести к перевороту строки. Поэтому было принято решение использовать внешний датчик для определения положения крыльчатки. В качестве такого датчика я использовал оптопару ИК светодиод - ИК фототранзистор с открытым оптическим каналом из неисправного дисковода для 3,5" дискет.

Окончательный вариант схемы 2 выглядит так:

Рис.5 Схема измерения периода и генерации импульсов (схема 2)

Здесь:

  • DA1 - стабилизатор напряжения 5 В 7805;
  • R1,C3 - схема сброса микроконтроллера;
  • DA2,R2,R3 - готовая схема на печатной плате, оптопара с открытым оптическим каналом от 3,5" дисковода;
  • DD1 - микроконтроллер Microchip PIC16F628;
  • С4 - керамический 0,1 - 1 мкФ;
  • BQ1 - кварцевый резонатор на 8 МГц;
  • C5,C6 - керамические конденсаторы 24 пФ;
  • VT1 - полевой транзистор IRL520N;
  • R4 - 7,5 Ом;
  • R5 - 75 Ом.
  • С1,С2,С7 -электролитические конденсаторы;
  • L1 - первичная обмотка трансформатора.

Перейдем к картинкам, сразу все станет нагляднее и понятней:

Рис.6 Конструкция вентилятора с размещенной на крыльчатке схемой управления светодиодами.

На левой стороне печатной платы располагается схема питания - диод, конденсаторы, стабилизатор, в центре - микроконтроллер, на правой - светодиоды.

К монтажному отверстию вентилятора прикреплена оптопара с открытым оптическим каналом, сигнал от нее уходит в схему 2.

 

Рис.7 Датчик положения крыльчатки.

1 - индексная метка (небольшой кусочек плотной бумаги, приклеенный к каркасу вторичной обмотки), 2 - оптопара с открытым оптическим каналом.

 

Рис.8 Схема измерения времени оборота и формирования импульсов в первичной обмотке трансформатора.

Печатной платы так и не удостоилась.

 

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

Скачать фильм:

ATLabLogo.zip

774 кБайт

Можно было бы сжать сильнее, но качество выходит совсем низким.

Что мы увидим в фильме:

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

 

Что еще можно сделать:

  • поскольку изначально я делал вывод только графической информации, для вывода текста нужно в программе микроконтроллера предусмотреть знакогенератор;
  • организовать вывод динамического (изменяющегося) текста или изображения, для этого нужно либо добавить микросхему с предварительно записанной информацией, либо организовать кодирование и передачу информации от схемы 2 к схеме 1, например, через ИК канал или через трансформатор;
  • сделать из усовершенствованной конструкции (с передачей данных) двух- или одноканальный индикатор уровня чего-нибудь (например, громкости звука);
  • вывести показания часов;
  • вывести на вентилятор, как на индикатор, показания температурных датчиков, данные о скорости вращения вентиляторов из реобаса (если он это может), или Motherboard Monitor (MBM).

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

Несколько другое направление для применения схем, аналогичных рассмотренным - формирование полноцветных изображений с помощью пространственного цветосмешения, пример которого был рассмотрен в предыдущей статье "Практикум по стробоскопу №2. С использованием FAN-TASTIC по-русски". Если на крыльчатке разместить колонки светодиодов красного, зеленого, синего цветов, то можно с помощью микроконтроллера управлять ими, получая все оттенки цвета, и формируя полноцветные текстовые или графические изображения. Правда в этом случае остро встанет вопрос КПД трансформатора. Хотя для начала можно ограничиться меньшим количеством светодиодов (по 1-3 каждого цвета), сделав только цветомузыку...

Успехов!

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


Hosted by uCoz