本帖最后由 qwerttt 于 2012-6-17 22:15 编辑
多年前做的过程信号校验仪,其中一项关于热电偶测量和输出的换算程序
根据90温标上的公式编写,供大家测试
程序里的判断,请自行修改
相关链接:
热电阻PT10 PT100 Cu50 Cu100电阻转温度程序
http://www.amobbs.com/thread-5480954-1-1.html
以下是K型mV转温度程序
- // K型温度转电压系数
- float code Var_TtoV_K[3][11]=
- {
- {0, 3.9450128025/1e2, 2.3622373598/1e5, -3.2858906784/1e7, -4.9904828777/1e9,
- -6.7509059173/1e11, -5.7410327428/1e13, -3.1088872894/1e15,
- -1.0451609365/1e17, -1.9889266878/1e20, -1.6322697486/1e23},
- {-1.7600413686/1e2, 3.8921204975/1e2, 1.8558770032/1e5, -9.9457592874/1e8,
- 3.1840945719/1e10, -5.6072844889/1e13, 5.6075059059/1e16,
- -3.2020720003/1e19, 9.7151147152/1e23, -1.2104721275/1e26},
- {1.185976/1e1,-1.183432/1e4}
- };
- /******************************************************************************
- *函数描述:K型 电压转温度(冷端温度为0)
- 毫伏范围:-5.891 ~ +54.819
- 温度范围:-199.933C° ~ +1370.057C°
- *输入变量:mV 毫伏
- *返回变量:value 温度
- ******************************************************************************/
- float K_VtoT(float mV)
- {
- uchar i = 0;
- float value = 0;
-
- if(mV >= -6.478 && mV < 0)
- {
- value = Var_VtoT_K[0][8];
-
- for(i = 8; i >0; i--)
- value = mV * value + Var_VtoT_K[0][i-1];
- }
- else if(mV >= 0 && mV < 20.644)
- {
- value = Var_VtoT_K[1][9];
-
- for(i = 9; i >0; i--)
- value = mV * value + Var_VtoT_K[1][i-1];
- }
- else if(mV >= 20.644 && mV <= 54.900)
- {
- value = Var_VtoT_K[2][6];
-
- for(i = 6; i >0; i--)
- value = mV * value + Var_VtoT_K[2][i-1];
- }
-
- return value;
- }
复制代码
请问k型错在哪里,你是怎样验证?
刚计算了3个mv点没有问题
40.23mv 973.2562
25mv 602.2277
32.77mv 787.7048度
一周热门 更多>