Домой / Avast / Схема подключения фоторезистора и светодиода. Фоторезистор и светодиоды на Arduino. Внешний вид и обозначение на схеме

Схема подключения фоторезистора и светодиода. Фоторезистор и светодиоды на Arduino. Внешний вид и обозначение на схеме

Пример подключения фоторезистора для управления светодиодом

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

Необходимые компоненты

  • Макетная плата;
  • Резистор на 220 Ом ;
  • Резистор на 10 кОм ;
  • Фоторезистор с номинальным сопротивлением 200кОм ;
  • Один красный светодиод;
  • Провода-перемычки;

Схема

Соедините 9 -ый цифровой вывод Arduino с одним из выводов 220 Ом -ного резистора, другой вывод этого резистора соедините с анодом светодиода(длинная ножка), а катод светодиода с землей(контакт GND на плате Arduino). Контакт 5V платы Arduino соедините с одним из выводов фоторезистора, а другой вывод соедините с 0 -ым аналоговым контактом Arduino и с одним из выводов 10кОм -го резистора, другой вывод резистора соедините с землей(контакт GND на плате Arduino).

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

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

В мониторе порта в первом и во втором случае вы увидите, что не получите весь диапазон значений(от 0 до 1023), потому что сопротивление фоторезистора никогда не будет равно нулю. Но вы сможете определить минимальное(MIN_LIGHT) и максимальное(MAX_LIGHT) значение освещенности(значения зависят от условий освещенности, значения постоянного резистора и характеристик фоторезистора), для построения нашего "ночника".

Код

Загрузите скетч, показанный ниже, в плату Arduino .

    #define RLED 9 //Красный светодиод подключаем к 9-му цифровому контакту с поддержкой ШИМ

  1. int val = 0 ; //Переменная для хранения считываемого значения с датчика

  2. void setup()

    pinMode(RLED, OUTPUT) ; //Устанавливаем 9 вывод как выход

  3. void loop()

    val = analogRead(LIGHT) ; //считываем значение с аналогового входа

    val = map(val, MIN_LIGHT, MAX_LIGHT, 255 , 0 ) ; //преобразуем диапазон считываемых значений

    val = constrain(val, 0 , 255 ) ; //"определяем" области допустимых значений

    analogWrite(RLED, val) ; //управляем светодиодом

  • Примечание: В данном примере используется фоторезистор с номинальным сопротивлением в 200кОм . Если у вас фоторезистор на другой номинал, возможно вам придется изменить минимальное(MIN_LIGHT) и максимальное(MAX_LIGHT) значение освещенности.

Код для корректировки параметров

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

    #define RLED 9 //Красный светодиод подключаем к 9-му цифровым контактом с поддержкой ШИМ

    #define LIGHT 0 //Фоторезистор подключаем к 0-му аналоговому контакту

    #define MIN_LIGHT 200 //Минимальное значение освещенности

    #define MAX_LIGHT 900 //Максимальное значение освещенности

Новые статьи

● Проект 13: Фоторезистор. Обрабатываем освещённость, зажигая или гася светодиоды

В этом эксперименте мы познакомимся с аналоговым датчиком для измерения освещенности - фоторезистором (рис. 13.1).

Необходимые компоненты:

Распространённое использование фоторезистора - измерение освещённости. В темноте его сопротивление довольно велико. Когда на фоторезистор попадает свет, сопротивление падает пропорционально освещенности. Схема подключения фоторезистора к Arduino показана на рис. 13.2. Для измерения освещённости необходимо собрать делитель напряжения, в котором верхнее плечо будет представлено фоторезистором, нижнее - обычным резистором достаточно большого номинала. Будем использовать резистор 10 кОм. Среднее плечо делителя подключаем к аналоговому входу A0 Arduino.

Рис. 13.2. Схема подключения фоторезистора к Arduino

Напишем скетч чтения аналоговых данных и отправки их в последовательный порт. Содержимое скетча показано в листинге 13.1.

Int light; // переменная для хранения данных фоторезистора void setup () { Serial.begin(9600 ); } void loop () { light = analogRead(0 ); Serial.println(light); delay(100 ); }
Порядок подключения:

1. Подключаем фоторезистор по схеме на рис. 13.2.
2. Загружаем в плату Arduino скетч из листинга 13.1.
3. Регулируем рукой освещенность фоторезистора и наблюдаем вывод в последовательный порт изменяющихся значений, запоминаем показания при полной освещенности помещения и при полном перекрывании светового потока.

