Other Parts Discussed in Thread: UCD3138
Tool/software: Code Composer Studio
Tool/software: Code Composer Studio
Now I'm studying temperature compensation, and I have some doubts about the program.Here is the code for temperature compensation of current:
{
instant_resistance_negative = R0_23C - (temperature - ADC_COUNT_23C) * FACTOR; //multipled by 100000
adc_count_factor_negative = (instant_resistance_negative << 10) / R0_23C;
adc_count_factor_positive = (instant_resistance_positive << 10) / R0_23C;
// instant_resistance = 2720 + (temperature - 1041) * 1.22; //multipled by 100000
// We can switch to a multi segment linearization later on
}
As far as I know, PCB copper is a material with positive temperature coefficient(400ppm/℃), So we can get the resistance value of PCB copper with the change of temperature from the following formula:
instant_resistance_negative = R0_23C - (temperature - ADC_COUNT_23C) * FACTOR
(1/3.3)*2^12*0.00625*m=1;
FACTOR=R0*10^5*α*0.00625*m;
But,it is 1.15 in the program:
#define FACTOR (1.15)
I can't understand this function.