Самодельный Фурье-спектрометр

в 7:53, , рубрики: diy или сделай сам, fft, оптика, спектрометр, фурье, Электроника для начинающих

image Однажды я прочитал в Википедии статью про Фурье-спектрометр, и мне захотелось самостоятельно сделать такой. Эта задача совсем не простая, но действующий макет спектрометра все же удалось сделать. Сразу предупрежу — это не инфракрасный спектрометр, так что особенно интересных измерений им не провести.

О том, как же работает Фурье-спектрометр, и как его можно сделать в домашних условиях — далее (осторожно, много картинок!).

Немного теории

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

Упрощенная схема спектрометра с полупрозрачной дифракционной решеткой:
image
На схеме: 1 — входная щель, 2 — коллиммирующий объектив, 3 — дифракционная решетка, 4 — фокусирующий объектив, 5 — плоскость изображения (плоскость фотоприемника).

Исследуемое излучение проходит через входную щель, преобразуется объективом 2 в параллельный пучок света, который падает на дифракционную решетку. Решетка производит пространственное разделение этого пучка — излучение с разными длинами волн начинает распространятся под разными углами. Фокусирующая линза 5 формирует из параллельных пучков изображение в плоскости 5, которое может регистрироваться фотоприемником (например, ПЗС-линейкой).

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

Призмы, хоть и просты в изготовлении и использовании, не способны обеспечивать высокое спектральное разрешение. Еще один их недостаток — они могут работать только в определенном диапазоне волн, определяемом материалом призмы. Обычные стекла не способны пропускать излучение с длиной вольны больше 3-4 мкм.

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

Для регистрации спектра в плоскости изображения спектрометра устанавливают многоэлементные фотоприемники, которые позволяют очень быстро считать весь спектр излучения. Наиболее распространенные кремниевые ПЗС и КМОП линейки подходят только для видимой области спектра и ближнего ИК излучения. Для исследования излучения длиной более 1.2 мкм нужны приемники из других материалов, например германия, арсенида галлия-индия, или даже линейки микроболометров. Такие многоэлементные приемники выпускают всего несколько компаний в мире, они очень дороги и труднодоступны.

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

В Фурье-спектрометрах используется совершенно другой принцип работы — он основан на явлении интерференции.
В Википедии, как мне показалось, приведено наиболее простое и понятное описание:

Основной элемент фурье-спектрометра — интерферометр Майкельсона.
Допустим, у нас имеется когерентный источник излучения с определённой длиной волны. Когда разность хода двух лучей, пришедших в приёмник, равна λ/2 (то есть лучи пришли в противофазе) интенсивность света, регистрируемая приёмником, близка к нулю. При перемещении правого зеркала интерферометра Майкельсона разность хода лучей изменяется, изменяется и интенсивность света, регистрируемая приёмником. Очевидно, что интенсивность света максимальная, когда разность хода лучей будет кратна длине волны.

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

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

Схема интерференции излучения в Фурье-спектрометре:

image
На схеме: 1 — источник излучения, 2 — светоделительная (полупрозрачная) пластинка, 3 — неподвижное зеркало, 4 — подвижное зеркало, 5 — фотоприемник.

Схема реального спектрометра несколько сложнее:

image

На схеме: 1 — источник излучения, 2,4 — колиммирующая оптика, 3 — входная диафрагма, 5 — неподвижное зеркало, 6 — подвижное зеркало, 7 — привод зеркала, 8 — светоделительная пластинка, 9 — лазер опорного канала, 10 — фотоприемник опорного канала, 11 — фокусирующая оптика, 12 — фотоприемник сигнала.

Для того, чтобы стабилизировать скорость движения подвижного зеркала, и обеспечить «привязку» спектрометра к абсолютным значениям длин волн, в спектрометр вводят опорный канал, состоящий из лазера и его фотоприемника (9 и 12 на схеме). Лазер в таком случае выступает эталоном длины волны. В высококачественных спектрометрах для этих целей используют одночастотные газовые лазеры. В результате точность измерения длин волн получается очень высокой.

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

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

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

Разрешающая способность Фурье-спектрометров может быть намного выше, чем в традиционных спектрометрах. Она определяется разностью хода подвижного зеркала Δ. Разрешаемый интервал волн определяется выражением: δλ = λ^2/Δ

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

Практика

Я абсолютно не был уверен в том, что можно сделать Фурье-спектрометр в домашних условиях, не имея доступа к нужным станкам (как я уже упоминал, механика — самая сложная часть спектрометра). Поэтому спектрометр делался поэтапно.

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

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

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

Его я сделал, используя три юстировочных винта, снятых со сломанного теодолита. Металлическая пластина с приклеенным зеркалом прижимается пружинами к торцам этих винтов, а сами винты закреплены в металлическом уголке, прикрученном к
столику.