Теперь создадим индикатор освещенности с помощью светодиодного ряда из 8 светодиодов. Количество горящих светодиодов пропорционально текущей освещенности. Собираем светодиоды по схеме на рис. 13.3, используя ограничительные резисторы номиналом 220 Ом.

Рис. 13.3. Схема подключения фоторезистора и светодиодов к Arduino


Содержимое скетча для отображения текущей освещенности на линейке светодиодов показано в листинге 13.2.

// Контакт подключения светодиодов const int leds={3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 }; const int LIGHT=A0; // Контакт A0 для входа фоторезистора const int MIN_LIGHT=200 ; // Нижний порог освещенности const int MAX_LIGHT=900 ; // верхний порог освещенности // Переменная для хранения данных фоторезистора int val = 0 ; void setup () { // Сконфигурировать контакты светодиодов как выход for (int i=0 ;i<8 ;i++) pinMode(leds[i],OUTPUT); } void loop () { val = analogRead(LIGHT); // Чтение показаний фоторезистора // Применение функции map() val = map (val, MIN_LIGHT, MAX_LIGHT, 8 , 0 ); // ограничиваем, чтобы не превысило границ val = constrain(val, 0 , 8 ); // зажечь кол-во светодиодов, пропорциональное освещенности, // остальные потушить for (int i=1 ;i<9 ;i++) { if (i>=val) // зажечь светодиоды digitalWrite(leds,HIGH); else // потушить светодиоды digitalWrite(leds,LOW); } delay(1000 ); // пауза перед следующим измерением }
Порядок подключения:

1. Подключаем фоторезистор и светодиоды по схеме на рис. 13.3.
2. Загружаем в плату Arduino скетч из листинга 13.2.
3. Регулируем рукой освещенность фоторезистора и по количеству горящих светодиодов определяем текущий уровень освещенности (рис. 13.3).

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

Листинги программ

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

У нас 8 светодиодов, они установлены так, что слева короткая ножка это минус, справа длинная ножка это плюс. Так они все установлены, в схеме использован один резистор на 10 килоом, я его брал из набора Arduino Kit , и используется 8 подключенных к плюсовому контакту светодиода сопротивлений на 220ом, так оно подключено.


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

Фоторезистор здесь, рядом с ним резистор на 10килоом, синяя перемычка идёт к минусу, оранжевый подключается одним концом в среднюю точку, между резистором и фоторезистором, другим концом в плату Arduino , в А0 (аналоговый пин).

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

Создадим новый проект, и приступим к написанию, объявим константы, несколько штук, пусть будет тип int , это будет количество выводов, поскольку светодиодов в схеме 8 штук. Так будет указано, сколько светодиодов использовали в схеме.

const int NbrLEDs = 8;

Сделаем массив с номерами пинов, задействуем 5 6 7 8 9 10 11 12 цифровые разъёмы, укажем номер пина на котором снимается уровень освещённости, объявим переменную для фоторезистора, значение сенсора и также объявим уровень освещённости, чтобы можно было делать разбивку их по пинам.

const int ledPins = { 5, 6, 7, 8, 9, 10, 11, 12}; const int photocellPin = A0; int sensorValue = 0; int ledLevel = 0;

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

void setup() { for (int led = 0; led < NbrLEDs; led++) { pinMode(ledPins, OUTPUT); } }

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

pinMode(5, OUTPUT); pinMode(6, OUTPUT);

В loop получим значение сенсора, считав через analogRead из пина A0 .

Далее, сделаем разбивку значение сенсор, используя функцию map получаем значение сенсора, и исходя из уровня освещенности, при чувствительности от 300 до максимального значения 1023 , будет распределяться по 8 пинам, которая объявлены выше.

Смотрите так же видео Фоторезистор и светодиоды на Arduino - (видео) , ссылка откроется в новой вкладке.

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

Если же нет, запишем в него отсутствие напряжения, и светодиод не будет гореть.

void loop() { sensorValue = analogRead(photocellPin); ledLevel = map(sensorValue, 300, 1023, 0, NbrLEDs); for (int led = 0; led < NbrLEDs; led++) { if (led < ledLevel) { digitalWrite(ledPins, HIGH); } else { digitalWrite(ledPins,LOW); } } }

