In an application I have a grid of IR LEDS and sensors. The sensor type is the VCNL4035 from Vishay and communication takes place through an I2C multiplexer. The physical layout of the PCB is as following:
The PCB’s are mounted in an ALU profile and covered with a transparent polycarbonate glass.
To poll a sensor, first a trigger command must be sent. after that, a pulse is sent to the three LEDs and the amount of light that comes back can be polled.
In this graph are the following abbreviations: a – the time between trigger and polling the sensor b – the time it takes to sample one sensor c – the time to store sensor values in buffers d – small delay to prevent reflections in IR light
When I disable the d time in my software I sometimes have corrupt data which interferes with my application. When I tape of the IR LEDS I don’t have a problem with the sensors so my guess is that the problem isn’t related to EMI. When I increase the d time to 400uS and pull of the tape, I can also poll the sensors without a problem.
Could this problem be due to reflections inside the ALU profile and the polycarbonate glass?