В настоящее время я пытаюсь работать с фотодиодом (SFH 203), который должен обнаруживать очень небольшое количество света. Используя цифровой Arduino, фотодиод не может перевести контакт в 1 из-за низкого уровня освещенности. Если я измеряю свет аналоговой булавкой, я получаю значение около 25-30.
Есть ли способ привести цифровое значение к повороту 1, используя небольшое количество света?
Насколько я знаю, фотодиоды работают "наоборот". То есть они создают ток от катода к аноду , так что в вашей схеме скорее всего наоборот. Таким образом, не происходит обнаружения света, я думаю, ток будет течь через цепь все время.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Вышеприведенная схема — это моя попытка минимизировать то, что требуется для оцифровки вывода PD. Он основан на коэффициенте усиления по току примерно 100 (бета) транзистор. должно быть достаточно, чтобы вызвать течет через переход коллектор-эмиттер. это просто подтяжка, которая говорит, что в темных условиях выход будет ВЫСОКИЙ. затем тянет его низко, когда освещается достаточно.
Для точной настройки порога чувствительности можно попробовать отрегулировать (или, возможно, заменить его потенциометром.)
Не стесняйтесь указывать на любые ошибки, которые я сделал.
В техническом описании указана чувствительность фотодиода 9,5 мкА на 1000 люкс.
Теперь я не знаю, что для вас считается «низким освещением», но давайте попробуем 10 люкс как разумный уровень переключения — в этот момент фотодиод будет производить 95 нА. Не очень... как по сравнению с темным током? хорошо, что указано как <10 нА, поэтому 95 нА явно выше темнового тока.
Итак, мы хотим установить вход Arduino на 1 (т.е.> 2,5 В) с током 95 нА. На данный момент пренебрегая светодиодом (он все равно не загорится), вы можете просто заменить R1 на R = 2,5/95e-9 = 27 МОм или около того.
Если ток утечки на входе Arduino намного больше 10 нА, это не будет точным, а если он больше 100 нА, он может вообще не работать, или уровень переключения может сильно отличаться от 10 люкс, но вы этого не сделали. разместил соответствующий лист данных, поэтому я не могу это проверить.
(и, как указывает Джон Д., правильно подключите фотодиод!)
SFH203, судя по техническому описанию , имеет λS max
диапазон чувствительности от 850 до 900 нм, что является ближним инфракрасным диапазоном. Он менее чувствителен (до 10% от макс.) на частотах видимого света. Прилагается таблица чувствительности. Поэтому, если вы используете синий светодиод для освещения, это может объяснить всю потерю чувствительности. Используйте светодиод ближнего ИК-диапазона с длиной волны 875 нм, и он будет намного более чувствительным.
Или, если вы уже используете 875-нм светодиод, и он все еще недостаточно чувствителен, вам придется использовать операционный усилитель, такой как один из этих , чтобы увеличить коэффициент усиления.
В вашей схеме резистор 10 кОм ограничит ток в (обычном) светодиоде до значения, настолько малого, что он, вероятно, даже не будет излучать свет. Кроме того, фотодиоды генерируют крошечный обратный ток при излучении света, а не прямую проводимость. Взгляните на этот пост , чтобы узнать о другом способе реализации фотодиода.
Как указано в техническом описании, SFH 203 может выдавать только около 10 микроампер тока.
Только ваш светодиод будет потреблять больше тока, чем это.
Вход Arduino должен быть доволен 10 мкА. Снимите светодиод и R1.
Если это все еще не работает, вам может потребоваться буферизация фотодиода транзистором для увеличения тока.
Дзарда
сати
сати
Джон Д