Выравниваем код через комбинацию клавиш ctrl+T и давайте теперь посмотрим, что получится, запустим на проверку, сохраним скетч.

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


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


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


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

В скетче получается распределение освещенности от 300 до 1023 (максимального значения), попытка изменить начальный порог на 0 - никакого результатов не даёт.

Но если распределяем на 8 частей вот это вот всё значение, то тут пригодится калькулятор, получается, либо сопротивление на 10килоом даёт погрешность какую-то, нужно 1023 разделить на 8, получаем практически 128, если брать правильно, то 1024 разделить на 8, это и есть 128.

Теперь нужно от 1023 вычесть 128, поставить сюда значение 895, тогда по логике вещей должно быть всё нормально. Загрузим и посмотрим, что изменится.

void loop() { sensorValue = analogRead(photocellPin); ledLevel = map(sensorValue, 0, 895, 0, NbrLEDs); for (int led = 0; led < NbrLEDs; led++) { if (led < ledLevel) { digitalWrite(ledPins, HIGH); } else { digitalWrite(ledPins,LOW); } } }

Сейчас горят все светодиоды, попробуем перекрыть освещенность, или давайте отключим…

Стартовое значение всё равно надо вернуть 300, поскольку подается на эти три первых светодиода питания. Давайте изменим в скетче 0 на 300, как было, было это сделано не просто так, перезалью скетч и посмотрим, что изменится на этот раз…

void loop() { sensorValue = analogRead(photocellPin); ledLevel = map(sensorValue, 300, 895, 0, NbrLEDs); for (int led = 0; led < NbrLEDs; led++) { if (led < ledLevel) { digitalWrite(ledPins, HIGH); } else { digitalWrite(ledPins,LOW); } } }

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


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


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


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

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

В зависимости от спектральной чувствительности фоторезисторы делятся на две большие группы: для работы в видимой и инфракрасной части спектра. Электрические схемы включения у них совпадают (Рис. 3.44, а…м). Единственное, что надо предварительно узнать по даташиту, - это максимально допустимое рабочее напряжение. В частности, на фоторезисторы СФ2-5, СФЗ-4А/Б, СФЗ-5 нельзя подавать питание больше, чем 1.3…2 В. Подавляющее же большинство фоторезисторов могут работать при напряжениях 5…50 В. Их темновое сопротивление составляет 1…200 МОм, а в освещенном состоянии - на два-три порядка меньше.

Рис. 3.44. Схемы подключения фоторезисторов к МК {начало)-.

а) резисторы /?У, образуют делитель напряжения. При освещении фоторезистора /?Уего сопротивление уменьшается. Резистор J служит защитой на случай полного замыкания под- строечного резистора и ошибочного перевода линии МКв режим выхода с ВЫСОКИМ уровнем. Если резистор R2 постоянный, то резистор R3 можно заменить перемычкой;

в) подключение фоторезистора /?2к МК с привязкой к общему проводу, а не к цепи питания. При освещении фоторезистора R2 напряжение на входе МК снижается;

Рис. 3.44. Схемы подключения фоторезисторов к МК (продолжение):

г) экономичное «реле Турченкова» на германиевых транзисторах VTI, К72 разной проводимости. Резистором уста на вливают порог срабатывания;

д) фоторезистор RI определяет ток базы транзистора УТ1, поскольку он входит в верхнее плечо делителя RI, R2. Следует установить движок переменного резистора в такое положение, чтобы ток базы транзистора УТ1 не превысил норму при яркой освещённости фоторезистора;

е) в исходном состоянии фоторезистор /?2освещён, транзистор УТ1 закрыт, светодиод НИ погашен. Когда уровень освещённости фоторезистора понизится до определённого порога (регулируется резистором R3), то транзистор открывается, светодиод загорается и на входе МК устанавливается НИЗКИЙ уровень;

ж) регистратор коротких вспышек света или приёмник импульсно-модулированных сигналов. Транзистор VTI находится в режиме отсечки. Конденсатор С/устраняет ложные срабатывания от медленных изменений освещённости фона, например, при смене дня ночью;

з) транзистор VTI повышает чувствительность фотодатчика R2, что позволяет использовать обычную линию порта МК, а не только вход АЦП. Резистор задаёт положение рабочей точки транзистора УТ1\

