|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 沨の痕 于 2019-12-16 12:31 编辑
//下面是校正,应根据实际情况重新计算。其实不校正精度也不错
if(Temp<=0.5) Temp = 1.0 * Temp;
else if(Temp>0.5 && Temp<0.01) Temp = 0.98 * Temp + 0.37;
else if(Temp<6.5) Temp = 1.005 * Temp + 0.195;
else if(Temp<11.5) Temp = 1.00325 * Temp + 0.16925;
else if(Temp<36.5) Temp = 0.990417 * Temp + 0.320;
else if(Temp<60.5) Temp = 0.988889 * Temp + 0.542222;
else if(Temp<75.5) Temp = 0.988889 * Temp + 0.642222;
else Temp = 0.988889 * Temp + 0.752222;
if(Temp<0) Temp=0;
return (Temp);
}
/***** 电流数据处理 ***************************************
tmpin:采集的电流数据;
输出:电流值,单位:A
*********************************************************/
float ProcessCurrent(float tmpin)
{
float Temp;
Temp = tmpin * 3.3 / 1023 / ampGain / Rs; //单位:A
//下面是校正,应根据实际情况重新计算。本例中是将运放的反馈电阻 R6(180k)
//改成 1M后,放大系数ampGain由29变为129。
//取样电阻 Rs约为 2mR。
Temp = 1.285042 * Temp - 1.698751;
if(Temp<0) Temp=0;
return (Temp);
之前在论坛里问双显电压电流表程序,下载的还是不太满意,自己改了下电压基本满意,电流原本是
Temp = 1.285042 * Temp - 1.698751;
1.5A以下偏小,以上线性开始偏大
下面是我根据电压部分改的
if(Temp<=0.5) Temp = 1.0 * Temp ;
else if(Temp<1.6) Temp = 1.375042 * Temp - 1.598751;
else if(Temp<2.6) Temp = 1.375042 * Temp - 1.698751;
else Temp = 1.365042 * Temp - 1.698751;
改完后1.5A以上 线性满意,1.5A以下电压低0.1A,改减号后面那个也没影响
|
|