|
|
楼主 |
发表于 2025-9-15 11:17:20
|
显示全部楼层
你好,梁工,
板子回来了,
读取反馈电压
根据公式套入数据
第一步读取ADC15通道反馈的参考电压=2.518
第二步,带入计算公式 4096*20*0.125(采样电阻)/2.518(读取的参考电压) = 4066.7196
第三步,则校准系数为K=20/4066.7196=0.0049179
第四步,则计算出的理论电流 I= ADC*0.0049179 如ADC值为1000,则I=1000*0.0047179=4.7179
程序为
//adc = ADC_convert(15); //Bandgap
//adc = ADC_convert(0); //Bandgap
VV = ADC_convert(0); //Bandgap
//v = (4096 * 1.19f) / adc; //计算对应的VCC电压, 12位ADC, 2位小数(定点整数计算,扩大100倍)
//printf("ADC15=%u, AVREF=%.3fV\n", adc, v);//接收←ADC15=1950, AVREF=2.500V
//printf("ADC15=%u, AVREF=%.1fmV\n", adc, v*1000);//接收←ADC15=1950, AVREF=2499.6mV
printf("ADC15=%u, AVREF=%.4f\n", VV, VV*0.0049179);//
得到的结果为
现在有一个问题就是,在加载到12.6MA的时候ADC读取的数据就会突变,而4-20MA发生器给的电流是对的。
能否请梁工帮忙看一下,
|
|