5.3 温度校准曲线计算

    signed int Modify_55Degree_Bom[4] = {0,0,0,0};
    signed int Modify_72Degree_Bom[4] = {0,0,0,0};   
    signed int Modify_95Degree_Bom[4] = {0,0,0,0};
/****************************************************************************
* 名称:Modify_Temp(signed int mod_temp,UCHAR mod_Channel)
* 功能:模块修正值计算
* 调用者:TX_Temp_Control_Entry
* 调用:
* 入口参数:signed int mod_temp,修正温度
*           UCHAR mod_Channel  修正通道
* 出口参数:signed int   修正后温度
****************************************************************************/

signed int Modify_Temp(signed int mod_temp,UCHAR mod_Channel)
{
    
    static int Cal_Temp,temp;
    static UCHAR Channel;
    
    
    temp = mod_temp;
    Channel = mod_Channel;
    
    if (mod_temp>5500 && mod_temp<=7200)
    {
        Cal_Temp =  temp+Modify_55Degree_Bom[Channel]+(temp-5500)*(Modify_72Degree_Bom[Channel]-Modify_55Degree_Bom[Channel])/1700;   
    }
    else if (mod_temp>7200)
    {
        Cal_Temp =  temp+Modify_72Degree_Bom[Channel]+(temp-7200)*(Modify_95Degree_Bom[Channel]-Modify_72Degree_Bom[Channel])/2300;
    }
    else
    {
        Cal_Temp =  temp+(temp-3000)*Modify_55Degree_Bom[Channel]/2500;
    }

    return Cal_Temp;
} 

温度校准 现在怎么测试的?是不是先清零。假如说要 55℃(5500),你就设置成55℃(5500),然后测试出实际假如是56℃(5600),然后55℃(5500)的校准是 100。假如测出来是54℃(5400),校准值就是-100。

温度校准表通过外部命令比如串口等传输进来,校准表是偏差温度:Modify_55Degree_Bom= 测试的实际温度-标准温度。

比如说:

测量温度(mod_temp)实际温度(cal_temp)温度偏差(Modify_Bom)
55℃56℃+1摄氏度
75℃78℃+3摄氏度

那么求65℃的实际温度?

cal_temp=65℃+1℃+(65-55)*(3-1)/20
=65℃+1℃+1℃
=67℃

更为直观的类似如下:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值