This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT4048: ADC readings issue between OPT4048DTSEVM and our new design(based on OPT4048&STM32F103C8T6)

Part Number: OPT4048


Tool/software:

Hello, 

Now we have a new design based in OPT4048 and STM32F103C8T6 and which will be used on the applicatiop of LED color and lux analyze.

but we found that the mantessa_1 raw ADC value of our design is lower than your dev board OPT4048DTSEVM in the testing of a same green LED,

and as you know the lower mantessa_1 value will get a lower lux value.

the detailes of our design: STM32 through I2C to control 4x OPT4048, supply voltage of OPT4048 is 3v3, and the pull up resistor of I2C and INT is 4K7;

test results of our design and OPT4048DTSEVM(average value of 50 samples)

convert time =100ms; Delta= (our board-Dev board) / Dev board

CIE x CIE y lux CCT
Dev board 0.26456 0.65734 457.769 6573.16
Our board 0.26728 0.65365 402.38 6536.15
Delta 1.03% -0.56% -12.10% -0.56%

Questions:

1, What will impact the OPT4048 ADC reading and what possible reasons will cause the lower output of lux;

2, Do you have any suggestions on our design,especially for the design of applications using multiple color sensors?

3, Did OPT4048DTSEVM undergo special calibration in your factory?

  • Hi Yidong,

    To address your questions:

    1. You mentioned in your description that you are placing the devices under the same green LED and then taking these readings. My thought here is that placement under the LED light source could be causing a difference in the reading from one sensor to the other. Firstly, if the area of illumination of the LED source is not uniform, each sensor might receive different amounts of lux depending on where you place it. My recommendation here would be to place each board in the same spot when you take the measurements, instead of placing both sensors next to each other under the source. Another concern of mine is that the OPT4048DTSEVM has a socket where the device sits on, which raises its height. My assumption here is that the sensor on the EVM is closer to the light source, which is causing the sensor to receive more light than your board. I would recommend adjusting the height of the sensor on your board so that it is level with the sensor on the EVM.

    2. Based on the description of your board, I don't have any concerns. I would just make sure that each OPT4048 on the bus has a different device address set by the address pin.

    3. Yes, we calibrate each sensor to 2000 lux, and we expect the sensor output to fall within +/-10% of 2000 lux. This is listed on the datasheet:

    Thanks,

    Daniel

  • Hi Danie,

    Thank you.

    here i also have some other questions:

    1, When the I2C is set to burst read mode, how many registers are read in one transaction? From the data I captured with the logic analyzer, it seems that

        registers 00h to 07h are output together.

    2, As you know, In our design, we are using four OPT4048 sensors. How can we ensure that when they test the same DUT under the same brightness(test

        the DUT one by one ), the measured lux values are consistent, for example, within ±10%? (The purpose of this is to demonstrate consistent performance in

        lux measurements across the four OPT4048 sensors.)

        Is it possible to achieve this through calibration? For instance, we could let each of the four sensors test the same DUT, and then also measure the DUT

        with your dev board. Using the dev board’s measurement as a reference, we could calibrate the four OPT4048 sensors.

        Would it make sense to apply a one-time linear regression algorithm for the calibration? Do you have any suggestions?   

    Thanks 

    Nathan

  • Hi Nathan,

    Addressing your questions:

    1. In Burst Mode, the device will autoincrement the address pointer by 1 after every 2 bytes and it will do this for all output registers. The behavior shown in the waveform is as expected.

    2. Just for my understanding, you are wanting to ensure that all 4 sensors on your board are within +/-10%, and you are wanting to see if you can calibrate the sensors to achieve this accuracy by using our TI dev board? If so, like I mentioned in my response to question 3 on the previous post, we already perform factory calibration to achieve +/- 10% before we ship these units to customers, so the output of these units will already be within that range. 

    if you wanted to achieve even higher accuracy than +/-10% for each unit, you could multiply the output of each unit by some calibration factor. This calibration factor would be calculated as such:

    calibration factor = reference lux / device lux

    I do not recommend using the TI dev boards as a reference, as the units on the dev board are calibrated using the same factory calibration that is done for units in a reel. Instead, I would recommend using a lux meter.

    Thanks,
    Daniel

  • Hi Danie,

    Thank you very much.

    It's clear now.

    Thanks 

    Nathan