| Electronics > Beginners |
| Ambient light rejection circuit don't reject it very well |
| (1/3) > >> |
| Artlav:
I've been trying to design a slightly-better-than trivial "UART over laser pointers" circuit, and this is what i ended up with: Ideally, this should remove the ambient light from the signal. The photodiode's pre-amplified output is split in two, one side is fed through an RC filter and a buffer producing what is essentially the average DC level of the ambient light. So far so good. This average level is then subtracted from the actual signal by a differential amplifier, and the remaining "useful signal" is amplified and thresholded to produce the 0-1 a computer can digest. And here comes the problem - above a certain ambient light level the output of IC2B starts tracking the brightness rather than subtracting it completely. It looks like a rising sheet of paper covering the signal rather than the signal getting shifted up along with a zero point. I've tried to vary R6-R9 values, the higher they are the more light it takes for it to start rising, but the less sensitive it becomes. 100k seem to be the optimal value. Other than that nothing i tried made any difference. I suspect the problem comes down to some case of "real op-amps don't work like ideal op-amps", but i don't know enough about it to even know where to start looking for the problem. So, the question is - is this a workable design, and in either case what am i doing wrong? |
| Benta:
For this kind of circuit, you normally have two photodiodes. One for receiving and one for measuring ambient light to compensate. |
| pwlps:
If the DC part is much bigger than the AC part then you are sensitive to the "real" stuff like opamp offsets, resistor mismatch etc. On the other hand, since subtracting the DC part will yield the AC part, the AC part can be obtained simply with a high-pass filter. Of course then you have a to shift your signal level to the 0-5 V range, this can be done with a comparator (a comparator with an open-collector output like the LM311 can do it without any additional components). BTW. I'm using exactly this approach in this similar project: https://www.eevblog.com/forum/projects/simple-lifi-transmitting-audio-signal-with-a-led/msg2282771/#msg2282771 Edit: Your lowpass transfer function is 1/(1+jwR1C1), after the differentiating opamp IC2B the transfer function becomes 1-1/(1+jwR1C1)=R1/(R1+1/jwC1) which is a high-pass made with R1 and C1. So IC2B is useless, just invert R1 and C1. Did I miss something here? |
| Artlav:
--- Quote from: Benta on April 14, 2019, 07:44:53 pm ---For this kind of circuit, you normally have two photodiodes. --- End quote --- I feel like this will only make things worse, since every slight difference between them would be severely amplified. --- Quote from: pwlps on April 14, 2019, 08:05:15 pm ---Did I miss something here? --- End quote --- Yep, the whole idea is to not have to deal with AC-only nature of high pass filter, but rather have a regular OOK signal with ambient level removed. |
| David Hess:
Reject the ambient signal by driving a current back into the input of the photodiode amplifier as shown in figure 4 of this Burr-Brown datasheet. |
| Navigation |
| Message Index |
| Next page |