Лазерный проектор своими рукам

Простой лазерный проектор своими руками

Здравствуйте, уважаемые читатели и самоделкины!

Уже достаточно давно самые разнообразные лазерные устройства применяются на развлекательных мероприятиях, концертах и дискотеках.
В данной статье автор YouTube канала «MELNITSA TV» расскажет Вам, как можно сделать миниатюрный лазерный проектор. Это устройство может проецировать на стену весьма причудливые и постоянно изменяющиеся линии.

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

В качестве простейшего зеркальца можно использовать старый CD или DVD диск. Первым делом мастер вырезает из такого материала пару круглых зеркал диаметром 30 мм.






























Усовершенствовать это устройство, и сделать его трехцветным, можно очень просто. Достаточно установить вместо одного лазера сразу три (или более) вот такие лазерные указки .

Несмотря на низкую мощность лазерных указок, следует соблюдать технику безопасности, и не направлять проектор в сторону людей!
Инструменты , использованные автором.
— Беспроводной клеевой пистолет
— Электрический паяльник с регулируемой температурой
— Нож, маркер , циркуль .

Благодарю автора за простой способ изготовления лазерного проектора, который может дополнить световое оформление дома на Новый Год.

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

Авторское видео можно найти здесь.

Источник

Собираем лазерный проектор из доступных деталей

UPD: Добавлены файлы платы с ЦАП на GitHub

Изначально я планировал сделать Лазерную арфу, но пока получился промежуточный результат — устройство, которое можно использовать как лазерный проектор — рисовать лазером различные фигуры, записанные в файлах формата ILDA. Я в курсе, что многие, кто берется за сборку лазерного проектора, в качестве устройства, управляющего гальванометрами (так и не понял как лучше перевести на русский сочетание “galvo scanner»), используют дешевые слегка модифицированные звуковые платы для компьютера. Я пошел иным путем, так как в конечном счете мне нужно будет полностью автономное устройство, которое может работать без компьютера.

Посмотрим из чего состоит мой лазерный проектор. Стоимость всех деталей составила около 8000 руб, из которых больше половины — это 70mW лазерный модуль.

  1. Гальванометры и драйверы к ним для отклонения луча лазера по осям X/Y
  2. 532нм 70mW лазерный модуль с питанием от 5В Dragon Lasers SGLM70
  3. Texas Instruments Stellaris Launchpad
  4. Самодельная плата с ЦАП AD7249BRZ
  5. Блок питания

Железо

В моей системе используется Stellaris Launchpad в качестве «мозга» (потому что он достаточно быстрый и имеет аппаратную поддержку USB) и 12-битный двухканальный ЦАП с последовательным интерфейсом Analog Devices AD7249BRZ. Для управления отклонением луча на вход драйвера нужно подавать аналоговый сигнал в диапазоне от -5 до 5 вольт. ЦАП AD7249BRZ как раз умеет работать в таком режиме (а также от 0 до 5 вольт и от 0 до 10 вольт). Для него я развел в Eagle специальную плату, которая подключается к Stellaris Launchpad. Плата требует двухполярного питания, которое получается с помощью микросхемы ICL7660. Для преобразования единственного выходного напряжения поставляемого с гальванометрами блока питания (15В) в нужные мне я использовал линейный регулятор LM317, что в последствии оказалось не самым оптимальным решением, особенно для питания лазерного модуля — потому что LM-ка с большим радиатором (виден на видео) через минут 10 работы нагревается градусов до 70. Без радиатора она просто очень быстро перегревалась и отключалась от перегрева (а вместе с ней и лазерный модуль, из-за чего я поначалу решил что он сгорел и чуть не отложил пару кирпичей, т.к. при повторной подаче питания он не включался — как уже потом выяснилось до тех пор, пока не остынет микросхема).

Лазерный модуль изначально не поддерживал TTL-модуляцию, поэтому когда мне надоело просто водить лазером в разные стороны я задумался о том, чтобы в нужные моменты времени включать и отключать луч. Для этого потребовалось дорабатывать лазерный модуль паяльником. К счастью, почти все китайские лазерные модули весьма похожи друг на друга, просты, и сделаны на операционном усилителе LM358. Подпаяв к его ногам 3 и 4 (неинвертирующий вход и земля соответственно) эмиттер и коллектор первого попавшегося биполярного транзистора 2N4401, я, таким образом, получил возможность модулировать работу лазера, подавая управляющий сигнал на базу транзистора:

Доработанный напильником лазерный модуль

Схема и плата для AD7249BRZ представлена ниже. Возможно внимательный читатель найдет в схеме ошибку, потому что в ней по неизвестным мне причинам кажется не работает часть с операционным усилителем, которая призвана сделать выходной сигнал схемы балансным для пущей защиты от помех. Мой экземпляр вместо балансного сигнала выдает небалансный, но, тем не менее, все работает и так.