и) если оба фоторезистора R2, освещены, то на входе МК присутствует НИЗКИЙ уровень (регулируется резистором R1). Если один (любой) из фото рези сто ров будет затемнён, то суммарное «фотосопротивление» резко увеличится и на входе МК появится ВЫСОКИЙ уровень. Фоторезисторы выполняют логическую функцию «световое И»;

Рис. 3.44. Схемы подключения фоторезисторов к МК {окончание):

к) резистором R3 регулируют порог срабатывания ОУ DAI (компаратор напряжений). Сопротивление резистора R2 выбирается примерно таким же, как RI в «неактивном» состоянии. При значительном удалении фоторезистора следует экранировать его соединительные провода;

л) конденсаторы С/, С2 повышают стабильность измерений, устраняют импульсные помехи и создают небольшой гистерезис при резких колебаниях освещённости;

м) внутренний аналоговый компаратор МК используется для оценки уровня освещённости. Используется метод сравнения измеряемого напряжения с «пилой», которую вырабатывает сам МК на отрицательном выводе компаратора (линия входа временно становится выходом).

Фотодиоды в схемах на МК

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

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

Различают два основных режима работы фотодиодов:

Диодный (фотодиодный, фоторезисторный) с обратным смещением;

Генераторный (фотогальванический, фотовольтаический) без смещения.

Диодный режим используется чаще и характеризуется широким диапазоном

изменения обратного сопротивления и хорошим быстродействием. Генераторный режим имеет следующие недостатки: большая эквивалентная ёмкость и высокая инерционность. Достоинство - малый уровень собственных шумов.

Фотодиоды выпускают фирмы: Vishay, OSRAM, Hamamatsu Photonics, «Кварц» и др. Типовые параметры: длина волны 850…950 нм, токовая чувствительность 10…80 мкА, ширина диаграммы направленности 15…65°, время нарастания/спада 2… 100 нс, рабочая температура -55…+ 100°С. Чувствительность фотодиодов снижается с повышением температуры и напряжения. Темновой ток возрастает в 2…2.5 раза на каждые 10°С, из-за чего в схему часто вводят термокомпенсацию.

На Рис. 3.45, а…ж показаны схемы непосредственного подключения фотодиодов к МК. На Рис. 3.46, а…е показаны схемы с усилителями на транзисторах. На Рис. 3.47, а…о - с усилителями на микросхемах.

б) соединение фотодиода BLI с цепью питания. Нажатие переключателя SI имитирует освещенное состояние фотодиода при тестовых проверках;

в) повыщение общей чувствительности за счёт параллельного включения нескольких фотодиодов BLI…Bin. Фотодиоды выполняют логическую функцию «световое ИЛИ»;

г) параллельное включение нескольких фотодиодов с привязкой к общему проводу;

д) последовательное включение фотодиодов по схеме «световое И». Позволяет обнаружить момент затемнения одного из нескольких освещенных фотоприёмников на конвейере;

е) последовательное включение нескольких фотодиодов с привязкой к общему проводу;

ж) мостовая схема включения фотодиода BLI, обладающая повыщенной чувствительностью и гистерезисом {R6). Требуется предварительное симметрирование моста резистором R3.

а) фотодиод BL1 замещает базовый резистор транзисторного усилителя;

б) мигающий светодиод НИ служит … фотоприёмником. В исходном состоянии НИ генерирует электрические (не световые!) импульсы с частотой «мигания» около 2 Гц. При внешнем освещении генерация срывается, что и фиксирует МК через транзистор VTI\

в) ключ на транзисторе VT1 повышает помехоустойчивость и увеличивает крутизну фронтов сигнала от фотодатчика BLL Конденсатор С/ устраняет помехи от колебаний освещённости;

г) оптоизолированный частотный смеситель. На вход МК поступает сигнал с разностной «световой» частотой модуляции «/, -/2» от двух светодиодов HL1 (/j) и HL2{f2). Контур/1 / должен быть настроен на разностную частоту;

д) повышение чувствительности за счёт параллельного включения двух фотодиодов ВИ, BL2. Транзистор VTI находится в отсечке и не реагирует на медленный дрейф освещённости;

е) вместо ОУ DAI можно использовать аналоговый компаратор МК. Скорость приёма «лазерного» фотодиода - до 5 Мбит/с по оптоволоконному кабелю длиной Юм… 1 км.

а) использование прецизионного усилителя DA1 (фирма Analog Devices) для обеспечения долговременной стабильности сигналов от фотодатчика BLI\

