Как собрать простой спектрометр на ADS1115: пошаговое руководство для домашнего эксперимента

Как собрать простой спектрометр на ADS1115: пошаговое руководство для домашнего эксперимента

Вы хотите понять, из чего состоит свет — не просто «красный» или «синий», а точно: какие длины волн в нём присутствуют. Может, вы экспериментируете с LED-лампами, проверяете качество солнечных панелей, или просто хотите увидеть, как выглядит спектр лампы накаливания в цифровом виде. Вам не нужен лабораторный прибор за 50 тысяч рублей. Вам нужен простой, рабочий спектрометр, который вы соберёте за пару часов на базе микросхемы ADS1115 и старого DVD-диска. Это реально. Я сам собрал такой, и он работает.

ADS1115 — это 16-битный аналого-цифровой преобразователь (АЦП) с I²C-интерфейсом. Он не сам по себе спектрометр, но он умеет точно измерять напряжение с фотодиода. А фотодиод — это глаз вашего прибора. Вместо дорогих CCD-матриц, мы используем дешёвый фотодиод, разбитый на спектр с помощью дифракционной решётки от DVD. Результат? Точность, достаточная для домашнего анализа, и стоимость — меньше 1500 рублей.

Что вам понадобится

  • Микросхема ADS1115 (можно найти как модуль на плате с 4 входами)
  • Фотодиод с широкой чувствительностью (например, BPW34 или SFH 203 FA)
  • Старый DVD-диск (не CD — он не подойдёт)
  • Микроконтроллер: Arduino Nano, ESP32 или даже Raspberry Pi Pico
  • Резистор 1 МОм (для преобразования тока фотодиода в напряжение)
  • Паяльник, паяльная кислота, провода, макетная плата (или печатная плата)
  • Корпус: можно использовать картонную коробку от обуви или 3D-напечатанную рамку
  • Плоская щель шириной 0,5–1 мм (можно вырезать из алюминиевой фольги от чая)

Самый важный элемент — DVD. Не берите «записанный» — нужен именно пустой, с чистой отражающей поверхностью. Снимите с него защитный слой (осторожно, он ломается), и оставьте только слой с дифракционной решёткой. Это и будет ваша призма. На DVD решётка имеет шаг 1,6 мкм — это идеально для видимого спектра (400–700 нм).

Как работает схема

Фотодиод — это полупроводниковый прибор, который генерирует ток при попадании света. Чем ярче свет определённой длины волны — тем больше тока он выдаёт. Но микросхема ADS1115 измеряет напряжение, а не ток. Поэтому мы подключаем фотодиод в обратном направлении (катод к плюсу) и ставим резистор 1 МОм между анодом и землёй. Получается простейший ток-в-напряжение преобразователь.

Когда свет падает на фотодиод, через резистор течёт ток. По закону Ома: U = I × R. При токе 1 мкА и сопротивлении 1 МОм — на выходе будет 1 В. Это идеальный диапазон для ADS1115, который работает от 0 до 3,3 В. Максимальный ток фотодиода — около 10 мкА при ярком солнечном свете, значит, выходное напряжение не превысит 10 В, но мы ограничим его резистором и напряжением питания.

ADS1115 считывает это напряжение с точностью до 16 бит — то есть 65 536 уровней. Это значит, что вы сможете различать изменения в яркости света на уровне 0,002% — достаточно, чтобы увидеть пики в спектре лампы накаливания, светодиодов или даже флуоресцентных ламп.

Сборка: шаг за шагом

  1. Подготовьте дифракционную решётку. Снимите с DVD защитный слой (можно аккуратно оттереть наждачкой 800–1000 grit, потом протереть спиртом). Оставьте только прозрачный слой с микроскопическими бороздками. Это ваша призма.
  2. Сделайте щель. Вырежьте из алюминиевой фольги полоску 5 мм шириной. Сделайте в ней щель 0,5–1 мм (можно срезать канцелярским ножом). Приклейте её к краю коробки — это вход для света. Щель должна быть узкой, иначе спектр будет размытым.
  3. Установите DVD. Прикрепите диск под углом 45° к щели. Свет проходит через щель, попадает на DVD, отражается и распадается на спектр. Нужно, чтобы спектр падал на фотодиод.
  4. Поместите фотодиод. Прикрепите его на подвижную ползунковую платформу (можно сделать из деревянной палочки и скотча). Он должен двигаться вдоль спектра — от фиолетового к красному. Это ключевой момент: вы не можете измерить весь спектр сразу. Вы измеряете по точкам.
  5. Соберите электронику. Подключите фотодиод: анод — к земле, катод — к входу A0 ADS1115. Резистор 1 МОм — между A0 и VCC (3,3 В). Подключите ADS1115 к Arduino: SDA — к A4, SCL — к A5. Питание: VCC — 3,3 В, GND — земля.
  6. Закройте корпус. Никакого постороннего света! Коробка должна быть полностью закрыта. Даже щель от кнопки может исказить результат.