Надеюсь вы не испугались страшной картинки платы с налетом у выводов микросхемы, который образовался после протирки этиловым спиртом. Кстати, по этой причине рекомендуют отмывать флюс изопропиловым спиртом, так как он не оставляет таких разводов. Кстати, кому интересно, что это за разъемы такие с защелкой на плате — это разъемы Molex (22-23-2021 розетка, 22-01-3027 вилка, 08-50-0114 контакт для вилки), заказывал их через Digikey, так как у китайцев они стоят как-то неприлично дорого.

Читайте также:  Как собрать ламповый усилитель своими руками

На этом вроде все самое интересное про железную часть заканчивается, так что переходим к части софтовой. Состоит она из двух частей — программки для ПК и прошивки для Stellaris Launchpad, которая реализует USB bulk-устройство с собственным форматом пакетов по 32 бита в каждом. Формат сэмпла описан следующей структурой:

Устройство использует USB-буферы размером 512 байт, в которые с ПК с некоторым запасом, и с такой скоростью, чтобы не вызвать переполнение или опустошение буфера, записывает данные. Используемые гальванометры рассчитаны на отображение 20000 точек в секунду, то есть это требуемая частота семплирования. В функции обработки данных от USB скорость обработки регулируется с помощью банального SysCtlDelay . Регулируя значение можно подстроить систему, так чтобы тестовая картинка ILDA отображалась правильно:

Зеленый светодиод на видео в начале поста мигает после обработки каждой пачки в 20000 сэмплов. То есть, в идеале он должен мигать ровно 1 раз в секунду.

Программная часть для ПК основана на playilda.c из пакета OpenLase, однако оттуда вырезано все лишнее и вместо взаимодействия с сервером JACK используется libusb для отправки пакетов данных на Stellaris Launchpad.

В функции main() с помощью nanosleep также регулируется периодичность, с которой микроконтроллеру посылаются новые данные.
Полностью исходный код прошивки контроллера можно посмотреть на GitHub.

Источник

Самодельный текстовый лазерный проектор

В этой статье я рассажу о том, как сделать достаточно простой лазерный проектор из подручных деталей.

Введение

Существуют два метода создания изображения при помощи лазера — это векторная и растровая развертка.

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

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

Второй метод создания изображения — растровая развертка. В этом методе луч лазера последовательно движется вдоль всех строк изображения. Именно этот метод используется в ЭЛТ-трубках старых телевизоров и мониторов.

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

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

Именно этот метод, из-за его простоты, я и захотел реализовать в своем проекторе.

Для перемещения лазерного луча вдоль линии (горизонтальной развертки) очень удобно использовать зеркало, вращающееся с постоянной скоростью. Благодаря тому, что вращение непрерывное, скорость движения луча может быть достаточно большой. А вот переход от одной линии к другой реализовать сложнее.

Самый простой вариант — использовать несколько лазеров, направленных на вращающееся зеркало. Недостатки этого метода — число отображаемых линий будет определятся числом использованных лазеров, что усложняет конструкцию, а ширина зеркала должна быть достаточно большой. Хотя есть и достоинства — единственный подвижный элемент в такой системе — это зеркало, а использование нескольких лазеров позволяет добиться достаточно высокой яркости изображения. Вот пример проектора, использующего такой принцип.

Еще один вариант развертки, который можно встретить в сети — объединение вертикальной и горизонтальной развертки за счет использования вращающегося многогранного зеркала, в котором отдельные зеркала-грани расположены под разным углом к оси вращения. Благодаря такой конструкции зеркала, при повороте зеркала от одной грани к другой луч лазера отклоняется на разные углы по вертикали, за счет чего и создается вертикальная развертка.

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

Читайте также:  Подушка для друга своими руками

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

Реализация

Горизонтальная развертка

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

У меня уже был подходящий зеркальный модуль из принтера:

Документацию на сам модуль и использованную в нем микросхему найти не удалось, так что для определения распиновки модуля мне пришлось провести простой реверс-инжиниринг. Линии питания на разъеме найти довольно просто — они подключены к единственному на плате электролитическому конденсатору. Однако просто при подаче питания двигатель вращаться не будет — на плату нужно подать сигнал тактирования, который определяет скорость вращения. Этот сигнал — простой меандр частотой от 20 до 500-1000 Гц (для разных моделей может быть по разному).

Чтобы найти нужную линию, я взял генератор импульсов, настроенный на частоту 100 Гц, и подсоединял его выход через резистор в 470 ко всем свободным линиям разъема лазерного модуля. При подаче сигнала на нужную линию мотор начал вращаться. Скорость вращения зеркала получается очень высокой, последующие измерения показали, что она может превышать 250 об/сек. Но, к сожалению, из-за большой скорости вращения мой лазерный модуль довольно громко шумел. Для экспериментов это не является проблемой, а вот для постоянной работы проектора это плохо. Возможно, что за счет использования более нового зеркального модуля или установки конструкции в коробку уровень шума можно значительно снизить.

Лазер

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

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

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