Конструкция понятна из фотографий:

image

Видны юстировочные винты зеркала и микрометрический винт.

image

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

Вид сверху:

image

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

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

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

image

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

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

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

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

После того, как зеркала выставлены вышеописанным образом, достаточно увеличить мощность лазера — и вот она, интерференция! Выглядит она практически так же, как и на фотографии в начале статьи. Однако излучение лазера глазами наблюдать опасно, так что чтобы увидеть интерференцию, нужно установить после кубика какой-либо экран. Я использовал простой листок бумаги, через который видно интерференционные полосы — мощности и когерентности лазера хватает, чтобы создать достаточно контрастное изображение. Поворачивая юстировочные винты зеркала, можно изменять ширину полос — очевидно, что слишком узкие полосы наблюдать проблематично. Чем лучше интерферометр отъюстирован, тем шире полосы. Однако, как я уже упоминал, малейшие отклонения зеркал приводят к разъюстировке, и следовательно, линии становятся слишком узкими и неразличимыми. Чувствительность получившегося интерферометра к деформациям и вибрациям огромная — достаточно нажать на доску-основание в любом месте, и линии начинают перемещаться. Даже шаги в комнате приводят к дрожанию линий.

Однако интерференция когерентного лазерного света — это еще не то, что нужно для работы Фурье-спектрометра. Такой спектрометр должен работать с любым источником света, в том числе и белым. Длина когерентности белого света — около 1 мкм.
У светодиодов эта величина может быть больше — несколько десятков микрометров. Интерферометр формирует интерференционную картину только тогда, когда разность хода световых лучей для между каждым из зеркал и светоделителем меньше длины когерентности излучения. У лазера, даже полупроводникового, она большая — больше нескольких миллиметров, поэтому интерференция возникает сразу после юстировки зеркал. А вот даже от светодиода интерференцию получить в разы сложнее — перемещая зеркало в продольном направлении микрометрическим винтом, нужно добиться того, чтобы разность хода лучей попала в нужный микронный диапазон.

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

В конце-концов, после получасовых попыток, когда уже казалось, что это совсем не реально, мне удалось получить интерференцию света от светодиода.

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

image

Потом удалось получить и интерференцию в белом свете от светодиодного фонаря (на фотографии видно матовую пленку — она обращена торцом к фотоаппарату и на ней видно тусклое пятно света от фонаря):

image

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

image

Теперь, когда интерферометр сделан, нужно сделать узел подвижного зеркала взамен тестового. Изначально я планировал просто приклеить небольшое зеркало к динамику, и подавая на него ток, изменять положение зеркала. Получилась такая конструкция:

image

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

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

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

Дальше в спектрометр были добавлены несколько узлов:

image

Слева — доска из оргалита, с отверстием-диафрагмой. Защищает спектрометр от внешних засветок.

Между отверстием и светоделительным кубиком установлена коллимирующая линза, приклеенная к металлической оправе:

image

На оправе виден специальный пластиковый держатель, в который можно вставлять матовую пленку (лежит в правом нижнем углу).

Установлен объектив для фотоприемника. Между объективом и кубиком установлено маленькое зеркало на поворачиваемом креплении. Оно заменяет призму, которая использовалась ранее. Фотография в начале статьи сделана именно через него. При повороте зеркала в положение для наблюдения оно перекрывает объектив, и регистрация спектрограммы становится невозможной. При этом нужно прекращать подавать сигнал на динамик подвижного зеркала — из-за слишком быстрых колебаний линии глазом не видны.

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

Спереди установил фокусирующий объектив от фотоаппарата:

image

Для упрощения юстировки и тестирования спектрометра установил красный фотодиод около диафрагмы.

image

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

image Теперь стоит немного подробнее рассказать про фотодатчики. Изначально планировалось использовать только один обычный кремниевый фотодиод. Однако первые попытки сделать качественный усилитель для фотодиода оказались провальными, так что я решил использовать фотодатчик OPT101, который уже содержит в в себе усилитель с коэффициентом преобразования 1000000 (1 мка -> 1В).

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

Однако кремниевый фотодиод способен принимать излучение только в диапазоне длин волн 400-1100 нм.
Линии поглощения различных веществ обычно лежат дальше, и для их обнаружения нужен другой диод.
Для работы в ближней ИК области есть несколько типов фотодиодов. Для простого самодельного прибора наиболее подходят германиевые фотодиоды, способные принимать излучение в диапазоне 600 — 1700 нм. Эти диоды выпускались еще при СССР, поэтому они относительно дешевы и доступны.

Чувствительность фотодиодов:

image

