谢谢,梁工,这个例程中怎么没有视频中那个温度查询表呀
等等,难道说,你要的是那个EXCEL表?
梁工 发表于 2024-4-28 11:15
等等,难道说,你要的是那个EXCEL表?
是的,谢谢梁工 liushiming82 发表于 2024-4-28 09:56
线性插补怎么理解,能否举例说明?谢谢,能否提供一个温度表格吗?
由于NTC厂家给出的阻值温度曲线表是按照1℃间隔的,实际应用中1℃的分辨率显然不能满足精确测温和显示的需求,所以有了“线性插补”的方法
虽然NTC的温度曲线是非线性的,但是为了快速解算带小数的温度值,可以把两个整数温度(比如25℃和26℃)对应的阻值按照线性函数平均到1℃的范围内,
分成10份就是0.1℃分辨率,这样虽然有一定非线性误差,但这种误差在要求不高的场合可以忽略不计,这种插值的方法就叫做线性插补。
学习了,昨天也是遇到这样的问题 支持楼主,学习了!谢谢 梁工 发表于 2022-12-13 20:40
如果想减少计算时间,可以二分法查表,先建一个ADC读数表格,1度C一个数据,0.1度用线性插补。查表法不需要 ...
一般都是不用浮点数计算,不知道比如stc8h,44mhz时,计算一个这个温度公式大概需要多久的时间?是十位us级别的吗? 本帖最后由 梁工 于 2024-9-3 11:20 编辑
wxdjs 发表于 2024-9-3 09:53
一般都是不用浮点数计算,不知道比如stc8h,44mhz时,计算一个这个温度公式大概需要多久的时间?是十位us ...
position = 1.0 / (1.0 / 298.15 + log((float)j / (4096.0-(float)j)) / 3950) - 273.15; // 169us@44MHz,计算当前位置(温度^C), t = 1/(1/298.15+ln(ADC/(4096-ADC))/B) -273.15,单位^C.
上述公式浮点计算量:加减法3次,除法4次,对数1次。其中除法和对数都比较耗时间的。
测温ADC频率不高,所以浮点计算的时间也可以接受的。
要更快的计算速度,可以使用AI8051U带浮点库的32位内核,跑40MHz,计算时间为26.8us,为STC8H同频下的1/7。
页:
1
[2]