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.
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.
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!??
ReplyDeletethanks in advance
Hi,
ReplyDeletePlease, 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!
thank you very much :) now i got the code to work :)
ReplyDelete