б) нестандартное включение ИК-светодиода НИ в качестве фотоприёмника инфракрасного диапазона длин волн. Резистором регулируется усиление каскада на ОУ DAI\

в) усилитель-формирователь на «телевизионной» микросхеме DA1. Резистором регулируется чувствительность фотодатчика BLI\

г) двухполярное питание ОУ DA /. Конденсатор CI устраняет «звон» на фронтах сигнала, возникающий при резкой смене освещённости. Это стандартный приём и для других схем;

д) для уменьщения внещних помехтрансимпедансный усилитель DA 1.2(это преобразователь «ток-напряжение») охвачен обратной связью через интегратор DAI.3. Питание на ОУ подаётся от выходной линии МК. Опорное напряжение 0.5 В формирует повторитель DAL /;

Рис. 3.47. Схемы подключения фотодиодов к М К через усилители на микросхемах

{продолжение):

е) фотодиоды ВЦ, 5L2 должны освещаться поочерёдно, иначе их суммарное сопротивление может получиться столь низким, что сработает перегрузка по току источника питания;

ж) конденсатор С2 устраняет «звон» при большой собственной ёмкости фотодиода ВИ\

з) измеритель цвета на фотодиоде BL1 (фирма Advances Photonics), который имеет «колоко- лообразную» чувствительность в диапазоне 150…400 нм. Перемычкой ^S/задаётся усиление;

и) стабильные параметры фотоприёма в инфракрасном диапазоне обеспечиваются прецизионной микросхемой Z)/1/ (фирма Analog Devices), фильтром С4, R4…R6 и стабилитроном VDI.

к) связка «усилитель-детектор-формирователь» на ОУ DAI с регулировкой порога {R6)\О

Рис. 3.47. Схемы подключения фотодиодов к МК через усилители на микросхемах

(окончание):

л) компаратор на микросхеме DA1 обеспечивает высокую чувствительность и помехоустойчивость. Резистором J регулируется «световой» порог под конкретный тип фотодиода BL1\

м) резистором регулируется чувствительность и выставляется рабочая точка логического элемента DDI (желательно с характеристикой триггера Шмитта, например, К561ТЛ2);

н) BL1 - трёхцветный RGB-сенсор (фирма Laser Components), DAI - четырёхканальный трансимпедансный усилитель (фирма Promis Electro Optics). Один из четырёх аналоговых каналов усилителя не используется. Сигналы с выходов М К задают режимы работы и усиление DA1\ о) высокочувствительный регистратор фото- или радиационного излучения на специализированном pin-фотодиоде ВИ (подобные изготавливаются фирмой Hamamatsu Photonics). Элемент DA 1.1 выполняет функцию трансимпедансного, а DA1.2 - обычного усилителя сигналов.

Фототранзисторы в схемах на МК

Фототранзистор - это фоточувствительный полупроводниковый прибор, по структуре подобный биполярному или полевому транзистору. Разница заключается в том, что в его корпусе предусмотрено прозрачное окно, через которое световой поток попадает на кристалл. В отсутствии внешнего освещения, транзистор закрыт, ток коллектора ничтожно мал. При попадании лучей света на/?-А7-переход базы, транзистор открывается и резко возрастает его коллекторный ток.

Фототранзисторы, в отличие от фоторезисторов, обладают высоким быстродействием, а в отличие от фотодиодов - усилительными свойствами (Табл. ЗЛО).

Фототранзистор, в первом приближении, можно представить в виде эквивалентного фотодиода, включённого параллельно коллекторному переходу обычного транзистора. Коэффициент усиления фототока прямо пропорционален /7213. следовательно, во столько же раз чувствительность фототранзистора выше, чем у фотодиода.

Главным параметром, за которым надо следить при разработке схем на фототранзисторах, является коллекторный ток. Чтобы не превысить его норму, надо ставить в коллекторе/эмиттере достаточно большие сопротивления.

Фототранзисторы выпускают фирмы: Vishay, Kingbright, Avago Technologies и др. Типовые параметры: длина волны 550…570 или 830…930 нм, ток коллектора в освещенном состоянии 0.5… 10 мА, угол половинной чувствительности 15…60°, время нарастания/спада 2…6 мкс, рабочая температура -55…+ 100°С, проводимость п-р-п.

Существуют двух- и трёхвыводные фототранзисторы. Различаются они между собой в первую очередь отсутствием/наличием отвода от базы.

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

