Фотодиод почти без мВ на аналоговом порту

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

Я понял, что когда я не заземляю фотодиод, я получаю много мВ в диапазоне от 2600 мВ до 5400 мВ при измерении мультиметром. уничтожит Arduino.

Затем я попытался заземлить свой анод выходом непосредственно перед резистором следующим образом:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

К сожалению, теперь я почти ничего не получаю с резистором 10 кОм. даже с 40 кОм на выходе нечем похвастаться - я бы по крайней мере ожидал чего-то в диапазоне 1000 мВ, но я едва получаю 200 мВ.

Что здесь происходит? Я делаю что-то не так?

Ответы (4)

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

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

Учитывайте также максимальный уровень освещенности, который вы ожидаете. Это установит максимальное значение резистора измерения тока ... когда напряжение на резисторе приближается к + 5 В, напряжение диода уменьшается - ваше обнаруженное напряжение больше не пропорционально интенсивности света.

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

схематический

смоделируйте эту схему — схема, созданная с помощью CircuitLab
. В этой схеме высокая чувствительность достигается за счет программирования контакта ввода-вывода с высоким импедансом, так что R2 (100 кОм) не подключен. R1 (10 МОм) — активный токоизмерительный резистор. Однако ток утечки вывода ввода-вывода R2 все еще влияет на точность.
Чтобы уменьшить чувствительность в условиях яркого освещения, вывод ввода-вывода устанавливается на активный логический низкий уровень. Теперь у вас есть 10Meg параллельно с 100K в качестве токоизмерительного резистора.

Спасибо за ваш ответ! Когда вы говорите, что вывод I/O должен быть высокоимпедансным, означает ли это, что я устанавливаю высокий уровень выхода данного цифрового порта?
@JeppeChristensen Нет, вы можете установить этот цифровой контакт на «вход» - это должно сделать его высоким Z, отключив R2. Когда вы хотите задействовать R2, вы должны изменить его на «выход» и установить низкий уровень (логический ноль).
Ой! Это тоже называется плавающей булавкой?
@JeppeChristensen Этот цифровой входной контакт увидит напряжение на резисторе 10Meg. Делать это на самом деле не кошерно... когда цифровое входное напряжение поднимается на половину Vcc (около 2,4 В), буфер PMOS + NMOS внутри может потреблять изрядное количество «сквозного» тока от Vdd к Vss. . Этот ток не протекает через R2 — вам нужно беспокоиться только о токе утечки , который обычно невелик при комнатной температуре. Сквозной ток будет проблемой только в том случае, если ваш источник питания представляет собой небольшую батарею. Тем не менее, да: контакт цифрового входа можно считать «плавающим» (с высоким Z).
Я читаю ваш комментарий снова и снова, и мне кажется, что я понимаю, чего вы добиваетесь. Моя логика новичка, однако, подсказывает мне, что, когда мы хотим повысить точность показаний (высокая чувствительность), мы хотели бы понизить вывод ввода-вывода, а это означает, что он работает как подтягивающий резистор, чтобы поймать потенциальный ток утечки? Когда вы говорите, что R2 не подключен, что именно вы имеете в виду?
«Не подключен» означает, что через него не протекает ток на плавающий цифровой входной контакт. Оба конца R2 будут находиться под одним и тем же напряжением: таким же, как и верхний конец R1. Весь фототок диода протекает через резистор R1 на землю (Vss), а через резистор R2 ничего не течет. Это даст вам высокую чувствительность. Если вам нужна низкая чувствительность, R2 должен стать подтягивающим резистором, переключив его вывод ввода-вывода с «входа» на «выход» и установив для этого выхода низкий логический уровень. Теперь 99,9% фототока протекает через R2 к Vss. Анод фотодиода воспринимает резистивную нагрузку 99,01К вместо 10Мэг.

У вас есть таблица данных, которая ссылается на две разные версии с разными ответами, тем не менее расчеты обратного конверта...

Ваш фотодиод (данные ссылаются на два) имеет типичный Isc 6,3 мкА или 13 мкА при 100 люкс. 6,3 мкА * 40 К = 252 мВ, 13 мкА * 40 К = 520 мВ.
Так что ничего особенного в этом нет...

При этом не учитывается спектр вашего источника света, который изменит эти значения (см. кривую спектральной характеристики).

