Фотодатчик. Часть 1

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

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

Фототранзистор
Последнее время я на них натыкаюсь постоянно, неиссякаемый источник фототранзисторов — пятидюймовые дисководы. Последний раз я, по цене грязи, надыбал на радио барахолке штук 5 платок от дисковертов, там светотранзисторы стоят напротив дырок контроля записи и вращения дискеты. Еще сдвоенный фототранзистор (а может и фотодиод, как повезет) стоит в обычной шариковой мышке.
Выглядит как обычный светодиод, только корпус прозрачный. Впрочем, светодиоды тоже такие же бывают так что перепутать кто из них кто раз плюнуть. Но это не беда, партизан легко вычисляется обычным мультиметром. Достаточно включить омметр между его эмитером и коллектором (базы у него нет) и посветить на него, как его сопротивление рухнет просто катастрофически — с десятков килоом до считанных ом. Тот который у меня в детекторе вращения шестерен в роботе меняет свое сопротивление с 100кОм до 30 Ом. Работает фототранзистор подобно обычному — держит ток, но в качестве управляющего воздействия тут не ток базы, а световой поток.

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

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

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

Подключение
Теперь пора показать как это подключить к микроконтроллеру. С фоторезистором все понятно, тут заморочек нет никаких — берешь и подцепляешь как по схеме.
С фотодиодом и фототранзистором сложней. Надо определить где у него анод/катод или эмитер/коллектор. Делается это просто. Берешь мультиметр, ставишь его в режим прозвонки диодов и цепляешься на свой датчик. Мультиметр в этом режиме показывает падение напряжения на диоде/транзисторе, а падение напряжения тут в основном зависит от его сопротивления U=I*R. Берешь и засвечиваешь датчик, следя за показаниями. Если число резко уменьшилось, значит ты угадал и красный провод у тебя на катоде/коллекторе, а черный на аноде/эмитторе. Если не изменилось, поменяй выводы местами. Если не помогло, то либо детектор дохлый, либо ты пытаешься добиться реакции от светодиода (кстати, светодиоды тоже могут служить детекторами света, но там не все так просто. Впрочем, когда будет время я покажу вам это технологическое извращение).

Теперь о работе схемы, тут все элементарно. В затемненном состоянии фотодиод не пропускает ток в обратном направлении, фототранзистор тоже закрыт, а у фоторезистора сопротивление весьма высоко. Сопротивление входа близко к бесконечности, а значит на входе будет полное напряжение питания aka логическая единица. Стоит теперь засветить диод/транзистор/резистор как сопротивление резко падает, а вывод оказывается посажен наглухо на землю, ну или весьма близко к земле. Во всяком случае сопротивление будет куда ниже 10кОмного резистора, а значит напряжение резко пропадет и будет где то на уровне логического нуля. В AVR и PIC можно даже резистор не ставить, вполне хватит внутренней подтяжки. Так что DDRx=0 PORTx=1 и будет вам счастье. Ну а обратывать это как обычную кнопку. Единственная сложность может возникнуть с фоторезистором — у него не настолько резко падает сопротивление, поэтому до нуля может и не дотянуть. Но тут можно поиграть величиной подтягивающего резистора и сделать так, чтобы изменения сопротивления хватало на переход через логический уровень.

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

Есть еще продвинутый тип фотодатчиков — TSOP там встроенный детектор частоты и усилитель, но о нем я напишу чуть попозже.

Фотодатчик. Часть 2. Модуляция

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

