本文目录一览

1,DS18B20的精度我想制作一个温度控制箱实现01的精度比如

分辨率意思就是最小步长。测量出来的都是最小步长的倍数。18B20不能满足你的要求
同问。。。

DS18B20的精度我想制作一个温度控制箱实现01的精度比如

2,请问单片机开发板上温度传感器DS18b20测温精度

精度数据文档上有满量程MS为2℃,但是响应时间t90非常不理想,封装过的跟不用说,建议采用热电阻
没有看过他的display()函数的内容,不过我猜想他加个10是为了把第2个数码管的小数点给点亮,这样才能显示为“ab.c”形式。

请问单片机开发板上温度传感器DS18b20测温精度

3,DS18B20到底能不能用来做体温计

体温计应标示制造厂商之名称或标记。体温计之计量单位为摄氏温度,其代号为「℃」。体温计之最小分度值应等于或小于0.1℃。体温计之量测范围至少必须涵盖35.5℃~42.0℃,且该范围必须是连续的。我是我在百度搜索的体温计技术标准,当然也许不够全面,但有这些基本要求来说足够,从给出的这些条件,DS18B20最小分辨率是0.0625,单位是摄氏度,DALLS公司生产(当然这是传感器的厂商),测量范围应为-55℃~+125℃。但是DS18B20在-10~+85℃时精度为±0.5℃,正常体温也就37.5℃,有0.5℃的误差就太大了,体温要求精准,对于0.5摄氏度的误差可能导致医生的误判。所以DS18B20不能做体温计。以上仅是个人意见。希望我的回答能帮助到你。
最好到医院

DS18B20到底能不能用来做体温计

4,DS18B20 如何达到测量精度 01

是你混淆了好不.它这个测量是有范围的.好像是-55到125还是多少.那么.它是可以用9~12位数字量表示.当然分辨率为范围/2^12=0.065.范围/2^11=多少.等等.而精度呢是它自己测量的技术局限是调不了的.只能调分辨率.还有一点.它的原理是用两个不同温度系数的晶振.可能温度系数大的晶振的位数是在12位以上,当然你要看自己测量的精度要求来取多少位.多了也是白搭.又要编程来消去即使是测到10.065这样.它只能说明.温度在10.065-0.5 ~10.065+0.5间.分辨率再小也没有意义只能吓唬人,那还不如直接用少位数一点的
ds18b20本身测量精度范围就是正负0.5之内,无法再精确了。  温度传感器:温度传感器(temperature transducer),是利用物质各种物理性质随温度变化的规律,把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有体。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。

5,DS18B20读出了高低位的温度值之后如何处理成十进制数值需要的

/**读出温度**/int readtemperature(void) uchar a=0; uchar b=0; uint t=0; ds18b20_init(); ds18b20_writechar(0xCC); //跳过读序号列号的操作 ds18b20_writechar(0x44); //启动温度转换 ds18b20_init(); ds18b20_writechar(0xCC); //跳过读序号列号的操作 ds18b20_writechar(0xBE); //读取温度寄存器 a=ds18b20_readchar(); //低位温度值 b=ds18b20_readchar(); //高位温度值 temp_TH=ds18b20_readchar(); //读取温度设定的上限值 temp_TL=ds18b20_readchar(); //读取温度设定的下限值 if((b*256+a)>63488)//(1111 1xxx xxxx xxxx)>63488,大于63488的都是负数 flag=1; //负温度标志位 t=~(b*256+a)+1;//取反加1 t=t*0.625; //放大10倍,方便取出小数位 } else flag=0; //正温度标志位 t=(b*256+a)*0.625; } return((t==0x0352)?0:t); //开机启动显示85时替换为0 } /**温度数值处理**/int gettemperature(void) static int te=0xffff; realtemp=readtemperature(); if(te!=realtemp) temp[0]=realtemp/1000; //百位 temp[1]=realtemp/100%10; //十位 temp[2]=(realtemp/10)%10; //个位 temp[3]=realtemp%10; //小数位 te=realtemp; } return realtemp; }
根据你的叙述分析,把高低字节读出来了,用的是12位方式,这时候ds18b20的分辨率是0.0625度,你说ds18b20精度是±0.5度,是错误的,ds18b20精度最高是±1度。转化为实际温度的方法是先判断高字节的d7、d6、d5、d4、d3为,如果为11111,温度为负,如果为00000,温度为正,正温度=采集数据x0.0625,得到实际摄氏温度。负温度=采集数据取反加一x0.0625,得到实际摄氏温度。

文章TAG:ds18b20精度是多少精度  多少  我想  
下一篇