问答
首页
找产品
找企业
资讯
论坛
百科
问答
维修
服务
品牌
改装
首页
问答
全部分类
问答
精选
待解决
问
测量温度的仪表有哪些,它们的原理是什么
一知半解
热电阻测温 热电偶测温 红外测温 光纤测温等热电阻温度测量原理:热电阻是利用其电阻值随 温度的变化而变化这一原理制成的将温度量转换成电阻量的温度传感器。温度变送器通过给热电阻施加一已知激励电流测量其两端电压的方法得到电阻值(电压/ 电流),再将电阻值转换成温度值,从而实现 温度测量。热电阻和温度变送器之间有三种接线方式:二线制、三线制、四线制。热电偶测温原理:由两种导体组合而成,将温度转化为热电动势的传感器叫做热电偶。热电偶的测温原理基于热电效应。 将两种不同材料的导体 A 和 B 串接成一个闭合回路,当两个接点 1 和 2 的温 度不同时,如果 T > T 0 , 在回路中就会产生热电动势, 在回路中产生一定大小的电流,此种现象称为 热电效应 。热电动势记为 EAB ,导体 A 、 B 称为热电极。接点 1 通常是焊接在一起的, 测量时将它置于测温场所感受被测温度,故称为测量端(或工作端,热 端)。接点 2 要求温度恒定,称为参考端(或冷端)。 红外测温原理:红外检测器将吸收的辐射转化为热能,因此提高检测器的温度。并把温度变化数据转化成电子信号,放大显示出来。光纤测温原理:光源发出的光经放大后,由光纤到达传感器热敏材料部分;每一个传感器反射回一个与自身温度相对应的窄谱脉冲光信号;信号处理部分对返回信号列进行滤波采样和分析,从而确定每一个传感器的温度。
2023-11-11
2条回答
问
温度传感器 精度怎么计算
HINENI
可以这样来算:设实际温度为a; 传感器测得温度为b; 精度为x; x=(a/b)*100% 还不会可以咨询深圳中航电脑智能系统
2023-11-11
1条回答
问
用单片机做温度检测系统
幸福这个字太刺眼
NTC
2023-11-11
2条回答
问
数字温度报警器 能实现什么功能
宝丫头
一般是超限报警。不过可以找人定制一些报警器的功能。
2023-11-11
2条回答
问
热电偶温度传感器和热电阻温度传感器在应用上的区别
匿名用户
热电偶应用上需要冷端温度补偿,热电阻不需要。热电偶自己送出毫伏级电信号,热电阻只是电阻改变。你百度一下冷端温度补偿就好了,资料很多。
2023-07-16
4条回答
问
DS18B20温度传感器实现实时温度测量
匿名用户
/******************************************************** * DS18B20温度传感器 * * C51 * * yajou 2008-06-28 无CRC * ********************************************************/ #include "reg51.h" #include "intrins.h" #include "DS18B20.h" /******************************************************** * us延时程序 * ********************************************************/ void Delayus(uchar us) { while(us--); //12M,一次6us,加进入退出14us(8M晶振,一次9us) } /******************************************************** * DS18B20初始化 * ********************************************************/ bit Ds18b20_Init(void) //存在返0,否则返1 { bit temp = 1; uchar outtime = ReDetectTime; //超时时间 while(outtime-- && temp) { Delayus(10); //(250)1514us时间可以减小吗 ReleaseDQ(); Delay2us(); PullDownDQ(); Delayus(100); //614us(480-960) ReleaseDQ(); Delayus(10); //73us(>60) temp = dq; Delayus(70); //us } return temp; } /******************************************************** * 写bit2DS18B20 * ********************************************************/ void Ds18b20_WriteBit(bit bitdata) { if(bitdata) { PullDownDQ(); Delay2us(); //2us(>1us) ReleaseDQ(); //(上述1-15) Delayus(12); //86us(45- x,总时间>60) }else { PullDownDQ(); Delayus(12); //86us(60-120) } ReleaseDQ(); Delay2us(); //2us(>1us) } /******************************************************** * 写Byte DS18B20 * ********************************************************/ void Ds18b20_WriteByte(uchar chrdata) { uchar ii; for(ii = 0; ii < 8; ii++) { Ds18b20_WriteBit(chrdata & 0x01); chrdata >>= 1; } } /******************************************************** * 写 DS18B20 * ********************************************************/ //void Ds18b20_Write(uchar *p_readdata, uchar bytes) //{ // while(bytes--) // { // Ds18b20_WriteByte(*p_readdata); // p_readdata++; // } //} /******************************************************** * 读bit From DS18B20 * ********************************************************/ bit Ds18b20_ReadBit(void) { bit bitdata; PullDownDQ(); Delay2us(); //2us( >1us) ReleaseDQ(); Delay8us(); //8us( <15us) bitdata = dq; Delayus(7); //86us(上述总时间要>60us) return bitdata; } /******************************************************** * 读Byte DS18B20 * ********************************************************/ uchar Ds18b20_ReadByte(void) { uchar ii,chardata; for(ii = 0; ii < 8; ii++) { chardata >>= 1; if(Ds18b20_ReadBit()) chardata |= 0x80; } return chardata; } /******************************************************** * 读 DS18B20 ROM * ********************************************************/ bit Ds18b20_ReadRom(uchar *p_readdata) //成功返0,失败返1 { uchar ii = 8; if(Ds18b20_Init()) return 1; Ds18b20_WriteByte(ReadROM); while(ii--) { *p_readdata = Ds18b20_ReadByte(); p_readdata++; } return 0; } /******************************************************** * 读 DS18B20 EE * ********************************************************/ bit Ds18b20_ReadEE(uchar *p_readdata) //成功返0,失败返1 { uchar ii = 2; if(Ds18b20_Init()) return 1; Ds18b20_WriteByte(SkipROM); Ds18b20_WriteByte(ReadScr); while(ii--) { *p_readdata = Ds18b20_ReadByte(); p_readdata++; } return 0; } /******************************************************** * 温度采集计算 * ********************************************************/ bit TempCal(float *p_wendu) //成功返0,失败返1 (温度范围-55 --- +128) { uchar temp[9],ii; uint tmp; float tmpwendu; TR1 = 0; TR0 = 0; //读暂存器和CRC值----------------------- if(Ds18b20_ReadEE(temp)) { TR1 = 1; TR0 = 1; return 1; } //------------------------------------- //CRC校验------------------------------ // //此处应加入CRC校验等 // // //------------------------------------- //使温度值写入相应的wendu[i]数组中----- for(ii = i; ii > 0; ii--) { p_wendu++; } i++; if(i > 4) i = 0; //------------------------------------- //温度正负数处理----------------------- // //------------------------------------- //温度计算----------------------------- tmp = temp[1]; // tmp <<= 8; // tmp |= temp[0]; //组成温度的两字节合并 tmpwendu = tmp; *p_wendu = tmpwendu / 16; //------------------------------------- //开始温度转换------------------------- if(Ds18b20_Init()) { TR1 = 1; TR0 = 1; return 1; } Ds18b20_WriteByte(SkipROM); Ds18b20_WriteByte(Convert); ReleaseDQ(); //寄生电源时要拉高DQ //------------------------------------ TR1 = 1; TR0 = 1; return 0; } //////////DS18B20.h///////////////////////// /******************************************************** * I/O口定义 * ********************************************************/ sbit dq = P1^3; sbit dv = P1^4; //DS18B20强上拉电源 /******************************************************** * 命令字定义 * ********************************************************/ #define uchar unsigned char #define uint unsigned int #define ReleaseDQ() dq = 1; //上拉/释放总线 #define PullDownDQ() dq = 0; //下拉总线 #define Delay2us() _nop_();_nop_(); //延时2us,每nop 1us #define Delay8us() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //设置重复检测次次数,超出次数则超时 #define ReDetectTime 20 //ds18b20命令 #define SkipROM 0xCC #define MatchROM 0x55 #define ReadROM 0x33 #define SearchROM 0xF0 #define AlarmSearch 0xEC #define Convert 0x44 #define WriteScr 0x4E #define ReadScr 0xBE #define CopyScr 0x48 #define RecallEE 0xB8 #define ReadPower 0xB4 /******************************************************** * 函数 * ********************************************************/ void Delayus(uchar us); //void Dog(void); bit Ds18b20_Init(void); //DS18B20初始化,存在返0,否则返1 void Ds18b20_WriteBit(bit bitdata); //写bit2DS18B20 void Ds18b20_WriteByte(uchar chrdata); //写Byte DS18B20 void Ds18b20_Write(uchar *p_readdata, uchar bytes); //写 DS18B20 bit Ds18b20_ReadBit(void); //读bit From DS18B20 uchar Ds18b20_ReadByte(void); //读Byte DS18B20 bit Ds18b20_ReadRom(uchar *p_readdata); //读 DS18B20 ROM:成功返0,失败返1 bit Ds18b20_ReadEE(uchar *p_readdata); //读 DS18B20 EE :成功返0,失败返1 bit TempCal(float *p_wendu); //成功返0,失败返1 (温度范围-55 --- +128)
2023-07-15
1条回答
问
用18b20温度传感器做温度报警器会的请进
ZJM
用18B20,100米线长,你觉得可以省一根线(比4线制的铂电阻),但选网线本身就是8线的,我看不如选4线制铂电阻好做且100米线长根本就没影响。精度也远比18B28高的多!个人观点仅供参考。
2023-07-11
4条回答
问
一个两线制的0--300度的pt100温度传感器,如何让仪表和温度变送器同时读取到温度???
e3de0550b190
使用带4--20mA模拟量输出的温控表不就可以了吗。pt100温度传感器信号传送到温控表,温控表显示温度的同时输送4--20mA模拟量给PLC 。
2023-06-12
4条回答
问
pt100温度传感器可以测空气温度吗?精确度怎么样?
999fe4e407aa
额,空气温度,不就是常温?你要多少精度的?我们是有荧光光纤温度传感器,精度比PT100更高,更稳定
2023-06-12
2条回答
问
散热器风扇是如何控制其转动的,是通电源就一直转吗,我听说还有的用温度传感器,当温度达到一定程度才转
e7b0a8d2832b
这得看具体是什么位置的散热器风扇,像CPU,显卡,主电源上面的,那肯定就是不停的转的,一些高端的产品会自动调节转速,低温时低速转,反之亦然,但绝对不会停的。而在机箱内的一些辅助排风的散热风扇,转不转问题都不会很大了。
2023-04-22
4条回答
上一页
140/147
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
下一页
求购
首页
找产品
找企业
论坛
我的