Если вам нужны более высокие напряжения, вам понадобится некоторое усиление (много информации о «фотодиодном усилителе»), чтобы начать работу.

Спасибо за ваш ответ. В вашем расчете вы положили 40К, что это такое? - У меня есть несколько операционных усилителей, которые я попробую протестировать, надеюсь, у меня что-то получится.
Ваш резистор 40 кОм.
О, мой плохой. :-) Вместо того, чтобы идти по пути операционного усилителя, не мог бы я тогда просто поставить резистор на 100 МОм?
Только если ваш аналоговый порт имеет входное сопротивление намного больше 100 МОм. Чего нет. Входное сопротивление появляется параллельно с резистором датчика (10 кОм или 40 кОм). Это, вероятно, около 1 МОм или около того, поэтому оно не влияет на показания с резистором 40 кОм, но будет ограничивающим фактором для очень больших сопротивлений.
Точное чтение источника с 100M Ом выходное сопротивление проникает в довольно сложную электронику. Вы, конечно, не сможете просто подключить его к выводу Arduino и заставить его работать. Найдите подходящую схему фотодиодного усилителя, используйте ее.
Итак, вы бы сказали, придерживаться 5 кОм и усиливать сигнал с помощью операционного усилителя? - у меня есть LM158, который я думаю использовать: ti.com/lit/ds/symlink/lm158-n.pdf

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

Например, предположим, что вы собираетесь проводить измерения в диапазоне 1–10 000 люкс ( диапазоны/сценарии см. здесь ). При максимальном уровне люкс вы ожидаете, что S1223 пропустит около 6,3 мА при полной шкале. Вы хотите, чтобы эта полная шкала была либо 5 В, либо 3,3 В, в зависимости от используемого вами Arduino. Вы должны быть в состоянии отрегулировать настройку полной шкалы (калибровку), но ограничены разрешением аналого-цифрового преобразователя для нижнего конца шкалы (около 6 мкА/младший бит). Здесь вы также сталкиваетесь с токами утечки для аналогово-цифрового входа, которые могут доминировать в показаниях на очень низком уровне.

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

Предполагая, что вы управляете Arduino с помощью Vin, а не с уровня MCU VCC, вы можете сделать следующее:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Предполагая, что Arduino 5 В и Vin 9 В или выше, вышеизложенное гарантирует, что вы не превысите напряжение аналого-цифрового преобразования, но всегда будете иметь не менее 4 В на фотодиоде.

Это довольно просто.

Ваш цифровой мультиметр имеет входное сопротивление 10 МОм, которое шунтирует низкий ток в более высокое напряжение вместо 10 кОм. Поскольку 10 МОм на 1 кОм больше, чем 10 кОм, то и напряжение равно той же мощности P = VI.

В зависимости от вашего эксперимента и желаемого динамического диапазона напряжения измените значение R1, чтобы получить желаемое преобразование PD из I в V (коэффициент преобразования — это просто закон Ома V = IR). Возможно, больше подходит от 100k до 1M.

Panasonic производит недорогой 5-миллиметровый радиальный «датчик света», который сжимает диапазон с помощью логарифмической шкалы, поэтому > 4 декады входного света от почти темного до яркого солнца дают выходной сигнал 5 В с выбранным значением R для выбора оптимального диапазона входного света. .

Чувствительность S для кремния составляет 0,6 А/Вт при λ=λp со снижением чувствительности от ИК-излучения к синему. Это то же самое, что и 0,6 мкА/мкВт. Выходной ток зависит от площади поверхности ~ 5 x 5 мм, как у крошечного источника питания PV.

Рассмотрим 1 мкА, умноженный на R1 = 1 МОм * 1 мкА = 1 В на выходе. Это просто использует шунтирующий резистор для преобразования фотонных микроампер * R = микровольт.

Для защиты от перенапряжения аналоговые входы обычно защищены от электростатического разряда с помощью диодов, но ограничены среднеквадратичным значением 5 мА или около того, поэтому при ярком солнечном свете при 100 люкс можно ожидать, что ток короткого замыкания составит 13 мкА/100 люкс * 100 люкс = 13 мА.

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

Вы можете решить эту проблему разными способами, чтобы предотвратить падение напряжения на катоде PD (0,7 В) от 5 В до Vin > 5 В или добавить входную серию R к аналоговому порту с шунта 1M на серию 10k.

«Шунт» означает параллельный или обходной.

Вы можете понять мои предложения?