В этой статье описано, как создать довольно простой лазерный проектор из подручных компонентов.
Введение.
Существует два способа создания лазерного изображения: векторное сканирование и растровое сканирование.
При векторном сканировании лазерный луч перемещается в пространстве вдоль контуров желаемого изображения, теряя фокус только при переходе от одного контура к другому. Это гарантирует, что лазер включен большую часть времени и что получаемое изображение достаточно яркое.
Этот метод обычно используется в различных промышленных лазерных проекторах. Для быстрого перемещения лазерного луча необходимо использовать достаточно сложные электронные и механические устройства (гальванометры). Их цена обычно составляет 80 долларов США за пару, и их трудно (но не невозможно) изготовить в домашних условиях.
Второй метод визуализации — сканирование. В этом методе лазерный луч последовательно перемещается вдоль всех линий изображения. Этот метод используется в старых телевизорах и мониторах с ЭЛТ.
Круговая природа обоих типов движения (вертикального и горизонтального) значительно упрощает проектирование (по сравнению с векторным сканированием). Кроме того, это намного проще с точки зрения программирования, поскольку генерируемое изображение состоит из отдельных элементов.
Недостатки сканирования — луч проходит через все элементы изображения, даже если их не нужно освещать, тем самым снижая яркость изображения.
Я хотел применить этот метод к своему проектору из-за его простоты.
Для перемещения лазерного луча вдоль линии (горизонтальное сканирование) очень удобно использовать зеркало, вращающееся с постоянной скоростью. Благодаря непрерывному вращению скорость луча может быть очень высокой. Переход от одной линии к другой, с другой стороны, более сложен.
Самый простой вариант — использовать несколько лазеров, направленных на вращающееся зеркало. Недостатком этого метода является то, что количество отображаемых линий определяется количеством используемых лазеров, что делает конструкцию более сложной, а ширина зеркала должна быть достаточно большой. Однако есть и преимущества. Единственным движущимся элементом в системе является зеркало, а использование нескольких лазеров позволяет достичь значительно большей яркости изображения. Вот пример проектора, использующего этот принцип.
Другой вариант сканирования, который можно найти в Интернете, — это комбинация вертикального и горизонтального сканирования с использованием вращающихся многогранных зеркал, где отдельные зеркала расположены под разными углами к оси вращения. Такая конструкция зеркал отклоняет лазерный луч под разными вертикальными углами, когда зеркала поворачиваются влево и вправо, создавая вертикальное сканирование.
Хотя проектор в целом прост (требуется только лазер, моторизованное зеркало и датчик синхронизации), у этого метода есть существенные недостатки. Изготовить такое универсальное зеркало в домашних условиях очень сложно. Как правило, угол поверхности зеркала необходимо регулировать в процессе сборки. Это должно быть сделано очень точно, что делает конструкцию зеркала более сложной.
Для упрощения конструкции были использованы другие принципы сканирования. Для формирования горизонтальной развертки используется постоянно вращающееся зеркало, а для формирования вертикальной развертки — периодически колеблющееся зеркало.
Приложения
Горизонтальное сканирование
Где находятся зеркала, которые быстро вращаются? По старым лазерным принтерам! В лазерных принтерах используется многоугольное зеркало, установленное на валу высокоскоростного двигателя. Это приводит в действие двигатель, без переключателя, для сканирования лазерного луча на бумажном листе. Обычно этот двигатель установлен на печатной плате, которая им управляет.
У меня уже был подходящий зеркальный блок от принтера:…
Я не смог найти никакой документации по самому устройству и используемым в нем микросхемам, поэтому мне пришлось прибегнуть к простой обратной механике, чтобы определить расположение выводов устройства. Линии питания в штекере очень легко обнаружить — они присоединены к уникальному электролитическому конденсатору на борту. Однако простой источник питания не сможет провернуть двигатель — плате необходим сигнал синхронизации для определения скорости вращения. Этот сигнал представляет собой простую меандрирующую линию с частотой 20-500-1000 Гц (она варьируется от модели к модели).
Чтобы найти нужную линию, был получен генератор импульсов, настроенный на частоту 100 Гц, и подключен ко всем свободным линиям подключения лазерной установки, выходящим через резисторы 470. Как только сигнал подавался на нужную линию, двигатель начинал вращаться. Было обнаружено, что зеркало вращается с очень высокой скоростью, и последующие измерения показали, что она может превышать 250 об/мин в минуту. Однако, к сожалению, моя лазерная установка была довольно шумной из-за высокой скорости вращения. В экспериментах это не проблема, но при постоянной эксплуатации проектора это плохо. Возможно, использование нового зеркального блока или установка конструкции в коробке могли бы значительно снизить уровень шума.
Лазеры.
Для первых испытаний мы использовали недорогую лазерную установку для индексации. Устройство должно быть закреплено так, чтобы оно могло вращаться по разным осям. Это необходимо для обеспечения правильного наведения лазера на зеркало.
При использовании растрового сканирования свет лазера распределяется по всей площади изображения, поэтому яркость получаемого изображения очень низкая, и оно может быть воспринято только в темноте.
Поэтому лазерный блок был заменен на блок, использующий лазерные проходы с DVD (пример изготовления такого блока).
Внимание — DVD-лазеры очень опасны для зрения, и все работы с такими лазерами должны выполняться в специальных защитных очках!
Конструкция этого лазерного аппарата такая же, как и у предыдущего аппарата.
Я поместил лазер и полигональное зеркало на небольшой твердый картон. Лазер должен быть расположен на одном уровне с зеркалом. После подачи на двигатель тактового сигнала и лазера, лазер необходимо выровнять так, чтобы он окружил поверхность зеркала. Это приводит к появлению длинной горизонтальной лазерной линии при вращении многоугольного зеркала.
Фотокопировальные машины.
Для того чтобы контроллер мог отслеживать положение движущегося лазерного луча, необходим фотограф. В качестве фотографа я использовал фотоштатив, покрытый картоном с прорезями. Щель необходима для наиболее точного определения момента, когда луч попадает в фотоприемник.
Это опорная основа для фотографии (без вырезанного картона).
При нормальной работе двигателя отраженный лазерный луч должен сначала попасть на фотодетектор, а затем на зеркало вертикального сканирования.
После установки датчика его работа была проверена путем подачи напряжения через резистор. Было замечено, что сигнал с датчика используется осциллограф. Его ширина была достаточной для подключения датчика непосредственно к GPIO-входу микроконтроллера.
Вертикальное сканирование
Как упоминалось выше, я использовал периодически колеблющиеся зеркала для формирования вертикального сканирования. Как создать диск для такого зеркала? Самый простой вариант — использование заряженного электромагнита. Проекты с лазерными фарами могут использоваться с обычными колонками. Однако это решение имеет много недостатков (плохая воспроизводимость результатов, низкая структура, трудности калибровки).
В своей конструкции проектора я решил использовать двигатель BLDC DVD для управления зеркалом вертикального сканирования. Проектор изначально был разработан для вывода текста, что означало наличие небольшого количества линий на внешней стороне, поэтому зеркало должно было вращаться под небольшим углом.
Двигатель BLDC на DVD содержит три обмотки, которые являются частью статора. Одна из обмоток, подключенная к положительной стороне источника напряжения, и две другие, поочередно подключенные к отрицательной стороне, заставляют бегунок двигателя колебаться. Максимальный угловой импульс вибрации определяется конструкцией двигателя, в частности, количеством полюсов. Для двигателей DVD это значение составляет до 30 градусов. Благодаря относительно высокой мощности этого двигателя, его простому управлению (требуется только две клавиши) и вращательному движению он очень подходит для создания простых текстовых лазерных проекторов.
Вот так мой двигатель похож на заклинившее зеркало: зеркало — не зеркало.
Стоит отметить, что отражающая поверхность зеркала должна быть спереди, то есть не закрыта стеклом.
Структура в целом
Вот как должна выглядеть полная фара:.
План вблизи участка просмотра:.
Многоугольное зеркало вращается по часовой стрелке так, что лазерный луч проходит слева направо.
Мощные лазерные диоды DVD уже размещены здесь (в сиберме). Зеркала вертикального сканирования устанавливаются таким образом, чтобы проецируемое изображение было направлено вверх — в моем случае на крышу комнаты.
Как видно на рисунке, лазер и механический проектор управляются микроконтроллером STM32F103, установленным на небольшом синем планшете. Эта плата подключена к макетной плате.
Как упоминалось выше, для управления двигателем полигонального зеркала требуется один сигнал (сигнал синхронизации ("Poly_Clock")). Он генерируется одним из таймеров STM32 в режиме ШИМ. Частота и рабочий цикл этого сигнала не изменяются, чтобы обеспечить работу фар. Для питания платы двигателя используется отдельный источник питания 12 В.
Два ШИМ-сигнала, управляющие положением зеркал вертикального сканирования, генерируются отдельным таймером. Эти сигналы подключены к микросхеме ULN2003A, которая управляет DVD-двигателем. Поэтому угол поворота двигателя может быть изменен путем регулировки различных рабочих циклов ШИМ-каналов этого таймера.
К сожалению, в настоящее время конструкция не обеспечивает обратной связи о положении зеркала. Это означает, что микроконтроллер может перемещать зеркало, но не "знает" его текущее положение. Из-за бездействия курсора двигателя и индукции катушки изменение направления зеркала также происходит с задержкой.
Все это приводит к двум последствиям.
- Плотность линий различна. Это происходит из-за неконтролируемой скорости вращения зеркала.
- Большинство линий недоступны. Вертикальное зеркало колеблется по кругу, так что часть времени показывается сверху вниз, а другая часть — снизу вверх. В результате, из-за отсутствия данных о положении, линия должна отображаться только при движении двигателя в одном направлении. Поскольку отображается только часть линии, яркость изображения снижается (т.е. лазер используется не полностью).
Процесс отображения с проектора также очень прост.
-
Каждый раз, когда лазерный луч попадает на фотодиод, микроконтроллер генерирует прерывание.
Пример созданного изображения (шрифт высотой 8 строк):.
Небольшое искажение пропорций текста вызвано тем, что проектор освещает стену под углом. В настоящее время каждый цикл колебаний вертикального сканирующего зеркала состоит из 32 шагов (один шаг соответствует одному повороту края полигонального зеркала).
В текущей реализации проектор может выводить примерно 14 полных строк. Остальные линии либо сливаются друг с другом, либо неуместно смешиваются с остальными.
На картинке в начале статьи также используется шрифт высотой в 8 строк. Как видите, даже две строки текста отображаются почти правильно.
В то же время таблица генератора сигналов для этого проекта содержит 12-высотные и 6-строчные шрифты.
На этом изображении хорошо видно, что плотность линий изменилась.
Пример такой бегущей строки, отображаемой проектором:.
На видео изображение мерцает по вертикали, но на практике это явление не ощутимо для глаза.