数码之家

 找回密码
 立即注册
搜索
查看: 1323|回复: 3

[STM] 新手求助,这个怎么计算

[复制链接]
发表于 2019-12-14 23:57:59 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

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,改减号后面那个也没影响


发表于 2019-12-16 17:00:42 | 显示全部楼层
这个是谁写的逻辑, 一个数怎么可能既大于0.5 又小于0.01.

打赏

参与人数 1家元 +8 收起 理由
wenxueroom + 8 精彩回帖

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-22 00:16:17 | 显示全部楼层
本帖最后由 沨の痕 于 2019-12-22 00:18 编辑
flishmen 发表于 2019-12-16 17:00
这个是谁写的逻辑, 一个数怎么可能既大于0.5 又小于0.01.

else if(Temp>0.5 && Temp<2.5) Temp = 0.98 * Temp + 0.28;
原文这样,因为2v不准,我把2.5改到0.01就好了
重点大佬能解析下电流算法,手上2个调好的低电流高电流都是偏差0.06a以内,康铜丝用的0.002毫欧,偏大加锡,有2个调不好主要线性不知为啥低了偏低,某个值后一直加大
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-11 01:52 , Processed in 0.374401 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表