单片机在热敏电阻测温线性化中应用
2013-01-25
申屠恒火 童良忠
标签:

【摘要】

介绍了热敏电阻温度传感器经过温度频率变换电路进行模数转换,利用单片机的计算和查表功能对热敏电阻的温度非线性特性进行线性化处理,提高了热敏电阻测温精度。

关键词

:热敏电阻;温度传感器;单片机;线性化

1 前言

目前大多利用硬件电路对热敏电阻温度非线性特性进行线性化,再经模/数转换送到单片机进行测量并显示,这样不仅线路复杂,难以消除硬件元器件参数随温度变化而引起温度测量误差,且成本相对较高,利用单片机的计算机和查表功能对热敏电阻温度非线性特性进行线性化处理,可以消除硬件参数随温度变化而引起的测量误差,且成本相对便宜,利于维护。

2 硬件设计

硬件由温度传感器、温度频率变换电路、单片机、显示电路等组成,原理如图1所示。

图1 结构原理图

2.1 温度/频率变换电路

温度/频率变换电路由集成块NE555、电阻R0、温度传感器Rt(CWF51A)、振荡电容C0组成无稳态振荡电路,由集成块NE555第3脚输出频率信号,与单片机输入脚2相连。振荡器频率由表1确定。

表1 NE555第3脚输出状态

2脚

6脚

7脚

3脚

≤1/3VCC

<VCC

开路

>1/3VCC

<2/3VCC

保持

保持

>1/VCC

≥2/3VCC

导通

2.2 单片机及显示电路

单片机选用美国Microchop公司生产的PIC16C54芯片,该单片机价格低廉,驱动能极强,可直接驱动数码显示(LED),指令简洁,运行速度快,最快执行单周期指令为200ns,自带看门狗电路,抗干扰能力极强,可在恶劣环境工作。该单片机外围线路,如图1所示。

3 计算分析,建立数学模型

热敏电阻CWF51A的特性:

(1)

式中 Rto——在温度25℃时的热敏电阻阻值

t——被测温度,℃

我们从式(1)中得知温度传感器热敏电阻的电阻随温度呈指数式变化,是一种非线性关系。

根据表1求出振荡器输出信号低电平、高电平的脉宽,脉宽用X表示。

X低=(Ro+Rt)Coln2(2)

X高=RtColn2(3)

由式(2),(3)得

X低-X高=R0C0ln2(4)

再式(3)除式(4)得:

(5)

(6)

如选择R0=Rt0,则得

(7)

从式(7)中知,测量温度跟硬件使用元器件无关,只要求精确测量低电平、高电平脉宽,单片机非常容易做到,因此可消除硬件电路元器件参数随温度变化而引起的测量误差。

把式(7)中左边进行数字化,取温度变化增量△t=1组成数据表格,如表2示。以便单片机进行数字化处理。表2 数字化结果(-10℃~+85℃)

t(℃)

Rt/Rto

t(℃)

Rt/Rto

t(℃)

Rt/Rto

-10

5.104

22

1.133

54

0.337

-9

4.843

23

1.086

55

0.326

-8

4.596

24

1.042

56

0.315

-7

4.364

25

1.000

57

0.305

-6

4.146

26

0.960

58

0.295

-5

3.94

27

0.922

59

0.285

-4

3.745

28

0.885

60

0.276

-3

3.562

29

0.850

61

0.267

-2

3.388

30

0.817

62

0.259

-1

3.225

31

0.785

63

0.25

0

3.07

32

0.755

64

0.242

1

2.924

33

0.726

65

0.235

2

2.785

34

0.698

66

0.227

3

2.655

35

0.672

67

0.22

4

2.531

36

0.647

68

0.213

5

2.414

37

0.622

69

0.207

6

2.303

38

0.599

70

0.201

7

2.198

39

0.577

71

0.194

8

2.098

40

0.556

72

0.189

9

2.004

41

0.536

73

0.183

10

1.914

42

0.516

74

0.177

11

1.829

43

0.498

75

0.172

12

1.748

44

0.480

76

0.167

13

1.672

45

0.463

77

0.162

14

1.599

46

0.447

78

0.157

15

1.53

47

0.431

79

0.153

16

1.464

48

0.416

80

0.148

17

1.402

49

0.401

81

0.144

18

1.343

50

0.388

82

0.14

19

1.286

51

0.374

83

0.136

20

1.232

52

0.361

84

0.132

21

1.181

53

0.349

85

0.128

把上述表格数据存入单片机ROM中。

式(7)右边值由单片机测量计算得到,用Yt来表示在温度t℃时的值。根据Yt在上述数据表格中查找,使Yt夹在两点Rt/Rto之间,这两点为Yn-1、Yn,则得:

Tt=Yn-1+(Yn-Yn-1)△t

选择t的增量制作数据表格,要根据测温要求和单片机ROM容量来确定(△t≤1)。

实测对比结果,如表3示。

表3 实测结果对比(℃)

点温计0.01℃

测量结果

点温计0.01℃

测量结果

-9.1

-9.1

50.91

50.9

0.9

0.9

60.91

50.9

10.9

10.9

70.95

70.9

20.9

20.9

80.92

80.9

30.9

30.9

84.99

84.9

40.89

40.9

4 软件框图

图2 程序框图

5 结论

由NE555和单片机16C54构成测温电路,成本极低,精度又高,且能消除其它元器件参数变化引起测温误差,可广泛应用于家用电器、锅炉控制。

可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号