在采集温度项目中求热敏电阻的计算公式是怎么样的?
Tony--青岛:鸿哥,我遇到一个计算问题.求电阻.R=7672500/adc(1)-7500.这样子可以求出热敏电阻来.就是模仿你的程序。
鸿哥--深圳:
这个公式是经过转换之后的。
Tony--青岛:
我把7672500转换为Vcc*1023R就等于0。
鸿哥--深圳:
你首先要写出AD,电压,电阻的方程式,然后把公式转换就可以了。
Tony--青岛:
Vcc是电源电压3290mv。R=Vcc*1023/adc(1)-7500;这样子求出来的R就等于0。
鸿哥--深圳:
温度采集的电路有两种的,有的热敏电阻一端是接地的,有的热敏电阻是接VCC的,我以前做的项目,热敏电阻是接VCC的,然后跟一个3.3K的对地电阻构成分压电路,用AD采集电压。
Tony--青岛:
亲 ,我如果用第一个公式可以正确求出电阻来,如果用第二个公式就不行。
鸿哥--深圳:
看你的公式,你的AD是10位的吧?
Tony--青岛:
嗯。
鸿哥--深圳:
你的接线图是什么样的?
Tony--青岛:
跟你的一样。热敏电阻是上拉。就是算法的问题。如果他只是用7672500这个值处以adc(1)可以正确求出电阻R。如果用公式R=Vcc*1023/adc(1)-7500就不行。
鸿哥--深圳:
下拉的固定精密电阻是多大?我以前用3.3K。
Tony--青岛:
这是100kntc。75k电阻接地。
鸿哥--深圳:
100kntc ?这个是什么意思?
Tony--青岛:
100K的NTC电阻,类似于热敏电阻。接Vcc5V。我觉得是公式不对。因为我只要把Vcc*1023换成7672500就可以。
鸿哥--深圳:
公式跟VCC无关的。不管电压是3.2还是3.5都不会影响温度的精度。
它的完整公式是:
AD/1023=75/(75+R)
你经过换算调整后求出R
经过换算后:R=(76725/AD)-75。
注意,以上单位是千欧。
Tony--青岛
2014-10-6 10:50:43
对。为了方便查表75要乘以100。所以公式为R=7672500/AD-7500;
王工-西乡:
有的NTC阻值跨度太大,也不是很好玩。我做的是-40~300度的。
Tony--青岛:
只要ADC精度够就可以吧 ?
王工-西乡:
是,其实把电压测准后就是四则运算的事了。
鸿哥--深圳:
把电阻吧?
王工-西乡:
电阻肯定是通过测电压得来的。所以电压要精准测得。
Tony--青岛:
王工用的二分法查电阻?
王工-西乡:
我不用二分。我是多分............
Tony--青岛:
什么叫多分法- -~
王工-西乡:
自已的叫法,乱来的,节省时间又能测准就行。
Tony--青岛:
求分享。
王工-西乡:
计算太多,太花时间,分成几个等长的段,段之间首尾有一组数据是交叉的。
Tony--青岛:
加入数组太大我就会分成2部分再从头查询- -!交叉数据为1个数据。
王工-西乡:
我的数据是双字节的。为了做到分辩率0.1度。每个段的倍率也是不一样的,大阻值用原数据即可,小阻值就扩大100位或1000倍。
Tony--青岛:
这不有误差了,如果放大倍数不同可能要省略几个位?
王工-西乡:
暂时测试结果还算满意,误差非常小。
Tony--青岛:
3°?
王工-西乡:
用电阻箱测试。专门买了个电阻箱为调这个。
Tony--青岛:
没这条件- -!
王工-西乡:
没这个条件做起来心里底,用高精度电阻你也不可能做那么多,用电阻箱最好。没买电阻箱时用高精度电阻,也可以,但只能几个点,得不到大量的数据验证。特别是阻值跨边界点的时候,你不连续上下来回调试,怕有问题。
Tony--青岛:
请问调了多久- -!
王工-西乡:
我的是业余做的,有两三个月了吧。白天上班,晚上做点。
Tony--青岛:
那请问你是什么工作啊?
王工-西乡:
有点苦累...上班的公司做车载DVD,汽车和家用音响之类的。
Tony--青岛:
前辈。
王工-西乡:
年龄上算是前辈吧........技术上还是你们年轻人厉害。
Tony--青岛:
以后会多请教你的前辈- -~
王工-西乡:
呵呵.........我也只是偶尔上来一下,没有太多时间,上班的白天公司不敢说太多话。其实测电阻的方法有不少,但无论如何都是测准电压,如果是用C写的话,计算就是小事了,我用的是汇编。
页:
[1]