修改的地方在这里(红色部分,数值大小是试出来的),目前的实验没发现对恒流-恒压有影响,
傅老师能否从程序上分析求证一下,我晚上上实物照片
。。。。。。static int disp_u_to_adc(int disp){
return((int)(disp * 102.3) / (ADC_REF * U_DIVIDER));
//鏄剧ず鍊嶇巼
} // calculate the needed adc offset for voltage drop on the // current measurement shunt (the shunt has about 0.5 Ohm =1/2 Ohm) static int disp_i_to_u_adc_offset(int disp){
return(disp_u_to_adc(disp/20)*1.3);
//鏄剧ず鍊嶇巼
} // convert adc values to voltage values, disp=10 is 1.0V // disp_i_val is needed to calculate the offset for the voltage drop over // the current measurement shunt static int adc_u_to_disp(int adcunits,int disp_i_val){
int adcdrop;
adcdrop=disp_i_to_u_adc_offset(disp_i_val);
if (adcunits < adcdrop){
return(0);
}
adcunits=adcunits-adcdrop;
//return((int)(((adcunits /102.3)* ADC_REF * U_DIVIDER)+0.6));
return((int)(((adcunits /10.23)* ADC_REF * U_DIVIDER)+0.6));
} |