Внимание — лазер из DVD очень опасен для зрения, все работы с таким лазером нужно проводить в специальных защитных очках!

Конструкция крепления этого лазерного модуля такая же, как и у предыдущего.

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

Фотодатчик синхронизации

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

Вот так выглядит крепление фотодиода (без картона с прорезью):

При нормальной работе мотора отраженный луч лазера должен сначала попадать на фотодатчик, а потом уже — на зеркало вертикальной развертки.

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

Вертикальная развертка

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

В своей конструкции проектора я решил использовать BLDC мотор из DVD для управления зеркалом вертикальной развертки. Поскольку проектор изначально планировался для вывода текста, это значило, что отображаемых линий будет немного, а значит, что зеркало нужно поворачивать на небольшой угол.

BLDC мотор из DVD содержит три обмотки, входящие в состав статора. Если одну из обмоток подключить к плюсу источнику напряжения, а две других поочередно соединять с его минусом, то ротор двигателя будет колебаться. Максимальный угловой размах колебаний определяется конструкцией мотора, в частности, числом его полюсов. Для мотора из DVD этот размах не превышает 30 градусов. Благодаря достаточно большой мощности такого мотора, простоте управления (нужно всего два ключа), вращательному движению этот мотор очень хорошо подходит для изготовления простого текстового лазерного проектора.

Читайте также:  Провод для камеры видеонаблюдения своими руками

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

Стоит обратить внимание на то, что отражающая поверхность зеркала должна быть впереди, то есть не закрыта стеклом.

Конструкция в целом

Вот так выглядит проектор целиком:

Проекционная часть крупным планом:

Полигональное зеркало вращается по часовой стрелке, так что луч лазера двигается слева направо.

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

Как видно из фотографии, лазером и механикой проектора управляет микроконтроллер stm32f103, установленный на маленькой отладочной плате (Blue Pill). Эта плата вставлена в Breadboard.

Как я уже упоминал раньше, для управления мотором полигонального зеркала нужен только один сигнал — тактирования («POLY_CLOCK»), который вырабатывает один из таймеров stm32, работающий в режиме ШИМ. Частота и скважность этого сигнала остается неизменной в процессе работы проектора. Для питания платы мотора я использую отдельный блок питания на 12 В.

Два ШИМ сигнала для управления положением зеркала вертикальной развертки формирует другой таймер микроконтроллера. Эти сигналы заведены на микросхему ULN2003A, которая и управляет мотором от DVD. Таким образом, устанавливая различную скважность ШИМ каналов этого таймера, можно изменять угол поворота мотора.

К сожалению, в существующем виде конструкция не имеет обратной связи по положению зеркала. Это значит, что микроконтроллер может привести зеркала в движение, но его текущего положения он «знать» не будет. Из-за инерционности ротора двигателя и индуктивности катушек изменение направления движения зеркала тоже происходит с некоторой задержкой.

Все это приводит к двум последствиям:

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

Тем не менее, благодаря отсутствию обратной связи, конструкция получается очень простой.

Процесс формирования изображения проектором тоже довольно прост:

    Каждый раз, когда луч лазера попадает на фотодиод, в микроконтроллере формируется прерывание.

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

  • Этот таймер синхронизации в определенные моменты времени формирует свои прерывания, соответствующие нужным моментам времени в процессе горизонтальной развертки.
  • В частности, через некоторое время после момента синхронизации нужно начать формировать сигнал управления лазером. Я в своей конструкции формирую его при помощи связки DMA+SPI. Фактически, при помощи этих модулей в нужный момент времени на выход MOSI SPI побитно предается одна из строк изображения.
  • После того, как вывод изображения в строке закончился, нужно принудительно включить лазер. Это нужно для того, чтобы фотодиод смог вновь принять его свет.
  • Модуляция лазера у меня также реализована при помощи одного из ключей микросхемы ULN2003A. Резистор R3 нужен для простейшей защиты лазерного диода от слишком большого тока. Он закреплен прямо на конце провода лазера и заизолирован. Для питания лазера я использовал отдельный регулируемый блок питания. Важно контролировать ток, потребляемый лазером, и следить, чтобы он не превышал максимально допустимого значения для использованного лазерного диода.

    Пример формируемого изображения (шрифт высотой 8 линий):

    Некоторое искажение пропорций текста связано с тем, что проектор светит на стену под углом.
    Сейчас каждый цикл колебаний зеркала вертикальной развертки состоит из 32 шагов (один шаг соответствует повороту полигонального зеркала на 1 грань).

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

    В фотографии в начале статьи также используется шрифт высотой 8 линий. Как видно, даже две строки текста более-менее нормально отображаются.

    В то же время таблица знакогенератора в этом проекте содержит шрифты высотой 12 и 6 линий:

    На этой фотографии хорошо заметна переменная плотность линий.

    Пример «бегущей строки», отображаемой таким проектором:

    Источник

    Оцените статью
    Своими руками