Monday, April 4, 2016

GitHub repository and preliminary noise test

GitHub repository was created for the opendcm project: https://github.com/opendcm/opendcm
I uploaded :
- The KiCad project with schematic used by my breadboard
- Arduino sketch with code for reading ADC measurement and sending to PC through RS232.

I made some preliminary noise tests with the breadboard. The data shows that noise level is ~9uV peak to peak under the following conditions:
- The breadboard was put in a box with silica gel package for ~ 2h:20m
- The LTC2052 op-amp was set as buffer in front of ADC input with voltage resistor divider 1.2M : 120K connected to the Vref 2.5V.


The data in the Y axis are the ADC measurements in microvolts, data in the X axis are the sample counts. The ADC was set in low noise mode with ~6.9 samples per seconds.

3 comments:

  1. i am trying to get the sample code to work on my ltc2410 but i use 2.048v reference can you give some advice what i need to alter to get the code working!??
    thanks in advance

    ReplyDelete
  2. Hi,
    Please, open the arduino source code (LTC2440_SPI.ino) in the github repo:
    https://github.com/opendcm/opendcm/tree/master/prototype/breadboard/voltmeter/firmware

    and replace the following code :
    float uVolts = adc_out * 0.149011612;
    ...
    uVolts = 2500000 - uVolts;

    with :
    float uVolts = adc_out * 1.220703125;
    ...
    uVolts = 2048000 - uVolts;

    Where the value 1.22xxx is calculated by the following way:
    Vref(uV) / 2^24bits
    2 048 000 / 16777216 = 1.220703125


    There is more information in the source code:
    // The constant 0.149xxx is calculated as Vref (in uV) 2500000/ 16777216 (24 bits).
    // Using float, gives ~6-9 significant digits. This is not enough for 24 bit measurement
    // The trick is to use uV and tp convert later into Volts.
    // For example : 2.5/16777216 = 0.000000149 for float
    // When the ADC code is 16777216, the result is 2.499805184. instead 2.5
    // Using constant 0.149011612 will give 2500000.001032192 uV

    Best Regards!

    ReplyDelete
  3. thank you very much :) now i got the code to work :)

    ReplyDelete