Как измерить спектр: программная часть

На Arduino загружаем простой код. Он не требует библиотек — только Wire.h и стандартные функции. Код читает значение с ADS1115, выводит его в Serial, и вы вручную перемещаете фотодиод по спектру. Каждый раз, когда вы фиксируете пик — записываете значение (например, «450 нм — 1287»).

Почему вручную? Потому что моторчик с шаговым приводом — это уже другая задача. Сначала научитесь понимать, что вы видите. Потом — автоматизируете.

Пример кода (для Arduino):

#include <Wire.h>

#define ADS1115_ADDR 0x48

void setup() {
  Wire.begin();
  Serial.begin(9600);
  // Настройка ADS1115: диапазон ±6,144 В, скорость 128 SPS
  Wire.beginTransmission(ADS1115_ADDR);
  Wire.write(0x01); // регистр конфигурации
  Wire.write(0xC3); // 16 бит, 128 SPS, канал 0, однократный режим
  Wire.write(0x83);
  Wire.endTransmission();
}

void loop() {
  Wire.beginTransmission(ADS1115_ADDR);
  Wire.write(0x00); // регистр чтения
  Wire.endTransmission();
  
  Wire.requestFrom(ADS1115_ADDR, 2);
  int16_t value = (Wire.read() << 8) | Wire.read();
  
  Serial.println(value);
  delay(500); // ждём, пока вы переместите фотодиод
}

После сбора данных — переносите их в Excel или Python. По оси X — позиция фотодиода (в мм от начала спектра), по оси Y — значение ADS1115. Потом вы сопоставляете позицию с длиной волны по калибровке.

Калибровка: как привязать пиксели к нанометрам

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

Возьмите люминесцентную лампу — в её спектре есть чёткие пики: ртуть излучает на 404,7 нм (фиолетовый), 435,8 нм (синий), 546,1 нм (зелёный), 577–579 нм (жёлтый). Или используйте лазерную указку — 650 нм (красный), 532 нм (зелёный).

Измерьте напряжение на этих известных длинах волн. Сделайте три-четыре точки. Потом постройте полиномиальную аппроксимацию — например, 2-й степени: λ = a·x² + b·x + c. Где x — позиция фотодиода, λ — длина волны.

Это не идеально, но для домашнего спектрометра — достаточно. Точность ±10–20 нм. Этого хватит, чтобы отличить светодиод с пиком на 450 нм от 470 нм, или понять, что лампа накаливания — это сплошной спектр, а LED — два узких пика.

Что можно измерить — и что не получится

Ваш спектрометр — не научный инструмент. Но он отлично справляется с:

  • Определением типа LED (RGB, белый, ультрафиолетовый)
  • Сравнением спектров ламп накаливания и энергосберегающих
  • Обнаружением флуоресценции (например, отбеливатели в бумаге)
  • Проверкой работы UV-ламп (если фотодиод чувствителен до 365 нм)
  • Наблюдением за спектром солнечного света (днём, через щель)

Но он не подойдёт для:

  • Анализа спектров в УФ-диапазоне ниже 350 нм (фотодиод BPW34 не чувствителен)
  • Измерения интенсивности в абсолютных единицах (в Вт/м²)
  • Разделения тонких линий (например, в спектре водорода)
  • Работы в условиях яркого фонового света

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

Сравнение фотодиодов: что выбрать

Не все фотодиоды одинаковы. Вот что реально работает:

Модель Чувствительность (нм) Пиковая чувствительность Цена (руб.) Подходит для спектрометра?
BPW34 400–1100 ~850 нм 50–80 Да, лучший выбор
SFH 203 FA 400–1100 ~880 нм 70–100 Да, чуть лучше в ИК
TEMT6000 400–700 ~550 нм 120–150 Да, но узкий диапазон
Si1145 (с ИК) 300–1100 ~850 нм 200–300 Не рекомендуется — встроенный ИК-фильтр

