论文单片机温度控制系统设计.docx
- 文档编号:10494766
- 上传时间:2023-02-14
- 格式:DOCX
- 页数:30
- 大小:303.73KB
论文单片机温度控制系统设计.docx
《论文单片机温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《论文单片机温度控制系统设计.docx(30页珍藏版)》请在冰豆网上搜索。
论文单片机温度控制系统设计
学号:
12202130162
机电工程学院
专科生
毕业论文(设计)
论文题目:
单片机温度控制系统的设计
作者姓名:
周威
专业班级:
电气自动化技术1211班
指导老师:
高双喜
二○一五年五月二日
题目:
基于单片机的温度控制系统的设计
摘要:
本设计以AT89S51单片机为核心的温度控制系统的工作原理和设计方法。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
文中介绍了该控制系统的硬件部分,包括:
温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:
数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、超温报警程序。
关键词:
AT89S51单片机,DS18B20温度芯片,温度控制,串口通讯
目录
1引言3
2设计要求4
3工作原理4
4方案设计4
4.1温度测量部分方案4
4.2主控制部分方案5
5各单元的设计6
5.1键盘单元6
5.2温度控制及超温和超温警报单元7
5.3温度测试单元8
5.4温度控制器件电路8
5.5七段数码管显示单元9
5.6接口通讯单元10
6电源输入部分12
7程序设计12
7.1程序结构分析12
7.2主程序14
7.3程序代码(详见附录程序清单)14
8.测设分析14
结论15
参考文献16
致谢17
附录A:
使用说明18
附录B:
程序清单19
附录C:
仿真与测试图28
1引言
温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。
传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。
控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
2设计要求
设计基于单片计算机的温度控制器,用于控制温度。
具体要求如下:
1.温度连续可调,范围为0℃-40℃
2.超调量σ%≤20%
3.温度误差≤±0.5℃
4.人-机对话方便
3工作原理
温度传感器DS18B20从设备环境的不同位置采集温度,单片机AT89S51获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。
当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。
当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。
系统中将通过串口通讯连接PC机存储温度变化时的历史数据,以便观察整个温度的控制过程及监控温度的变化全过程。
4方案设计
4.1温度测量部分方案
DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围-55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。
综上,在本系统中我采用温度芯片DS18B20测量温度。
该芯的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
温度器的接线电路图如下
4.2主控制部分方案
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
可以看出AT89S51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。
同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。
看门狗定时器(WDT):
WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。
外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。
引脚图详见图4-4
图4-4AT89S51单片机引脚图
5各单元的设计
5.1键盘单元
单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。
键开关状态的可靠输入:
为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响
在这种行列式矩阵键盘非编码键盘的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:
一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照图示的4*4键盘,说明线反转法工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:
向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态来实现的。
方法是:
依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
键盘共有16个按键,用于方便设定温度。
…,数字按键,输入数字0----9;
,设置的确认,修改设置温度时进行确认;
设置的清除,修改设置温度时进行删除;
开启电源
关闭电源
显示及设置转换到温度点1,按此按键后,显示预设置温度的数码管
闪烁;
显示及设置转换到温度点2,按此按键后,显示预设置温度的数码管
闪烁;
表5-1键盘的按键分布
P2.0
0
1
2
3
P2.1
4
5
6
7
P2.2
8
9
F1
F2
P2.3
清除
开启
关闭
确定
P2.4
P2.5
P2.6
P2.7
5.2温度控制及超温和超温警报单元
当采集的温度经处理后超过规定温度上限时,单片机通过P1.4输出控制信号驱动三极管D1,使继电器K1开启降温设备(压缩制冷设备):
当采集的温度经处理后低于设定温度下限时,单片机通过P1.5输出控制信号驱动三极管D2,使继电器K2开启升温设备(加热器1)。
当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。
具体电路连接如图5-1所示。
图5-1具体电路连接图
5.3温度测试单元
采用温度芯片DS18B20。
使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。
5.4温度控制器件电路
单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。
当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电热器加热。
温度慢慢升高。
当温度上升到预定温度时,单片机发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,电热器停止加热。
继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。
连接方法如图5-2所示。
图5-2单片机控制信号
其原理是:
当继电器突然断电时,继电器产生很大的反向电流。
二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。
5.5七段数码管显示单元
本部分电路主要使用七段数码管和移位寄存器芯片74LS164。
单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。
由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。
从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。
具体见实际连线图如图5-3。
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态,逻辑封装图如图5-3:
图5-3逻辑封装图
引出端符号:
CLOCK时钟输入端;CLEAR同步清除输入端(低电平有效);A,B串行数据输入端;QA-QH输出端。
真值表:
表5-2
表5-2真值表
图5-4实际连线图
5.6接口通讯单元
max232资料简介:
该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。
由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。
每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。
主要特点:
1、单5V电源工作
2、LinBiCMOSTM工艺技术
3、两个驱动器及两个接收器
4、±30V输入电平
5、低电源电流:
典型值是8mA
6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28
7、ESD保护大于MIL-STD-883(方法3015)标准的2000V
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
在本设计中采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:
第5脚的GND、第2脚的RXD、第3脚的TXD。
这是最简单的连接方法,但是对我来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接,串口通讯具体如图5-5
图5-5通讯接口连线图
6电源输入部分
控制系统主控制部分电源需要用5V直流电源供电,其电路如图6-1所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。
其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。
由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。
降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。
由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。
需通过低通滤波电路滤波,使输出电压平滑。
稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。
本电路使用集成稳压芯片7805解决了电源稳压问题。
图6-1电源部分连线图
7程序设计
7.1程序结构分析
主程序调用了5个子程序,分别是数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。
键盘扫描电路及按键处理程序:
实现键盘的输入按键的识别及进入相应的程序。
温度信号处理程序:
对温度芯片送过来的数据进行处理,进行判断和显示。
数码管显示程序:
向数码的显示送数,控制系统的显示部分。
继电器控制程序:
控制继电器动作
串口通讯程序:
实现PC机与单片机通讯,将温度数据传送给PC机。
图7-1程序结构图
7.2主程序
程序开始的时候先设置初始化,然后就控制数码管显示当前温度。
接着就判断F1、F2按键是否被按下。
按下F1进入温度控制点1的程序、按下F2进入温度控制点2的程序。
程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。
有按键按下的时候进入按键处理程序。
按下“确定”按键后,程序进入判断程序和继电器控制程序。
继电器动作后,程序回到显示当前程序,并开始循环。
7.3程序代码(详见附录程序清单)
8.测设分析
1、测试环境
环境温度28摄氏度,室内面积20平方米
测试仪器:
数字万用表,温度计0----100摄氏度
2、测试方法
使系统运行,采用温度计同时测量室内度变化情况,得出系统测量的温度。
3、测试结果
设定温度由0摄氏度到40摄氏度
标定温差<=1摄氏度调节时间15s(具体视现场情况)
静态误差<=0.5摄氏度最大超调量1摄氏度
4、通过测试分析,对于实际室内的温度控制,可以再提出以下2点方法:
Ⅰ增加传感器个数,对各个温度传感器采集的数据进行求算术平均,可得到较为准确的温度值。
Ⅱ对实际室内的温度控制,可采用功率较大的电炉,并且通过风扇对箱内温度进行充分搅和,降温设备可采用空气压缩机等制冷设备。
5、通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到0.06℃,但测试得到的数据最小间隔为0.03℃。
通过分析,当对浮点数求平均处理时,遇到同一时刻两个传感头采集的温度相差不大,使0.06℃时求出平均温度变为0.03℃为了解该数据是否真实,可采用一个高精度的数字温度计测试,发现读出的值与其基本一致,由此推断如果在同一时间增加采集温度的个数,则可以进一步提高温度的精度。
结论
在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。
在论文中简单分析了单片机温度控制系统设计过程及实现方法。
本系统的测温范围为-10℃~40℃,温度检测系统根据用户设定的温度范围完成一定范围的温度控制。
89S51的时钟最高可达12M,I/O口可达32个,高的时钟频率和丰富的I/O,都为我们实现电路功能提供了非常有利的条件。
同时也因为开发环境友好,易用,方便,大大加快本系统设计开发。
本制作的设计中使用了继电器控制的只是插座电路,因此,该系统的可扩展性很强。
随着插入插座的电器的不同,可以实现许多其它功能的电路。
参考文献
1曹巧媛主编.单片机原理及应用(第二版).北京:
电子工业出版社,2002
2全国大学生电子设计竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编(2001),北京:
北京理工大学出版社,2003
3何力民编.单片机高级教程.北京:
北京航空大学出版社,2000
4金发庆等编.传感器技术与应用.北京机械工业出版社,2002
5王锦标,方崇智.过程计算机控制.北京:
清华大学出版社,1997;36~40
6邵惠鹤.工业过程高级控制.上海:
上海交通大学出版社,1997;58—62,78—101
7胡寿松.自动控制原理.北京:
国防工业出版社,2000;103—124
8刘伯春.智能PID调节器的设计及应用.电子自动化,1995;(3):
20~25
9KatsuhikoOgata.ModenControlEngineering.Publishinghouseofelectronicsindustry,2000:
196—202
10周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
航空航天
大学出版社,2006.P321~P326
11王忠飞,胥芳.MCS-51单片机原理及嵌入式系统应用[M].西安:
西安电子科技大学出
版社,2007.P268-273
12刘国钧,陈绍业,王凤翥.图书馆目录.第1版.北京:
高等教育出版社,1957
13傅承义,陈运泰,祁贵中.地球物理学基础.北京:
科学出版社,1985,447
14华罗庚,王元.论一致分布与近似分析.中国科学,1973(4):
339~357
15张筑生.微分半动力系统的不变集研究:
[学位论文],北京:
数学系统学研究所,1983
16Microchip24C01B/02B8位PIC®单片机产品手册[ED/OL],
17赵娜,赵刚,于珍珠等.基于51单片机的温度测量系统[J].微计算机信息,2007,1-2:
146-148。
18BorkoH,BernierCL.Indexingconceptsandmethods.NewYork:
Academic
致谢
三年的读书生活在这个季节即将划上一个句号,在这三年的求学生涯中老师、亲友给与了我大力支持,在这个离别的季节我将迈开脚步走向远方,而人生的思考才刚刚开始。
感谢我教书育人的老师,我不是你们最出色的学生,而你们却是我最尊敬的老师。
大学时代的老师治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了对待知识,走向社会的思考方式。
在这里尤其要感谢高双喜老师,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。
感谢父母,,养育之恩,无以回报;感谢同学在我遇到困境时向我伸出援助之手,
同窗之谊我们社会再续;感谢这段时间对我帮助给与关怀的老师,同学,是你们,激励我时时刻刻努力,奋发向上,排除万难勇往直前。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意!
同时也感谢鄂东职业技术学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。
附录A:
使用说明
1、将温度控制箱上的开关全部打到“关”的位置
2、将温度芯片插到温度控制箱的指定位置
3、用串口线将温度控制箱与计算机相连,打开相应的应用程序
4、将用电器的插头插到温度控制箱的插座
5、接上温度控制箱的电源、并打开开关。
在温度控制箱上的数码管显示出当前温度
6、按F1键,进入温度点1的设置。
通过键盘设置所需要的温度,然后按“确定”键。
系统会将设置值与当前值进行比较,通过温度芯片的反馈,单片机控制加热或冷却水的温度,使水的温度稳定在设置的温度上。
从而达到控制温度的作用。
附录B:
程序清单
主程序:
ORG0000H;DS18B20.ASM
DS18SLEQU41H;用于保存读出温度的低8位
DS18SHEQU40H;用于保存读出温度的高8位
DS18FIGEQU8H;是否检测到DS18B20标志位
A_BIT1EQU31H;数码管个位数存放内存位置
B_BIT1EQU32H;数码管十位数存放内存位置
D_BIT1EQU35H ;数码管百位数存放内存位置
DS18CD1EQU42H;DS18CD1-DS18CD8暂存64位ROM
DS18CD2EQU43H;从低到高
DS18CD3EQU44H
DS18CD4EQU45H
DS18CD5EQU46H
DS18CD6EQU47H
DS18CD7EQU48H
DS18CD8EQU49H
DS1864BEQU4AH
DS18ADSEQU4BH
DS18DQEQUP1.0;30H,31H,32H,33H:
X个位十位X
MOD7:
MOVSP,#60H
LCALLGET_TEMP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 单片机 温度 控制系统 设计