传感器温度控制器.docx
- 文档编号:9571157
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:44
- 大小:429.52KB
传感器温度控制器.docx
《传感器温度控制器.docx》由会员分享,可在线阅读,更多相关《传感器温度控制器.docx(44页珍藏版)》请在冰豆网上搜索。
传感器温度控制器
温度监控系统
设计者:
1 设计背景
1.1 设计目的及意义
随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。
本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。
(1)在学习了课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验。
(2)通过实验提高对单片机的认识,提高软件调试能力。
(3)进一步熟悉和掌握单片机的结构及工作原理,通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。
(4)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
(5)熟悉温度控制的工作原理,选择合适的元件,绘制系统电路原理图,运用单片机原理及其应用,进行软硬件系统的设计和调试,加深对单片机的了解和运用,进而提高自己的应用知识能力、设计能力和调试能力。
1.2 总体设计思路
本设计以单片机为基础,温度监控系统大致上可以分为以下几个步骤:
1.2.1系统分析过程
(1)根据系统的目标,明确所采用温度监控系统的目的和任务。
(2)确定系统所在的工作环境。
(3)根据系统的工作要求,确定系统的基本功能和方案。
1.2.2 系统设计内容
(1)构思设计温度监控系统的工作流程。
(2)对要求设计的系统进行功能需求分析,考虑多种设计方案,比较各方案的特点,并确定合理可行的方案,并设计相应的功能结构。
(3)根据系统的控制要求,选择合适型号的芯片及元器件。
(4) 设计以单片机为核心的控制程序。
(5) 电路板及其结构的设计。
(6) 进行系统的调试,完成最终的设
2 总体设计方案设计
2.1 系统框图
本设计为无线电控制电路,系统框图如下所示:
图1-1 系统框图 2.2 系统功能
此设计以单片机为核心的温度监控系统,其功能是:
平常状态下可以做温度计使用。
当温度超过预设温度时二极管会闪烁报警,当温度降下时二极管则停止闪烁。
电路设计及功能如下所述:
本设计大体可分为三个部分,即温度采集,数码显示,报警电路。
温度采集部分利用DS18B20进行温度采集,感知温度,后数码显示出温度,若温度超过了预设温度报警电路则启亮发光二极管,闪烁。
整体电路
复位电路
晶振电路 报警电路
单片机AT89C51
温度传感器
显示电路
3 系统的软件结构设计
3.1 设计的流程图
3.2 系统部分程序设计及分析 3.2.1 复位子程序
(1)主机将信号线置为低电平,时间为480-960uS。
(2)主机将信号线置为高电平,时间为15-60uS。
(3)DS18B20发出60-240uS的低电平作为应答信号,主机收到此信号才操作
3.2.2 读子程序
(1)主机将信号线从高电平拉至低电平1uS以上,再升为高电平,产生读起始信号。
(2)从主机将信号线从高电平拉至低电平15-60uS的时间内,DS18B20将数据放到信号线上,完成1个读周期。
(3)在开始另一个读周期前,必须有1uS以上的高电平恢复期。
读子程序如下所示:
unsigned char duchu(void) {
unsigned char i,j,t=0,w=1;; for(i=0;i<8;i++) {
t=t>>1; s=0; _nop_(); _nop_(); s=1;
for(j=10;j>0;j--); if(s==1) t=t|0x80; else t=t|0x00; for(j=100;j>0;j--); }
return(t); }
3.2.3 写子程序
(1)主机将信号线从高电平拉至低电平,产生写起始信号。
(2)从信号线的下降沿开始,在15-60uS的时间内,DS18B20对信号线检测,如高则写1,低则写0,完成1个写周期。
(3)在开始另一个写周期前,必须有1uS以上的高电平恢复期。
写子程序如下所示:
unsigned char xieru(unsigned char o) char i,j; for(i=0;i<8;i++) {
if((o&0x01)==0) { s=0;
for(j=35;j>0;j--); s=1; } else { s=0;
for(j=2;j>0;j--); s=1;
for(j=33;j>0;j--); }
o=o>>1; } }
3.2.4 其他程序
本设计中除了上述三个子程序外,还涉及到显示程序,数据处理程序,中断程序和延时程序等,由于篇幅原因不作具体介绍.
4 结论
通过这次毕业设计,提升了我的自学能力,通过不断的查阅资料,通过老师的不断讲解,来解决其中遇到的困难,比如如何解决DS18B20控制问题,如何解决报警问题等。
本文所讨论的设计采用了AT89C51单片机作为系统的中央控制单元,DS18B20作为温度采集器,并结合软件编程,实现温度传感电路与单片机的结合。
该系统具有更高速、更灵敏、更简捷地获取被分析、检测、控制对象的温度信息的能力,同时具有良好的抗干扰及环境适应能力(测温范围-55 ℃~+ 125 ℃)。
因其体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,且系统结构较为简单,可大规模的采用,成本低廉。
2.2硬件介绍
计算机工作的外围电路设备
(1)温度传感器
温度传感器采用补偿型NTC热敏电阻其主要性能如下:
①补偿型NTC热敏电阻B值误差范围小,对于阻值误差范围在5%的产品,其一致性、互换性良好。
适合于一般精度的温度测量和计量设备。
②外型结构和尺寸:
图2.2.1温度传感器结构尺寸图
③主要技术参数:
时间常数≤30S
测量功率≤0.1mW
使用温度范围-55~+125℃
耗散系数≥6mW/℃
额定功率0.5W
④降功耗曲线:
图2.2.2温度传感器功耗曲线图
(2)核心处理单元MicroChipPIC16F877A单片机
MicroChipPCI16F877A单片机主要性能:
具有高性能RISCCPU
仅有35条单字指令。
除程序指令为两个周期外,其余的均为单周期指令。
运行速度:
DC-20M时钟输入。
DC-200ns指令周期。
8K*14个FLASH程序存储器。
368*8个数据存储器(RAM)字节。
引脚输出和PIC16C73B/74B/76/77兼容。
中断能力(达到14个中断源)。
8级深度的硬件堆栈。
直接,间接和相对寻址方式。
上电复位(POR)。
上电定时器(PWRT)和震动启动定时器。
监视定时器(WDT),它带有片内可靠运行的RC振荡器。
可编程的代码保护。
低功耗睡眠方式。
可选择的振荡器。
低功耗,高速CMOSFLASH/EEPROM工艺。
全静态设计。
在线串行编程(ICSP)。
单独5v的内部电路串行编程(ICSP)能力。
处理机读/写访问程序存储器。
运行电压范围2.0v到5v。
高输入/输出电流25mA。
商用,工业用温度范围。
低功耗:
在5v,4MHz时典型值小于2mA。
在3v,32KHz时典型值小于20uA。
典型的静态电流值小于1uA。
外围特征:
Timer0:
带有预分频的8位定时器/计数器。
Timer1:
带有预分频的16位定时器/计数器,在使用外部晶体时钟时在
SLEEP期间仍能工作。
Timer2:
带有8位周期寄存器,预分频和后分频器的8位定时器/计数器
2个捕捉器,比较器和PWM模块。
其中:
捕捉器是16位的,最大分辨率为12.5nS。
比较器是16位的,最大分辨率为200nS。
PWM最大分辨率为是10位。
10位多通道模/数转换器。
带有SPI(主模式)和I2C(主/从)模式的SSP。
带有9位地址探测的通用同步异步接收/发送(USART/RCI)。
带有RD,WR和CS控制(只40/44引脚)8位字宽的并行从端口。
带有降压的复位检测电路。
(3)RS-232-C接口电路
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。
①接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机通讯中一般只使用3-9条引线。
RS-232-C最常用的9条引线的信号。
②接口的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。
即:
逻辑。
“1”,-5~-15V;逻辑“0” +5~ +15V 。
噪声容限为2V。
即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。
③ 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。
所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。
④传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10~20%的范围工作的,所以实际使用中最大距离会远超过50英尺。
图2.3.1Max232结构图
(4)继电器
继电器是具有隔离功能的自动开关,广泛用于遥控,遥测,通信,自动控制,机电一体化及电力电子设备中,是最重要的控制元件之一。
继电器是在自动控制电路中起控制与隔离作用的执行部件,它实际上是一种可以用低电压、小电流来控制大电流、高电压的自动开关。
在本系统中,继电器控制的自动温度调节电路和PCI16F877A单片机中程序构成温度自动监测电路,实现对生物培养液温度的监测和自动控制
(5)半导体降温片及电阻加热丝
①半导体制冷器是根据热电效应技术的特点,采用特殊半导体材料热电堆来制冷,能够将电能直接转换为热能,效率较高。
其工作原理如图2.5.1:
图2.5.1半导体降温片工作原理图
半导体制冷片由许多N型和P型半导体之颗粒互相排列而成,而NP之间以一般的导体相连接而成一完整线路,通常是铜、铝或其他金属导体,最後由两片陶瓷片像夹心饼乾一样夹起来,陶瓷片必须绝缘且导热良好,通上电源之後,冷端的热量被移到热端,导致冷端温度降低,热端温度升高。
它的外观如图2.5.2所示。
2)本控制系统是对生物培养液进行温度监控,故太快的温度变化对生物繁殖显
图2.5.2半导体降温片外观图
②本控制系统是对生物培养液进行温度监控,过快的温度变化对生物繁殖显然是不利的,因此在本系统中采用的是高阻抗小功率加热电阻丝进行温度的小范围调节。
3温度控制系统的组成框图
采用典型的反馈式温度控制系统,组成部分见图3.1。
其中数字控制器的功能由单片机实现。
图3.1温度控制系统的组成框图
培养皿的传递函数为
,其中τ1为电阻加热的时间常数,
为电阻加热的纯滞后时间,
为采样周期。
A/D转换器可划归为零阶保持器内,所以广义对象的传递函数为
(3-1-1)
广义对象的Z传递函数为
(3-1-2)
所以系统的闭环Z传递函数为
(3-1-3)
系统的数字控制器为
=
(3-1-4)
写成差分方程即为
(3-1-5)
令
得
(3-1-6)
式中
——第
次采样时的偏差;
——第
次采样时的偏差;
——第
次采样时的偏差;
4温度控制系统结构图及总述
图4.1温度控制系统结构图
图4.1中温度传感器和MicroChipPIC16F877A单片机中的A/D转换器构成输入通道,用于采集培养皿内的温度信号。
温度传感器输出电压经过A/D转换后的数字量与培养皿内的温度给定值数字化后进行比较,即可得到实际温度和给定温度的偏差。
培养皿内的温度设定值由MicroChipPIC16F877A单片机中程序设定。
由MicroChipPIC16F877A单片机构成的数字控制器进行比较运算,经过比较后输出控制量控制由加热和降温电路构成的温度调节电路对培养皿中的培养液温度进行调节。
同时通过电平转换电路把当前温度传输到商用计算机的串口中,由计算机动态的显示培养皿中的温度,正常情况下温度控制由MicroChipPIC16F877A单片机自动控制。
必要时,计算机也可以通过软件来强制改变培养皿中温度。
5温度控制系统软件设计
5.1MicrochipPIC16F877A单片机温度控制系统软件结构图如图5.1.1所示。
图5.1.1单片机温度控制系统软件结构图
5.2单片机控制流程图
图5.2.1单片机控制流程图
5.3温度变换程序模块
温度传感器在12℃到60℃输出2.52V—1.02V,温度起点为12℃,满量程为48℃。
MicroChipPIC16F877A单片机内嵌的10位A/D转换器对应输出的数字量为0000000000B~1111111111B(0~5V),应用以下变换公式进行变换:
AX=A0+(AM-A0)(NX-N0)/(NM-N0)
式中,A0为一次测量仪表的下限。
AM为一次测量仪表的上限。
AX实际测量值。
N0仪表下限对应的数字量。
NM仪表上限对应的数字量。
NX测量值对应的数字量。
5.4温度非线性转换程序模块
采用折线拟合法进行线性化处理
如图5.4.1所示,分为以下几段:
当1.73V≤Ax<2.52V时,T℃=0.06*WN+12
当1.40V≤WN<1.73V时,T℃=0.03*WN+25
当1.24V≤WN<1.40V时,T℃=0.016*WN+40
当1.06V≤WN<1.24V时,T℃=0.018WN+50
表5.4.1温度曲线实际测量数据
温度(℃)
12
13
14
15
16
17
18
电压(V)
2.52
2.48
2.47
2.44
2.40
2.39
2.37
温度(℃)
19
20
21
22
23
24
25
电压(V)
2.32
2.28
2.22
2.15
2.09
1.83
1.73
温度(℃)
26
27
28
29
30
31
32
电压(V)
1.70
1.66
1.64
1.61
1.58
1.56
1.54
温度(℃)
33
34
35
36
37
38
39
电压(V)
1.53
1.50
1.48
1.46
1.45
1.43
1.41
温度(℃)
40
41
42
43
44
45
46
电压(V)
1.40
1.38
1.37
1.35
1.32
1.30
1.29
温度(℃)
47
48
49
50
51
52
53
电压(V)
1.27
1.26
1.25
1.24
1.22
1.20
1.19
温度(℃)
54
55
56
57
58
59
60
电压(V)
1.17
1.16
1.12
1.11
1.09
1.07
1.06
图5-1
图5.4.1温度分段线限等效图
6通信协议的设计
由于温度采集和实施控制是通过单片机控制系统实现,而微机完成温度监控,所以需要采用单片机和微机之间的通信协议。
本设计应用条件为传输距离不超过15米的短距离数据传输,且传输数据量较小,所以采用在控制领域里应用较广泛RS232C串行通信方式。
针对近程小批量的数据通信,设计时采用3线制(RXD,TXD,GND)软握手的零MODEM方式。
即:
将PC机和单片机的“发送数据线(TXD)”与“接收数据(RXD)”交叉连接,二者的地线(GND)直接相连而其它信号线如握手信号线均不用,而采用软件握手。
这样即可以实现预定的任务,又可以简化电路设计节约了成本。
由于RS232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平与TTL,MOS逻辑电平不同。
逻辑0电平规定为+5~+15V之间,逻辑1是电平为-5~-15V之间。
因此在将PC机和单片机的RXD和TXD交叉连接时,必须进行电平转换。
下图即为通信时的硬件连接图,其中器件MAX232完成逻辑电平转换的任务。
图6.1电平转换电路图
注:
在PC机中9针RS232接口中:
2线:
RXD,3线:
TXD,5线:
GND
而在25针的RS232接口中:
3线:
RXD,2线:
TXD,7线:
GND
6.1软件设计
在进行数据通信的软件设计时,必须解决好两个方面的问题:
一是可靠性,二是速度。
而这两方面的问题,可靠性是第一位的,速度只能是在可靠的基础上的速度。
可靠快速转输的实现,需要PC-单片机软件以及通信协议等各个环节的可靠和其间的相互配合。
6.1.1通信协议概述
在设计PC-单片机通信协议时,需说明一点:
在本系统的实际通信中,PC机是主控者单片机只是被动接收者。
采用这种通信协议较双方互为主控者时简单。
本通信协议的设计思想是基于帧传输方式。
即在向RS232串口发送命令信号,应答信号及数据信号时,是一帧一帧地发送的。
为了使数据快速可靠地传输,将每一帧数据唯一对应一命令帧。
此时传输数据即执行命令具体如下:
(1)在PC读数据时,遵循“读命令-等数据-报告”,即PC下达一命令,等待接收数据,根据所接收数据的正误向应用程序报告此命令的执行情况。
(2)在PC写数据时,遵循“写命令-等回应-报告”,即PC下达一写命令(此时所要写的数据含于此命令中),等待单片机发来的“已正确接收”的回应信号,并向应用程序报告此命令执行完毕。
(3)如果在转输过程中,其间PC或MCU所接收任何一帧信号出现错误时,均会向对方发送重发此帧信号的请求。
如果连续三次转输失败,则退出通信并向应用程序报告。
6.2通信协议说明
6.2.1信号帧分类
(1)读命令帧:
当PC读数据时,PC向PIC16F877A发送的命令信号。
(2)写命令帧:
当PC写数据时,PC向PIC16F877A发送的命令信号(内含所要写的数据)。
(3)数据帧:
当PC读数据时,PIC16F877A向PC发送的内含数据信息的信号。
(4)正回应帧:
当PC写数据时,PIC16F877A向PC报告数据已正确接收的信号。
(5)重发命令帧:
当PC读/写数据时,PIC16F877A所接收的信号帧(读/写命令帧)有误时向PC发出的请求重发信号。
(6)放弃命令帧:
当PC读/写数据时出现了使程序无法正常执行时PC或PIC16F877A向对方发出的退出通信的通知信号。
6.2.2信号帧格式
(1)读命令帧格式
帧头标志
帧类型
器件地址
起始地址
长度
校验和
帧尾标志
帧头标志(1Bit):
表示此数据包属于本串口通信协议,并为是否接收此包数据的标志。
帧类型(1Bit):
所用信号帧的识别标志,即1.2.1信号帧分类中的各类型信号的标志字节。
器件地址(1Byte):
PC所要访问的外部器件的地址即是哪一个外部器件。
起始地址(2Byte):
PC所要访问的器件的存贮器起始地址。
长度(1Byte):
一次命令所转输的数据长度。
校验和(1Byte):
此帧信号的校验字节,为异或校验。
帧尾标志(1Byte):
此帧信号的结束标志。
(2)写命令帧
帧头标志
帧类型
器件地址
起始地址
长度
数据区
校验和
帧尾标志
数据区:
所要写的数据信息。
其它分析同上。
(3)数据帧
帧头标志
帧类型
长度
数据区
校验字
帧尾标志
长度:
所转输数据的长度。
数据区:
所转输的数据信息。
其它分析同上。
(4)正响应帧
帧头标志
帧类型
空
校验字
帧尾标志
空无意义:
为了PIC16F877A编程的方便而加入。
其它分析同上。
(5)重发帧
帧头标志
帧类型
空
校验字
帧尾标志
其它分析同上。
(6)放弃帧
帧头标志
帧类型
错误码
校验字
帧尾标志
错误码:
00H执行PC命令发放弃帧回应被动退出通讯。
01HPIC16F877A单片机方写入芯片发生错误主动通知PC退出通讯。
6.2.3通信协议处理流程
(1)数据分帧与数据重组
图6.2.1串口数据发送过程
图6.2.2串口数据接受过程
将应用程序发送过来的数据作为一个数据流放在发送缓冲区中,通过通信协议进行分帧──切割──发送。
在接收端,分帧的数据去掉帧头重新组合到接收缓冲区中,交给应用程序处理,发送过程的示意如图6.2.1,接收过程的示意图如图6.2.2。
单片机串口通信软件设计流程图
图6.2.3单片机串口通信软件流程图
PC接收数据软件设计流程
NN
YY
Y
Y
Y
Y
N
图6.2.4PC串口通信软件设计流程图
6.3PC上位机的软件设计
6.3.1PC软件设计方法的选择
在开发PC上位机的通信程序中,人们常用的编程语言可分为3类:
(1)直接面向底层硬件的汇编语言。
(2)DOS环境下的高级编程语言,如:
C语言等。
(3)Windows环境下的高级编程语言,如:
VC++等。
而在这3种方式中Windows环境下的串口编程以其设备无关性,可移植性以及界面友好等特征而得到广泛应用。
同时在Windows操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 温度控制器 温度 控制器