Двухвыводные фототранзисторы и малогабаритные фотодиоды визуально похожи как «близнецы-братья». Выяснить, «что есть что», помогает прозвонка выводов омметром. Испытательное напряжение на его зажимах должно быть не менее 0.7 В. Если сопротивление в одном направлении значительно больше, чем в другом, значит это фотодиод. Если большое сопротивление прозванивается в двух направлениях, значит это фототранзистор (или вышедший из строя фотодиод).

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

На Рис. 3.48, а…е показаны схемы непосредственного подключения фототранзисторов к МК. На Рис. 3.49, а…з показаны схемы с транзисторными усилителями, на Рис. 3.50, а…г - с усилителями на микросхемах.

Рис. 3.48. Схемы непосредственного подключения фототранзисторов к МК:

а) фототранзистор 5L/ включается по схеме усилителя с общим эмиттером. Допускается его работа в режиме микротоков коллектора (большое сопротивление резистора RI), но при этом ухудшается температурная стабильность. Вместо входа АЦП МК часто используют обычную цифровую линию порта с пороговой фиксацией состояния «есть свет»/«нет света»;

б) параллельное включение фототранзисторов BL1, 5L2 увеличивает световую чувствительность. Фототранзисторы выполняют логическую функцию «ИЛИ» для сигналов от разных источников света. Конденсатор С/ снижает импульсные помехи. Запараллеленных фототранзисторов может быть больше, чем два;

в) фотоприёмник импульсных и модулированных световых сигналов. На медленные изменения освешённости устройство не реагирует из-за разделительного конденсатора С/. Вместо резистора можно использовать внутренний «pull-up» резистор МК;

г) фототранзистор BLI включается по схеме эмиттерного повторителя. Конденсатор С/ снижает импульсные «световые» помехи и мошные электрические наводки, которые могут «просачиваться» на вход МК, когда фототранзистор находится в закрытом состоянии;

д) втрёхвыводном фототранзисторе BLI отвод базы используется для организации обратной связи через транзистор VTI. Фильтр RI, С1 блокирует сигналы светового потока с частотой модуляцией ниже 100 Гц (для устранения срабатывания датчика от «мерцания» ламп накаливания);

е) конденсатор С/ и транзистор VT1 организуют «световой ФВЧ» для подавления сигналов светового потока с частотой модуляции ниже 80 Гц. Это препятствует прохождению на вход МК помех, вызванных «мерцанием» ламп накаливания сети 50 Гц.

а) входной узел «светового пистолета» от игровой видеоприставки «Dendy». Фототранзистор BL1 направляется на экран телевизора. Резистором /?2 регулируют дальность приёма;

б) полевой транзистор VTI осуществляет согласование сопротивлений RI и R2\

в) двухкаскадный усилитель на транзисторах разной проводимости КГ/, КТ’2 обеспечивает повышенную чувствительность фотодатчика ВИ\

г) улучшенный вариант фотодатчика для «светового пистолета» с авто подстрой кой под разную яркость фона. Элементы VTI, R1, R2, образуют динамический стабилизатор тока;

д) резистором R2 побирается такое положение, чтобы транзистор VTI был открыт при отсутствии освещения фототранзистора BLL Конденсатор С1 фильтрует помехи;

е) триггер Шмитта на полевых транзисторах VTI, КТ’2 определяет порог срабатывания фотодатчика BL1. Конденсатор С1 устраняет импульсные «световые» помехи;

ж) диоды VD1, повышают помехоустойчивость усилителя на транзисторе VTI\0

з) трёхкаскадный усилитель на транзисторах КГ/… с визуальной индикацией приёма посылок от инфракрасного датчика ^L/ светодиодом HL1.

Рис. 3.50. Схемы подключения фототранзисторов к МК через усилители на микросхемах:

а) фототранзисторный датчик BLI с интегральным компаратором DAI wc широким диапазоном регулирования параметров при помощи двух переменных резисторов R2, R3\

б) триггер Шмитта на логической микросхеме DZ)/улучшает помехоустойчивость и увеличивает крутизну фронтов сигналов, поступающих от фоготранзистора ВИ\

в) фототранзистор ^L/для повышения точности срабатывания подключается к внешнему интегральному компаратору DA1. Конденсатор С/ увеличивает крутизну фронтов сигналов;