BPW34 — ваш лучший выбор. Он дешёвый, доступный, чувствителен в видимом диапазоне и имеет хорошую линейность. TEMT6000 — если вы хотите измерять только свет в диапазоне 400–700 нм (без ИК), но он дороже и менее линеен. SFH 203 FA — если вы планируете эксперименты с ИК-светом (например, пульт ДУ). Si1145 — не берите: в нём есть встроенный ИК-фильтр, который убирает видимый свет.

Частые ошибки — и как их избежать

  • Щель слишком широкая. Спектр размывается. Результат — один широкий холм, а не пики. Решение: щель не шире 1 мм. Лучше 0,5 мм.
  • Посторонний свет. Даже свет от окна искажает результат. Решение: закройте всё, кроме входной щели. Делайте измерения в тёмной комнате.
  • Неправильное подключение фотодиода. Если вы подключили анод к плюсу — ничего не будет работать. Правильно: катод к ADS1115, анод к земле.
  • Нет резистора или он слишком маленький. Если вы поставили 10 кОм — ток будет слишком мал, сигнал нечитаем. Нужен 1 МОм. Можно попробовать 470 кОм — если свет слабый.
  • Слишком высокая скорость опроса. ADS1115 можно настроить на 860 SPS, но если вы двигаете фотодиод вручную — 128 SPS (1 раз в 8 мс) — идеально. Быстрее — не нужно.
  • Калибровка по одному пике. Если вы привязали только красный (650 нм) — весь спектр будет искажён. Нужно минимум три точки: фиолетовый, зелёный, красный.

Что выбрать — в зависимости от вашей задачи

  • Если вы просто хотите увидеть спектр лампы накаливания и LED — берите BPW34, DVD, Arduino Nano, резистор 1 МОм. Собирайте в картонной коробке. Это займёт 3 часа. Результат: вы увидите, что белый LED — это синий диод + желтый флуоресцентный слой.
  • Если вы хотите сравнивать спектры разных источников — сделайте два одинаковых прибора. Измеряйте одинаковые условия: одинаковая яркость, одинаковое расстояние, одинаковый угол. Сравнивайте формы спектров, а не абсолютные значения.
  • Если вы хотите автоматизировать измерения — добавьте шаговый мотор и датчик положения (например, линейный потенциометр). Но это уже второй этап. Сначала научитесь читать спектр вручную.
  • Если вы хотите измерять УФ — вам нужен фотодиод с чувствительностью до 300 нм (например, BPW34 не подойдёт). Ищите S1223-01 или аналоги. Но учтите: УФ-свет опасен. Используйте защитные очки.

Как сделать лучше — практические советы

  • Используйте два DVD: один как решётку, второй — как отражатель. Это увеличит яркость спектра.
  • Сделайте сдвижную рамку для фотодиода — чтобы точно фиксировать позицию. Можно использовать штангенциркуль с закреплённым диодом.
  • Если вы используете ESP32 — подключите OLED-дисплей и выводите спектр в реальном времени. Это впечатляет.
  • Сохраняйте данные в CSV. Потом можно построить график в Python с помощью matplotlib — и увидеть, как меняется спектр с изменением температуры лампы.
  • Сравните спектр солнечного света и лампы. Вы увидите, что солнце — это почти идеальный чёрный тело, а лампа — искажённый.

Итог: что делать дальше

Если вы прочитали до этого места — вы уже понимаете, как работает свет. Вы не просто соберёте прибор. Вы поймёте, почему LED светит белым, почему лампы накаливания «тёплые», и почему флуоресцентные лампы «гнетут» глаза.

Вот ваш план:

  1. Закажите BPW34 и ADS1115 на AliExpress — это 400–600 рублей.
  2. Найдите старый DVD — у кого-то дома точно есть.
  3. Соберите схему за вечер.
  4. Измерьте спектр лампы на кухне.
  5. Сравните с LED-лампой.
  6. Запишите результаты — и поделитесь ими.

Это не научная работа. Это эксперимент. Но именно такие эксперименты делают людей настоящими инженерами — не теми, кто читает про технологии, а теми, кто их делает.

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

radio-blog.ru — электроника и технологии