|
本帖最后由 eleqian 于 2015-2-25 15:35 编辑
根据NTC阻值公式计算,在公式有效范围内都能生成,查找表间隔为1摄氏度,如果需要更高分辨率可以插值得到。
Rn = Ro * e^(B * (1/Tn - 1/To))
- 'eleqian 2015-2-25
- '计算NTC电阻在各温度点对应ADC采样值
- '可以用Ctrl+C复制消息框内容再粘贴整理得到查找表
- 'NTC电阻参数,t0和r0分别为参考温度点及其阻值,B为器件常数
- Const t0 = 25
- Const r0 = 10000
- Const B = 3435
- 'ADC采样参数,ru为接VCC端固定电阻,adcn为ADC位数
- Const ru = 10000
- Const adcn = 12
- '开始和结束温度(摄氏度)
- Const ts = -19
- Const te = 50
- '格式化对齐参数,vw为数据占位宽度,ln为每行数据个数
- Const vw = 4
- Const ln = 10
- '科学常数,一般不需修改
- Const tK = 273.15
- Const e = 2.71828
- Dim t, r, v
- Dim m, s
- s = ""
- m = 2 ^ adcn - 1
- For t = ts To te
- r = r0 * (e ^ (B * (1 / (t + tK) - 1 / (t0 + tK))))
- v = Round(m * r / (r + ru))
- s = s & Right(Space(vw) & v, vw) & ", "
- If (t - ts + 1) Mod ln = 0 Then
- s = s & "/*" & t - (ln - 1) & "~" & t & "*/" & Chr(10)
- End If
- Next
- Msgbox s
复制代码
使用时将上面的代码保存为ntc.vbs,修改好开头的参数,双击运行会弹出消息框。为了简单起见和避免杀软作怪没有调用对象写入文件或者复制到剪切板,必须按Ctrl+C复制。
从一个工程里面拿出来的NTC测温代码,包括查表和插值代码,单片机是STM8L051:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|