温度监控系统设计报告.docx
- 文档编号:29627094
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:27
- 大小:270.01KB
温度监控系统设计报告.docx
《温度监控系统设计报告.docx》由会员分享,可在线阅读,更多相关《温度监控系统设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
温度监控系统设计报告
数理与信息工程学院
课程设计
题目:
温度监控系统设计报告
专业:
计算机科学与技术
班级:
姓名:
学号:
实验地点:
指导老师:
成绩:
()
目录
第1节引言1
第2节系统的硬件配置3
2.1硬件介绍3
第3节温度控制系统的组成框图6
第4节温度控制系统软件设计7
4.1MicrochipPIC16F877A单片机温度控制系统软件结构图如图5.1.1所示。
7
4.2单片机控制流程图8
4.3温度变换程序模块9
4.4温度非线性转换程序模块9
第5节通信协议的设计10
5.1软件设计10
5.1.1通信协议概述10
5.2.1通信协议处理流程11
5.3单片机软件设计14
5.3.1波特率14
5.4通信协议设计结论18
5.4.1通信可靠性分析18
5.4.2通信速度分析19
总结20
参考文献21
温度监控系统设计报告
数理与信息工程学院05计算机专升本陈斌斌
指导教师:
余水宝
第1节引言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
本节重点讲述传感器技术。
作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。
传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。
因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。
本文利用单片机结合传感器技术而开发设计了这一温度监控系统。
文中传感器理论单片机实际应用有机结合,详细地讲述了利用热敏电阻作为热敏传感器探测环境温度的过程,以及实现热电转换的原理过程。
本设计应用性比较强,设计系统可以作为生物培养液温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统等等。
课题主要任务是完成环境温度检测,利用单片机实现温度调节并通过计算机实施温度监控。
设计后的系统具有操作方便,控制灵活等优点。
本设计系统包括温度传感器,A/D转换模块,输出控制模块,数据传输模块,温度显示模块和温度调节驱动电路六个部分。
文中对每个部分功能、实现过程作了详细介绍。
整个系统的核心是进行温度监控,完成了课题所有要求。
第2节系统的硬件配置
2.1硬件介绍
计算机工作的外围电路设备
(1)温度传感器
温度传感器采用补偿型NTC热敏电阻其主要性能如下:
①补偿型NTC热敏电阻B值误差范围小,对于阻值误差范围在5%的产品,其一致性、互换性良好。
适合于一般精度的温度测量和计量设备。
②主要技术参数:
时间常数≤30S
测量功率≤0.1mW
使用温度范围-55~+125℃
耗散系数≥6mW/℃
额定功率0.5W
③降功耗曲线:
图2.1.1温度传感器功耗曲线图
(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.1.2Max232结构图
(4)继电器
继电器是具有隔离功能的自动开关,广泛用于遥控,遥测,通信,自动控制,机电一体化及电力电子设备中,是最重要的控制元件之一。
继电器是在自动控制电路中起控制与隔离作用的执行部件,它实际上是一种可以用低电压、小电流来控制大电流、高电压的自动开关。
在本系统中,继电器控制的自动温度调节电路和PCI16F877A单片机中程序构成温度自动监测电路,实现对生物培养液温度的监测和自动控制
(5)半导体降温片及电阻加热丝
①半导体制冷器是根据热电效应技术的特点,采用特殊半导体材料热电堆来制冷,能够将电能直接转换为热能,效率较高。
其工作原理如图2.5.1:
图2.5.1半导体降温片工作原理图
②本控制系统是对生物培养液进行温度监控,过快的温度变化对生物繁殖显然是不利的,因此在本系统中采用的是高阻抗小功率加热电阻丝进行温度的小范围调节。
第3节温度控制系统的组成框图
3.1温度控制系统的组成:
采用典型的反馈式温度控制系统,组成部分见图3.1。
其中数字控制器的功能由单片机实现。
图3.1温度控制系统的组成框图
3.2温度控制系统结构图及总述
图3.2中温度传感器和MicroChipPIC16F877A单片机中的A/D转换器构成输入通道,用于采集培养皿内的温度信号。
温度传感器输出电压经过A/D转换后的数字量与培养皿内的温度给定值数字化后进行比较,即可得到实际温度和给定温度的偏差。
培养皿内的温度设定值由MicroChipPIC16F877A单片机中程序设定。
由MicroChipPIC16F877A单片机构成的数字控制器进行比较运算,经过比较后输出控制量控制由加热和降温电路构成的温度调节电路对培养皿中的培养液温度进行调节。
同时通过电平转换电路把当前温度传输到商用计算机的串口中,由计算机动态的显示培养皿中的温度,正常情况下温度控制由MicroChipPIC16F877A单片机自动控制。
必要时,计算机也可以通过软件来强制改变培养皿中温度。
第4节温度控制系统软件设计
4.1MicrochipPIC16F877A单片机温度控制系统软件结构图如图5.1.1所示。
图4.1.1单片机温度控制系统软件结构图
4.2单片机控制流程图
图4.2.1单片机控制流程图
4.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测量值对应的数字量。
4.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-1
图4.4.1温度分段线限等效图
第5节通信协议的设计
由于温度采集和实施控制是通过单片机控制系统实现,而微机完成温度监控,所以需要采用单片机和微机之间的通信协议。
本设计应用条件为传输距离不超过15米的短距离数据传输,且传输数据量较小,所以采用在控制领域里应用较广泛RS232C串行通信方式。
针对近程小批量的数据通信,设计时采用3线制(RXD,TXD,GND)软握手的零MODEM方式。
即:
将PC机和单片机的“发送数据线(TXD)”与“接收数据(RXD)”交叉连接,二者的地线(GND)直接相连而其它信号线如握手信号线均不用,而采用软件握手。
这样即可以实现预定的任务,又可以简化电路设计节约了成本。
由于RS232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平与TTL,MOS逻辑电平不同。
逻辑0电平规定为+5~+15V之间,逻辑1是电平为-5~-15V之间。
因此在将PC机和单片机的RXD和TXD交叉连接时,必须进行电平转换。
下图即为通信时的硬件连接图,其中器件MAX232完成逻辑电平转换的任务。
图5.1电平转换电路图
注:
在PC机中9针RS232接口中:
2线:
RXD,3线:
TXD,5线:
GND
而在25针的RS232接口中:
3线:
RXD,2线:
TXD,7线:
GND
5.1软件设计
在进行数据通信的软件设计时,必须解决好两个方面的问题:
一是可靠性,二是速度。
而这两方面的问题,可靠性是第一位的,速度只能是在可靠的基础上的速度。
可靠快速转输的实现,需要PC-单片机软件以及通信协议等各个环节的可靠和其间的相互配合。
5.1.1通信协议概述
在设计PC-单片机通信协议时,需说明一点:
在本系统的实际通信中,PC机是主控者单片机只是被动接收者。
采用这种通信协议较双方互为主控者时简单。
本通信协议的设计思想是基于帧传输方式。
即在向RS232串口发送命令信号,应答信号及数据信号时,是一帧一帧地发送的。
为了使数据快速可靠地传输,将每一帧数据唯一对应一命令帧。
此时传输数据即执行命令具体如下:
(1)在PC读数据时,遵循“读命令-等数据-报告”,即PC下达一命令,等待接收数据,根据所接收数据的正误向应用程序报告此命令的执行情况。
(2)在PC写数据时,遵循“写命令-等回应-报告”,即PC下达一写命令(此时所要写的数据含于此命令中),等待单片机发来的“已正确接收”的回应信号,并向应用程序报告此命令执行完毕。
(3)如果在转输过程中,其间PC或MCU所接收任何一帧信号出现错误时,均会向对方发送重发此帧信号的请求。
如果连续三次转输失败,则退出通信并向应用程序报告。
5.2.1通信协议处理流程
(1)数据分帧与数据重组
图5.2.1串口数据发送过程
图5.2.2串口数据接受过程
将应用程序发送过来的数据作为一个数据流放在发送缓冲区中,通过通信协议进行分帧──切割──发送。
在接收端,分帧的数据去掉帧头重新组合到接收缓冲区中,交给应用程序处理,发送过程的示意如图5.2.1,接收过程的示意图如图5.2.2。
单片机串口通信软件设计流程图
图5.2.3单片机串口通信软件流程图
PC接收数据软件设计流程
NN
YY
Y
Y
Y
Y
N
图5.2.4PC串口通信软件设计流程图
5.3单片机软件设计
我们知道影响数据转输产生错误的因素有:
转输线分布参数上下位机间的波特率误差现场干扰等。
而针对近程小批量数据的通信,下位机的波特率误差性是影响可靠通信的最主要因素。
所以在单片机软件的设计时应重点考虑并设置好波特率。
5.3.1波特率
(1)波特率误差来源分析
①单片机的振荡电路是由晶体及电容C1和C2构成。
晶振频率主要由晶体的因有频率决定,同时也与电容C1、C2及外界温度有一定的关系。
另外,晶体频率的标称值与实际值也不可能完全一致。
②波特率最大允许误差分析
在异步串行通信方式1中单片机以16倍波特率的采样速率对接收数据(RXD)不断采样,一旦检测到由1到0的负跳变,16分频计数器立刻复位,使之满度翻转的时刻恰好与输入位的边沿对准。
16分频计数器把每个接收位的时间分为16份,在中间三位即7,8,9,状态时位检测器对RXD端的值采样,并以3取2的表决方式确定所接收的数据位。
由此可见,当波特率的误差使得在接收某位数据位时,采样点离该位的中点半位间隔时将会对该位采样两次。
即:
欲使接收的第N位为正确位时,须满足下式成立:
所允许的波特率误差N>0.54
故当所传输的一帧数据为10位时,所允许的最大的波特率允许误差为5%对于其它常用的8位,9位,11位,一帧的串行传输,其最大的波特率允许误差分别为6.25%,5.56%,和4.5%。
③减小波特率误差的措施
我们知道使用离散度小的晶振是减小波特率误差的关键。
如果,晶振的离散度已超过所允许的范围,此时不宜用其标称值,可以采用测量其波特率的方法来得出实际的晶振波特率值。
(2)单片机软件的实现
①设置通信方式和波特率的值例
……………………
……………………
……………………
MOVSCON,#50H初始化串口设为方式1
MOVTMOD,#20H利用定时器1为波特率发生器并设为模式2
MOVPCON,#XXH设置SMOD值
MOVTH1,#XXH设置定时器初始值
SETBTR1启动定时器1
…………………………
…………………………
…………………………
②等待接收PC机发来的信号帧并按通信协议作出相应响应。
本设计使用的单片机程序如下:
org0000h
movsp,#50h
LOOP1:
MOV3AH,#01H;置路数为1
movr0,#30h;保存数据区首址给R0
movdptr,#7ff0h;P2.7=0,指向IN0(第一路)
mov3bh,#08h;通道总数为8
read:
movx@dptr,a;启动A/D转换
nop
nop
nop
acallwait;等待A/D转换
movxa,@dptr;读转换结果
mov@r0,a;保存转换结果
BIND:
PUSHDPL;取温度值
PUSHDPH
MOVDPTR,#0500H
MOVA,@R0
MOVCA,@A+DPTR
MOV40H,A
BIN2BCD:
;二进值码转换BCD码程序
MOVR1,#43H
MOV43H,#00H;转换前将BCD码清零
MOV44H,#00H
MOVR3,#8;移动8次,
START:
MOVR1,#43H;转换后BCD码地址
MOVA,40H
RLCA
MOV40H,A
MOVR2,#02H;转换后BCD码字节数
BCDCHG:
MOVA,@R1
ADDCA,ACC
DAA
MOV@R1,A
INCR1
DJNZR2,BCDCHG
DJNZR3,START
popdpH
POPDPL
chanf:
mova,3Ah;显示缓冲区地址分配
anla,#0FH
mov48h,a
mova,44h
anla,#0FH
mov4ah,a
mova,43h
anla,#0FH
mov4ch,a
mova,43h
swapa
anla,#0Fh
mov4bh,a
disp:
acallsym;调用判断热电阻是否正常或温度是否超限子程序
acallzero1;调用消隐“0”子程序
pushdpl;显示子程序
pushdph
movdptr,#tab;取段码表首址
MOV28H,#1eH
MOV29H,#066H
dsp1:
mova,48h;显示路数
movca,@a+dptr;查显示数据对应段码
movp1,a;送段码
clrp3.4
acalldll
setbp3.4
dsp2:
clrc;判断温度是否为负。
如是,显示负号
mova,@r0
subba,#56h
jcplus
mov49h,#0bfh
ajmpka
plus:
mov49h,#0ffh
ka:
mova,49h
movp1,a
clrp3.3
acalldll
setbp3.3
dsp3:
mova,4ah;显示温度值百位
movca,@a+dptr
movp1,a
clrp3.2
acalldll
setbp3.2
dsp4:
mova,4bh;显示温度值十位
movca,@a+dptr
movp1,a
clrp3.1
acalldll
setbp3.1
dsp5:
mova,4ch;显示温度值个位
movca,@a+dptr
movp1,a
clrp3.0
acalldll
setbp3.0
DJNZ29H,KK1
MOV29H,#01H
DJNZ28H,KK1;延时,时间未到,循环显示该路温度值
AJMPKK2
KK1:
AJMPDSP1
KK2:
popdph;时间到,显示下一路
popdpl
incr0
inc3ah
incdptr
djnz3bh,fturn;8路未显示完,显示下一路
ajmploop1;8路显示完,从第一路开始显示
fturn:
ajmpread
SYM:
mova,@r0;判断热电阻是否正常或温度是否超限子程序
clrc
subba,#1eh
jncsym1
mov4ah,#0bh;热电阻开路或温度超过50度,显示“HHH”
mov4bh,#0bh
mov4ch,#0bh
ajmpsym3
sym1:
mova,@r0
subba,#0dbh
jcsym3
mov4ah,#0ch;热电阻短路或温度低于-120度,显示“-LLL”
mov4bh,#0ch
mov4ch,#0ch
sym3:
Ret
zero1:
;消隐“0”子程序
mova,4ah
jNzzero2
mov4ah,#0Ah
mova,4bH
jnzzero2
mov4bh,#0ah
zero2:
ret
wait:
movr4,#03ah;等待子程序
djnzr4,$
ret
dll:
MOVR7,#015H;延时子程序
DL1:
MOVR6,#01aH
DL2:
DJNZR6,DL2
DJNZR7,DL1
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H
DB99H,92H,82H,0F8H
DB80H,90H,0ffh,89h,0C7h;其中0FFH是消隐“0”用
ORG051EH
TAB2:
DB32H,31H,30H,2FH,2EH,2DH,2CH,2BH,2AH,29H,28H,28H,27H,26H,25H,24H,23H,22H,21H,20H,1FH,1FHDB1EH,1DH,1CH,1BH,1AH,19H,18H,17H,16H,15H,14H,14H,13H,12H,11H,10H,0FH,0EH,0DH,0CH,0BH,0AHDB0AH,09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,0H,01H,02H,03H,04H,05H,06H,07H,08H,09H,09H
DB0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,12H,13H,14H,15H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1DH
DB1EH,1FH,20H,21H,22H,23H,24H,25H,26H,27H,28H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH,30H,31H,31H
DB32H,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 监控 系统 设计 报告