43 thoughts on “Фотодатчик. Часть 1”

  1. Как раз собираюсь уличное освещение автоматизировать, а то надоело выключателем клацать!

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

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

    1. Просто так подрубленный еще как будет. У меня с десяток фотодиодов самых разных уже по такой схеме работают. А само такое подключение знаю еще с детства из журнала не то ЮТ, не то Моделист конструктор.

      1. у меня на работе фотодиоды стоят в наших космических датчиках в паре со сд.
        сколько возни приходилось осуществить, чтобы этот источник тока правильно усилить безкорпусными операционниками )

  4. Так как всетаки правильно мерять именно уровень освещенности диодом или транзистором (и желательно чтобы зависимость с освещенностью была линейной)?

    1. Фотодиоды и фототранзисторы обычно используют просто как пороговые датчики (свет есть — нет), поэтому линейность и чувствительность их невелики, и спектр узкополосный, обычно с подьемом в ИК зоне (для кремния).
      Для ИЗМЕРЕНИЯ освещенности идеален (из простых) преобразователь напряжение — частота TSL230R.
      Прозрачный DIP8, без внешних компонентов, выходная частота от долей герца до 1 МГц, зависимость от освещения — линейная, перекрытие 6 порядков, чувствительность можно менять ступенчато — делители 1,10,100. Спектральная чувствительность близка к глазу. Есть встроенный делитель выходной частоты в 2, 10, 100 раз. Чувствительность и делитель управляются подачей «0» и «1» на 4 вывода. Питание 2,7-5,5v. Потребление 2ма, есть вывод перевода в спящий режим (5 мка).
      Стоит у нас 40-50 центов. (0,5$).
      High-Resolution Conversion of Light Intensity to Frequency With No External
      Components
      Programmable Sensitivity and Full-Scale Output Frequency
      Communicates Directly With a Microcontroller
      Single-Supply Operation Down to 2.7 V, With Power-Down Feature
      Absolute Output Frequency Tolerance of ±5% (TSL230BR)
      Nonlinearity Error Typically 0.2% at 100 kHz
      Stable 150 ppm/°C Temperature Coefficient
      Цепляешь к нему простенький частотомер и получаешь удобный измеритель. Или, контролируя период, управляешь источниками света, например, стабилизируешь освещение рабочего места независимо от времени суток, года и погоды.

      1. В ебуржкой Промэлектронике есть только TSL250R, но это просто фотодиод с усилителем и зависимость там логарифмическая. Вообще мне не надо проводить точные измерения. Просто возникла идея сделать несколько более умного BEAM-робота, чтобы его глАзки реагировали не просто на присутсвие-отсутвие света, а в зависимости от уровня освещенности по разному управляли двигателями, ну или чтобы различали модулированные сигналы, чтоб от помех защититься.

        1. Ну, если только на качественном уровне (светло-темно, больше — меньше), то и фототранзистор пойдет. Или если отслеживать только пороговые значения, чтобы включать — выключать освещение. А если мерять, — тогда уже лучше что-нибудь посерьезнее.
          В Промэлектронике наверное перепутали, как часто бывает. У меня есть еще TSL201R — тоже прозрачный DIP8, только с линейкой из 64фотоячеек с последовательным считыванием. Тоже интересные штучки. А вообще у этой фирмы TAOS много всякой оптоэлектроники. Вот можно глянуть:
          http://www.taosinc.com/productdetail.aspx?product=32
          http://www.taosinc.com/productdetail.aspx?product=14
          Есть и COLOR SENSORS — меряют отдельно интенсивность по каналам Blue, Green, Red, Clear. http://www.taosinc.com/productfamily.aspx?sel=ltf

          1. Сейчас глянул TSL250R — действительно, фотодиод со встроенным операционником. Чувствительный, стабильный, а, главное — быстрый! Фронт максимум 100nS! И зона чувствительности — в видимом спектре. Так что тоже хорош. Три ноги, с линзой. Попадется — тоже прикуплю.

  5. Светодиод забыл указать. Инфракрасные светодиоды работают в обе стороны, правда чувствительность мала.
    А чем померить линейно? Ооо, это вопрос сложный. Вся фото индустрия бьётся, чтобы обеспечить линейность. Надо смотреть, что продаётся из фотоприёмников, качать даташиты, и смотреть, в каком диапазоне освещённости у них линейные участки характеристики. Но в любом случае, при малой освещённости будет резкий загиб, при большой — насыщение. Или интересует «более-менее линейно, чтобы не скачком»? У меня сдвоенные фототранзисторы давали боле-мене линейный сигнал, для нужд регулировки яркости хватало.

    1. + Еще офигенная зависимость обратного тока и чувствительности фотодиодов от температуры и длины волны (У фототранзисторов еще умноженная в B раз). И огромный разброс параметров даже в одной партии… В общем, простые решения просты только на первый взгляд, потом начинают обрастать проблемами, как снежный ком. Особенно, если мерять не относительные приращения, а абсолютные значения параметра.

  6. А я сам делал фототранизисторы! Нужно взять какойнить в металическом корпусе. и спилить крышечку! для этих целей обычно применял МП40 =)

    1. Было дело… А из мощных кремниевых с крупными кристаллами, например, КТ803, (даже дохлых), лепили солнечные батареи…

    2. бгг, да, у меня дома где-то валяется огромная пачка журналов МОделист-Конструктор, которые по ходу старше меня, там где-то было на эту тему немало написано.
      Хм, а как можно извернутся и сделать приемник ИК приемник на базе ИК транзисторов? Вобще, банальный UART в одну сторону, скорость совсем не критична, чтобы тупо команды в пару байт слать? Просто, не будет ли эта стерлядь ловить засветку от всего остального?

      1. А это уж как реализуешь… По идее, нужна АРУ, устранение постоянной составляющей, можно также фильтровать по частоте, модулировать несущую… Чем надежнее, тем сложнее. Многое из этого реализовано в TSOP, но просто так через него RS232 не пропустишь — у него свои протоколы и ограничения…

        1. у меня валяюцца несколько ИК трансмиттеров от мобил, но насколько я знаю, там очень тухло с расстоянием :\ Хотелось бы пару метров просто, и вполне хватило бы односторонней передачи, хотя бы как пульты от техники — ими вобще можно через всю квартиру рулить О_о

      1. И я! Думал, там тоненькая крышечка, пару раз напильником шваркну и всё… А оказалось — там чуть ли не миллиметр великолепной красной меди! Совеццкое — значит отличное! :)

        1. Ну да ,корпус там был заебатый. Транзистор правда кал. Но что было. Кстати, там разве медь была? Больше было на какую то жесть похоже.

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

  7. Классно мне как раз нужна инфа по этой теме. Уже хочется продолжения, а то TSOP — 1736 лежит нужно на нем девайс сделать.

  8. > У меня тут некоторые запарки, поэтому сайт будет сильно тупить с обновлением, думаю это до конца месяца

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

      1. ну меня впишите :)

        а список тем для раскрытия имеется ?
        или на своё усмотрение ?

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

        1. Список тем некритичен, есть желание поделиться мыслью — пиши чо хошь.

          Скинь мне на пробу пост другой на мыло dihalt@dihalt.ru Я погляжу, сверстаю и выложу от твоего имени. А потом, если нормально все будет, то дам постоянный свободный доступ.

        2. Пишите побольше статей для новичков — как работают радиодетали, как читать схемы и тп.

  9. Спасибо, как всегда — без лишних рассуждений, коротко и по делу :-) Вы пробудили во мне страсть к электронике, спасибо. С нетерпением жду апдейтов!

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

      1. Да,а импульсы на соленоид идут от оптопары на валу каретки через диск с отверстиями,чтобы количество точек (ударов) по Х и Y было одинаковым.

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

  12. Подскажите, что лучше применить и если можно схему ( код ) для вкл/откл подсветки ЖКИ. Всего то нужно включать подсветку в темноте.

  13. Немного не понял вашей предубежденности к фоторезисторам. ИМХО, они достаточно удобны когда нужно определить именно количество света, а не только факт его наличия. Сейчас подруку попались GL5516. по паспорту у них сопротивление в темноте 500 кОм, а на свету (10лк) 5-10 кОм. На практике в темном углу сопротивление было 200 кОм, от прямых солнечных лучей упало до 70 Ом, так что диапазон не хуже чем у фототранзисторов. Цена на eBay и у них тоже почти одинаковая.

    А вот для оптического тахометра не уверен что они подойдут.

  14. Уважаемые, подскажите пожалуйста, если использовать схему ИК светодиод(как источник излучения) + ИК фототранзистор(по третьей схеме подлючения, и подкинуть прямо на АЦП МК) — на какое расстояние будет работать схема, т.е. уверенно можно будет отследить горит/не горит светодиод? (планируемое расстояние от 1 до 2х метров).

    1. Такая пара используется в телевизионном пульте, так что и 5 метров будет стабильно.
      Но встает другая проблема — паразитная засветка от других источников

      1. в пульте и телевизоре используется TSOP из второй части статьи (он с усилком и фильтром от засветки). я же хочу опробовать самый простой вариант.

  15. Здравствуйте, подскажите пожалуйста, как подбирать резистор для подключения фототранзистора с микроконтроллером? Я брал переменный резистор и получилось далеко за 10кОм. где-то 70кОм. Есть ли какая-нибудь чудо формула или другой способ?

    1. Да экспериментально, чтобы срабатывало четко. Ну или по характеристикам курить и подбирать его как делитель.

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha