Лазерное шоу своими руками. Часть 2

в 19:47, , рубрики: diy или сделай сам, usb, Железо, лазеры, осциллограф, осциллоскоп, цап, метки: , , , ,

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

Структурную схему простенького лазерного проектора вы можете видеть ниже:
image
Она достаточно примитивна и не содержит системы термостабилизации лазеров, защитного затвора и прочих радостей настоящего проекторостроителя.

Работает эта система следующим образом: В компьютер или в графический контроллер загружаются файлы с векторными картинками/видео в специальном формате. Управляющая программа преобразует эти файлы в поток точек, каждая из которых характеризуется углом отклонения зеркал гальванометров по вертикали и горизонтали, а также мощностью излучения лазеров. ЦАП формирует из этого потока аналоговые сигналы для управления лазерным проектором по стандарту ILDA. Все выходы ЦАП — дифпары, с размахом ±10В для управления гальванометрами и ±5В для драйверов лазеров. Схема управления гальванометрами, получив новые значения углов поворотов от ЦАП моментально изменяет положение зеркал и стабилизирует их на новом месте(гальванометры имеют обратную связь по положению зеркала и шустренький ПИД регулятор). Драйвера обеспечивают на выходе лазерных диодов интенсивность луча, пропорциональную входному напряжению. Лазерные лучи смешиваясь на специальной зеркальной системе попадают на зеркала гальванометров, и на выходе мы имеем рисующий(сканирующий) лазерный луч того цвета и яркости, который только будет нам угоден.

Простейший ЦАП для лазерного проектора

Для сборки и любования этим чудо-агрегатом вам понадобятся:

  1. Распакуйте LFI Player, и отредактируйте в её директории файл EzAudDac.ini под свою систему:
    ; Пример моей конфигурации, для компьютера с одной звуковой картой
    [Sound Card Selection]
    UseCardNumber=1
    LowLatencyBuffering=no
    SampleRate=48000
    RepeatFrameWhenOut=no
    
    [Channel Invert]
    X=no
    Y=no
    R=yes
    G=yes
    B=yes
    I=yes
    
    [Channel Selection]
    X=1
    Y=2
    R=0
    G=0
    B=0
    I=0
    AL=0
    AR=0
    

    Параметром UseCardNumber выбираем номер звуковой карты, с которой будем работать.

  2. Подключите щупы осциллоскопа к выходам левого и правого канала звуковой карты при помощи аудиоразъёма с проводом, переключите осциллоскоп в режим развёртки X/Y
  3. Запустите LFI_Player_V1_1_6_EzAudDAC.exe, откройте в ней файл ILD, и нажмите Play. На осциллографе вы сможете наблюдать векторную анимацию.

Должно получиться что-то вроде этого:

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

Высокоскоростной ЦАП

Более серьёзный ЦАП, лишённый этих недостатков можно собрать по схемам, приведённым ниже.
Плата ЦАП:
image
Увеличить

Переходник на стандартный разъём ILDA:
image
Увеличить

Микроконтроллер DD1 CY7C68013A обеспечивает связь по USB 2.0 и содержит в себе буферы FIFO для эндпоинтов USB. Встроенный в контроллер логический автомат GPIF настраивается так, чтобы не задействуя сам контроллер, по тактовому сигналу мгновенно загружать данные из буфера эндпоинтов в соответствующие ЦАП. Получилось что-то вроде скоростной звуковой карты, с дискретизацией до нескольких мегагерц. Все ЦАПы и источник опорного напряжения были заказаны у Texas Instruments как семплы.

Вот так это выглядит в собранном виде:
image
image

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

Автор: IbhSvenssen

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js