motox, read my last two posts again please :--/ when I said 3.5V, I wrote that I was connecting the LEDs of NSL-32 directly to MCP42100 through 180R limiting resistors and the current was 9.6mA. Then I returned to the original schematic and noticed a problem caused by me not paying enough attention to the datasheets: PAx was connected to GND, I got 23.8mV, then I looked again at the datasheets and corrected that as I stated in my last post. Actually things were not really solved at this point.. I kept getting strange behavior, read below, this is an email I sent to my colleague yesterday, this was two hours later from my last post here:
"LDR behavior is correct now. There were two problems that I found and solved in my prototype:
1. PBx should be connected to GND, while PAx pins to +5V, my prototype had these connection reversed.. resulting in 23.3~23.8mV when the POT is at value = 0.
2. I noticed that LM358 is not working as expected by the voltage measurements across the 270R resistors that I did this evening. So, I replaced it with an OPA2134 as this is what I had available for the moment. I don’t understand LM358’s opamps behavior; while both opamps inputs having the same exact potential level, they suffer 27mV difference at their outputs.. this was causing the whole project to fail, indeed.. This problem was a hidden one, and appeared after I fixed point 1.
3. I removed 1K5 resistors between transistors' bases and GND, this did not make any differences, but I can’t see why they are soldered in the first place... May be we decided on sth, but I am unable to remember what it was.."
My friend replied that he doesn't think that the OPAMP is the cause of this problem, anyway, it is working for me now. What I understand not at the moment, why did LM358 behave this way..!
I still have another problem
My colleague ran a test with a normal potentiometer
, and the lowest value he gets across both LDRs is 7K, but when using MCP42100 and OPAMP circuitry, he gets 300R, he says that this will ruin the signal source... Now, I have to solve this by code, I am wondering how to do it :--/ Very simple project I thought, it turned out to be a real PITA for me, being away for a very long time at work.