Other Parts Discussed in Thread: MSP430I2040
Tool/software:
I am using the EVM430-I2040S and ran the example code "MSP430i20xx Demo - SD24, Single Conversion on a Single Channel, Poll IFG."
I connected a DC signal to the line_in
terminal and GND to the neutral_in
terminal of the MSP430i2040 Evaluation Module (EVM) and observed the variable results
. The results
values showed some variation within a range of 4 counts. For example:
- On the first read:
52
- On the second read:
50
- On the third read:
54
- On the fourth read:
51
This random variation ranged from 50 to 54, and I calculated the average value as 52 for analysis. I applied the same method for other input voltages.
Note: I didn't do any calibration. I am using the kit as it is by assuming it would have factory calibrated.
Input DC (V) | results (decimal) |
1 | 52 |
2 | 96 |
3 | 138 |
4 | 180 |
5 | 224 |
6 | 267 |
Multimeter-Measured Voltages
I also measured the voltages after the conditioning circuit, just before the ADC input pins, using a multimeter:
Input DC (V) | Multimeter measured value (V) |
1 | 0.001 |
2 | 0.002 |
3 | 0.003 |
4 | 0.005 |
5 | 0.007 |
6 | 0.008 |
-
Reference Voltage (Vref): 1.2V
-
Resolution:
The SD24 is a Sigma-Delta ADC. The resolution is considered as 16-bit in this case systems, giving a maximum possible digital output value:
2^16=65,536 -
Input Range:
In differential mode, the ADC measures the difference between Vin+ and Vin−
The full-scale range (FSR) is ±Vref
This means:- Vin=+1.2 V corresponds to the maximum positive digital value +32,768.
- Vin=−1.2 V corresponds to the minimum digital value −32,7688.
- Vin=0 V corresponds to 0.
I used the formula
Expected voltage =(ADC results*1.2)/32768
= (52*1.2)/32768
Input DC (V) | calculated value (V) | |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
Could you confirm whether my assumptions about the system and the formula used for calculations are correct? Specifically:
- Are the observed results and calculated values reasonable based on the system's configuration?
- If not, could you advise how to process the data and achieve the expected behavior?