Мне удалось достать фотодиоды ФД-3А, и ФД-9Э111. В спектрометре я использовал второй — он обладает несколько большей чувствительностью. Для этого фотодиода пришлось все же собрать усилитель. Он сделан с использованием операционного усилителя TL072. Для того, чтобы усилитель заработал, понадобилось обеспечить ему питание напряжением отрицательной полярности. Чтобы получить такое напряжение, я использовал готовый DC-DC преобразователь с гальванической развязкой.

Фотография фотодиода вместе с усилителем:

image

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

image

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

В опорном канале для приема излучения лазера используется фотодиод ФД-263, сигнал от которого усиливается операционным усилителем LM358. В этом канале уровень сигнала очень большой, так что коэффициент усиления — 2.

Получилась вот такая конструкция:

image
В левом нижнем углу спектрометра — фотодиод опорного канала, его усилитель и переключатель для выбора используемого фотодиода. Слева вверху видна USB-аудиокарта, соединенная с динамиком подвижного зеркала. Эта же аудиокарта предназначена для захвата сигнала сигнала с фотодиодов основного и опорного каналов.

image

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

image

Схема спектрометра:

image

Пример осциллограммы, получаемой со спектрометра (источником излучения служит белый светодиод):
image
Желтая линия — сигнал, подаваемый на динамик подвижного зеркала, голубая линия — сигнал с OPT101, красная — результат Фурье-преобразования, выполняемого осциллографом.

Программная часть

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

Вся программа написана на C#. Работа со звуком производится при помощи библиотеки NAudio. Программа не только обрабатывает сигнал от спектрометра, но и формирует синусоидальный сигнал частотой 20 Гц для управления подвижным зеркалом. Более высокие частоты хуже передаются механикой подвижного зеркала.

Процесс обработки сигнала можно разделить на несколько этапов, и результаты обработки сигнала в программе можно просматривать на отдельных вкладках.

Сначала программа получает массив данных от аудиокарты. Этот массив содержит данные от основного и опорного каналов:

image

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

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

Один из найденных минимумов скорости принимается за начало отсчета интерферограммы (отмечен красной вертикальной линией). Далее выделяется один период колебания зеркала:

image

Число периодов колебаний опорного сигнала за один проход зеркала (между двумя черными точками на скриншоте выше) указано справа: «REF PERIODS: 68». Как я уже упоминал, полученная интерферограмма промодулирована по частоте, и ее нужно скорректировать. Для коррекции я использовал данные о текущем периоде колебаний сигнала в опорном канале. Коррекция проводится путем интерполяции сигнала методом кубических сплайнов. Результат виден ниже (отображается только половина интерферограммы):

image

Интерферограмма получена, теперь можно выполнять обратное Фурье-преобразование. Оно производится при помощи библиотеки FFTW. Результат преобразования:

image

В результате такого преобразования получается спектр исходного сигнала в области частот. На скриншоте он пересчитан в обратные сантиметры (СМ^-1), которые часто используются в спектроскопии. Но мне все же больше привычна шкала в длинах волн, поэтому спектр приходится пересчитывать:

image

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

Примеры полученных спектров

Излучение лазера:

image

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

Различные светодиоды:

image

В качестве источников использовались: «ультрафиолетовый» диод, синий, желтый, белый диоды, и два ИК диода с разными длинами волн.

Спектры пропускания некоторых светофильтров:

image

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

А вот и полученный спектр излучения лампы:

image

Зубцы на спектре справа — особенность работы алгоритма, компенсирующего неравномерную спектральную чувствительность фотодиода.

В идеале, спектр должен выглядеть вот так:

image

Испытывая спектрометр, нельзя не посмотреть спектр лампы дневного света — он имеет характерную «полосатую» форму. Однако при регистрации спектра Фурье-спектрометром спектра обычной лампы на 220В возникает проблема — лампа мерцает. Тем не менее, Фурье преобразование позволяет выделить более высокочастотные колебания (единицы кГц), даваемые интерференцией, из низкочастотных (100 Гц), даваемых сетью:

image

Спектр люминесцентной лампы, полученный промышленным спектрометром:

image

Все спектры выше были получены с использованием кремниевого фотодиода. Теперь приведу спектры, полученные с германиевым фотодиодом:

image

Первым идет спектр лампы накаливания. Как видно, он не очень-то похож на спектр реальной лампы (уже приведенный ранее).

Правей — спектр пропускания раствора медного купороса. Интересно, что он не пропускает ИК излучение. Небольшой пик на 650 нм связан с переотражением излучения лазера из опорного канала в основой.

Вот так снимался спектр:

image

Ниже идет спектр пропускания воды, справа от него — график реального спектра пропускания воды.
Дальше идут спектры пропускания ацетона, раствора хлорного железа, изопропилового спирта.

Напоследок приведу спектры солнечного излучения, полученные кремниевым и германиевым фотодиодами:

Автор: iliasam

Источник

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


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