г) полосовой фильтр на микросхеме тонального декодера DA / (фирма National Semiconductor) обрабатывает им пул ьсно-модулированные световые сигналы, принимаемые фототранзистором BLI. Центральная частота фильтра определяется по формуле /^„[кГц] = 1 / (/?2[кОм]-С4[мкФ]). Полоса пропускания фильтра обратно пропорциональна ёмкости конденсатора С2. Резистором /?/устанавливается оптимальный уровень входного сигнала для DAI в диапазоне 100…200 мВ.

Датчик света — это прибор, который позволяет нашему устройству оценивать уровень освещенности. Для чего нужен такой датчик? Например, для системы уличного освещения, чтобы включать лампы только тогда, когда на город спускается ночь. Еще одно применение датчиков света — это детектирование препятствия роботом, путешествующем по лабиринту. Либо детектирование линии роботом следопытом (LineFollower). Но в этих двух случаях, в паре с датчиком света используют специальный источник света. Мы же начнем с простого примера, и подключим к микроконтроллеру Ардуино Уно один из самых распространенных датчиков — фоторезистор. Как долнжо быть понятно из названия, фоторезистор — это резистор, который меняет свое сопротивление в зависимости от падающего на него света. Выглядит этот радиоэлемент так: Различаются фоторезисторы по диапазону сопротивления. Например:

  • VT83N1 — 12-100кОм;
  • VT93N2 — 48-500кОм.
Это значит, что в темноте сопротивления фоторезистора равно 12кОм, а при определенной тестовой засветке — 100кОм. Конкретно в случае этих светодиодов, тестовая засветка имела параметры: освещенность -10 Люкс, и цветовая теплота — 2856К. Кроме фоторезистора, в датчиках света часто используют фотодиод и фототранзистор. Оба выглядят как типичные светодиоды:

1. Подключение

Для того, чтобы подключить наш фоторезистор к Ардуино Уно, необходимо будет вспомнить . Ведь на выходе цепи фоторезистора мы получим некое напряжение, в диапазоне от 0 до 5 Вольт, которое нам потребуется превратить во вполне себе конкретное число, с которым уже будет работать программа микроконтроллера. Держа в уме, что в Ардуино Уно есть 6 аналоговых входов на ногах A0-A5, подключаем фоторезистор по следующей схеме:

Внешний вид макета


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

2. Программа

Подключив фоторезистор по нехитрой схеме, начинаем писать программу. Первое что мы сделаем, это выведем необработанный сигнал с аналогового входа в последовательный порт, для того чтобы просто понять, как меняется значение на входе A0. Соответствующая программа имеет вид: const int pinPhoto = A0; int raw = 0; void setup() { Serial.begin(9600); pinMode(pinPhoto, INPUT); } void loop() { raw = analogRead(pinPhoto); Serial.println(raw); delay(200); } Запустив эту программу у нас в хакспейсе, мы получили следующие значения с датчика:
А теперь прикроем датчик рукой:
Видно, что значение сильно меняется. От 830 при прямом попадании света, до 500 в случае затенения (появление преграды на пути света). Зная такое поведение, мы можем численно определить порог срабатывания. Пусть он будет равен, скажем, 600. Не ровно 500, потому что мы хотим обезопасить себя от случайного срабатывания. Вдруг над датчиком пролетит муха — он слегка затенится, и покажет 530. Наконец, добавим в программу некое действие, которое будет совершаться если уровень освещенности станет ниже заданного порога. Самое простое, что мы можем сделать — это зажигать на Ардуино штатный светодиод #13. Получается такая вот программа: const int pinPhoto = A0; const int led = 13; int raw = 0; void setup() { pinMode(pinPhoto, INPUT); pinMode(led, OUTPUT); } void loop() { raw = analogRead(pinPhoto); if(raw < 600) digitalWrite(led, HIGH); else digitalWrite(led, LOW); delay(200); } Накрываем датчик рукой (или выключаем свет в комнате) — светодиод зажигается. Убираем руку — гаснет. Работает, однако. А теперь представьте, что вы зажигаете не светодиод, а подаете сигнал на реле, которое включает лампу в подъезде вашего дома. Получаеся готовый прибор для экономии электроэнергии. Или ставите такой датчик на робота, и он при наступлении ночи ложится спать вместе с вами 🙂 В общем, как говорил профессор Фарнсворт, у датчика света тысяча и одно применение!