Naive question here. I've been toying around with the idea of making a simple light meter. From what I've read, photodiodes generally offer the best sensitivity and accuracy (as compared to photoresistors etc.) The simplest op amp circuits for photodiodes seem to require at least 12-15V. However, there are commercial lightmeters which use photodiodes and run on a single 3V battery (e.g. http://www.sekonic.com/products/l-758dr/specifications.aspx) Is it possible to achieve this using a "rail to rail" op amp, or is it more likely that these devices obtain a reading from the photodiode without using an op amp at all? (The latter is certainly possible but I wonder if the cost in sensitivity/accuracy would be too great.)
Is it possible to run a photodiode plus op amp on a 3V battery
batteriesoperational-amplifierphotodiodevoltage
Related Solutions
I've been trying to do a very low light level project myself the past 2 days with photodiodes and phototransistors. This is for people like myself and the original poster who are pushing light detection without a photomultiplier to the limit (below 0.1 mW/cm^2).
I looked at the first receiver module and its minimum irradiance detection was 0.2 mW/m^2 which is about 10,000 times more (less capable) than what discrete photodiodes and phototransistors can do (maybe they meant cm^2 instead of m^2?). Neither are good for really low light levels according to "Art of Electronics" (1 uA per uW of light page 996), totally not capable of getting near what the human eye can do due to leakage current and noise. He describes using photomultipliers which may be required if your light levels are too low. However, in shining light through my fingers in a well-lit room, I am able to see what my eye can't detect on an oscilliscope (with either PhotoDiode or PhotoTransistor).
Assuming his 1 uA per uW is correct, here is an example: a 5 mm photodiodes and phototransistors have an area of 20 micro m^2. So 1 uW/m^2 (1/1000th of noon sunlight) would generate 20 uA (according to Art of Electr) . [[ 1/1000th of noon sunlight is 1 W/m^2 which is about twice as strong as a 20W incadescent light at 1 meter (6W light output into 12 m^2 surface area of a surrounding sphere). ]]
However, my 880nm phototransistor datasheet indicates 600 uA at 1W/m^2 (0.1 mW/cm^2), wich is 30 times more. This assumes all the light is within the active range of the diode's junction.
Sharp has a much better application note, but it seems to be lacking in explaining which design is best for which situations. Figure 13 is most applicable to what original poster and I need, and figure 10B is very interesting but I don't know what they mean by "improves response". http://physlab.lums.edu.pk/images/1/10/Photodiode_circuit.pdf
When used with an op amp, a phototransistor may not capabale of getting as good of a gain as a photodiode for very low light levels because it to uses a "cheap" method of getting its initial gain (transistor instead of op amp). I suspect a photodiode with a JFET op amp (very low input current) would ultimately provide a higher gain with less noise. In any event, the photodiode or phototransistor with the largest optical receiving area might have the best ability to detect low light levels, but that might also increase noise and leakage by a proportional amount and they are usually the underlying problem. So there is a limit to this type of light detection and ideally efficient phototransistors and photodiodes may ultimately be equally good when used with an op amp, but theoretically I suspect photodiode is a little better. It will be the op amp design that matters and I think figure 13 with a JFET op amp and a well-chosen shunt capacitor across the feedback will be best for phototransistor.
For the dual supply op amp, you can use a "lowish" valued resistor pair (two 1k for 10V Vcc to get 5 mA bias) to split the voltage to create a false ground for the +Vin.
I found R=1M for the feedback resistor much better than R=4.7M. Forrest Mimms in his simple opto book used a 10 M with a parallel 0.002uF and a solar cell instead of a phototransistor or photodiode for "extrememly" low light levels" (maybe a solar cell would be better for your application) It seems all PN junctions seem to operate as a solar cell to some extent, as I've read of using clear-cased small signal diodes to detect light. I'm using a regular 830 nm LED as my "photodiode".
The lens angle of whichever 5mm optical diode you use makes a big difference. +/-10 degrees is roughly 4 times more sensitive than +/-20 degrees....if the light source is coming in from less than +/-10 degrees. If the light source is a big area that is +/-20 degrees in front, then it doesn't matter.
I tested the two circuits below. I could detect 0.3V, 5 ms pulses on the phototransistor's Vo which means 0.3 uA which means 0.05 uW/cm^2 if my reading of the datasheet is correct and if it remained linear (big ifs) all the way down to 0.3uA. Maybe it was 5 uW/cm^2. If 0.05 uW/cm^2 is correct, then the off-the-shelf 830 LED was reading down to 0.5 uW/cm^2. I was shining 10 mW 830 nm light through 1 cm of tissue (my finger). I know that if the light levels I was working with were red, it would have been barely visible. The link below shows using 500 M ohm feedback with a photodiode, indicating much lower light levels. Notice the orientation of their photodiode, which is the same as my LED (backwards from most internet links). I got better results this way.
http://www.optics.arizona.edu/palmer/OPTI400/SuppDocs/pd_char.pdf
The circuit on the right side makes use of an LM 108 and a capacitor on pin 8 ( due to the datasheet pin 8 of the op amp stands for Comp). Not having this pin on L358 what can I do for that?
The LM108 has pins for external compensation. As you've already figured out you will not find these pins on the LM358 because the LM358 is internally compensated (e.g. the capacitor is within the chip). So if you use the LM358 you don't need that capacitor.
Morever the arduino analog pin normally indicates a value btw 0-1023. Now using the op amp I get a maximum value of 767 ( this means approx. 3/4 of 1023). Is there any particular reason for that or am I doing any mistake?
The output of your amplifier does not generate a voltage that the arduino would interpret as full scale. You can increase the amplification by choosing a bigger resistor between the output and the negative input. If you want your amplification 25% higher just make the resistor 25% bigger.
Note that the voltage at the LM358 output can't go as high as the supply voltage. It will always have a maximum output voltage that is 1.5V to 2V below the supply. That means, if your arduino analog input would give you a full scale at - lets say - 5V, then you need to supply your OpAmp with 7V at least. Otherwise the output will clamp and never reach the full scale.
You'll also likely don't want to connect your OpAmp output directly to the analog input. Analog inputs have a maximum input voltage, and you should never exceed this. If you do current will flow through a protection diode. If the current is to large that could blow up your arduino. Adding a resistor between the OpAmp output and the analog input will limit the current without influencing the reading much. 2.2k is what I usually use as a rule of thumb value.
Related Topic
- Electronic – Feasibility of 10MHz, 100dB Dynamic Range Transimpedance Amplifier
- Electronic – Generating plus and minus voltages for op amp
- Electronic – Current limiting for at the input side of the transimpedance amplifier ( photodiode protection)
- Electronic – How to discharge a capacitor being charge by an op-amp
Best Answer
Just because the battery voltage is 3V doesn't mean there isn't some sort of switching regulator to boost the voltage. However, even if there isn't it is possible to achieve using just a single 3V rail, 2 op-amps, a couple of resistors, and a photodiode.
You just need an op-amp which can operate on low voltages. You will either need to bias the non-inverting reference point, or put an capacitor switch pump to generate a negative rail.
Here's an example with a dual op-amp package, one which is used to provide a virtual ground reference.
You'll want an op-amp which has very low noise, low input bias current, and low input offset current. Something like this TL032.
simulate this circuit – Schematic created using CircuitLab
The output is \$V=I_D R_G\$. Make \$R_G\$ small enough to avoid saturating the op-amp, but large enough to give you the full resolution. This is designed to operate with a differential voltage sensor, you can in theory measure Vout+ single-endedly, but it won't necessarily work as well because you'll miss out on fluctuations on the 1.5V reference.
Oh, and it probably goes without saying that this circuit doesn't include any of the logic/adc stuff. That is all extra, but simple microcontroller with a differential ADC should be sufficient to get a reading (these can operate in the 3V range as well).