数字温度自动控制系统毕业设计正文 精品.docx
- 文档编号:25445163
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:40
- 大小:238.94KB
数字温度自动控制系统毕业设计正文 精品.docx
《数字温度自动控制系统毕业设计正文 精品.docx》由会员分享,可在线阅读,更多相关《数字温度自动控制系统毕业设计正文 精品.docx(40页珍藏版)》请在冰豆网上搜索。
数字温度自动控制系统毕业设计正文精品
数字温度自动控制系统毕业设计
摘要
随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。
本文介绍了数字温度测量及自动控制系统的设计。
阐述了以AT89C2051单片机为核心的温度控制系统的工作原理和设计方法。
主要组成部分:
AT89C2051单片机、温度传感器、显示电路、温度控制电路。
它可以实时的显示和设定温度,实现对温度的自动控制。
而且设有大功率驱动电路。
测试表明,本设计对温度的控制有方便、简单的特点,大幅提高了被控温度的技术指标。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
文中介绍了该控制系统的硬件部分,包括:
温度检测与温度控制电路。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
关键词:
温度自动控制;AT89C2051;DS18B20
绪论
温度是表征物体冷热程度的物理量。
在很多生产过程中,特别是在冶金、化工、建材、食品、机械、石油等工业中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。
因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。
将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。
现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。
但随之而来的是巨额的成本。
在很多的小型系统中,处理机的成本占了系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。
随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。
现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且可以很容易地做到多点的温度检测,如果对此原理图稍加改进,还可以进行不同地点的实时温度检测和控制。
第1章
系统总体设计
1.1系统设计任务与要求
1.1.1系统设计任务与要求
该温度自动控制系统采用AT89C2051单片机为主控芯片,传感器采用数字温度传感器DS18B20,实现对温度的检测和控制。
主要技术指标:
可调节的范围为0℃—99℃。
该温度自动控制系统由温度信号采样电路,键盘及显示电路,温度控制电路,电源电路,时钟信号电路等构成,并运用程序算法进行温度控制和调整。
根据设计任务,详细分析温度自动控制系统的设计需求,并进行软硬件的总体设计。
由键盘电路输入设定温度信号给单片机,温度信号采集电路采集现场温度信号给单片机,单片机根据输入与反馈信号的偏差进行计算,输出反馈量给温度控制电路,实现升温。
显示电路实现现场温度的实时监控。
设计人员需完成全部硬件和软件的设计,做出成品并对设计结果进行验证。
1.1.2重点研究内容
本设计包括硬件设计和软件设计。
硬件设计主要包括温度信号采样电路,键盘及显示电路,温度控制电路,电源电路,时钟信号电路等,其中硬件设计重点是键盘及显示电路和温度控制电路。
软件设计主要完成系统初始化、键盘处理子程序、DS18B20和数码管的子程序设计、温度控制计算子程序等工作。
1.1.3实现途径及方法
本系统主要通过资料查找、系统需求分析、系统总体设计,软硬件总体设计、详细的软件与硬件设计、调试、资料整理等步骤来完成。
本系统利用ProtelDXP软件完成硬件电路版设计工作,利用Keil51软件完成系统控制软件的编译调试工作,通过制作成型来用现实生活进行对设计的真实考验。
1.2系统总体方案设计
在这个系统中我们从性能及设计成本考虑,我们选择AT89C2051芯片。
AT89C2051的广泛使用,使单片机的价格大大下降。
目前,AT89C2051的市场零售价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;而AT89C2051的功能实际上远远超过以上芯片。
因此,如把AT89C2051作为接口芯片使用,在经济上是合算的。
在温度传感器的选择上我们采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。
在0—1000C时,最大线形偏差小于10C。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
本制作的最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。
采用温度芯片DS18B20测量温度,体现了作品芯片化的这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
本方案应用这一温度芯片,也是顺应这一趋势。
对于温度的调节系统,我们采用的只是简单的升温方法,当温度低于我们设定的最低温度值时,则单片机系统控制加热装置产生热量来提高温度。
在这个过程中,我们通过单片机将传感器所测量出来的温度通过两位数码管可以显示出来。
这样就能实时显示温度情况。
本设计采用了程序控制。
在工程实际中,程序算法控制以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型,控制理论的其他技术也难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定时,应用程序算法控制技术最为方便。
温度自动控制系统原理框图如图1-1所示:
图1.1温度自动控制系统原理框图
第2章系统硬件各功能模块的设计
2.1主控模块的设计
2.1.1单片机的选择
由于本设计所要完成的功能并不是特别强大,而且对硬件的控制IO口数量要求也不是很多,同时要求有较低的成本控制。
因此本设计打算使用比较常用的一款单片机那就是AT89C2051。
因为它能满足以上的要求,同时它的开发环境也比较成熟。
以下是这款单片机的介绍:
AT89C2051是一种低功耗、高性能CMOS8位微控制器,具有2K在系可编程Flash存储器。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89C2051为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
AT89C2051具有以下标准功能:
2k字节Flash,128字节RAM,15位I/O口线,2个数据指针,两个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片外晶振及时钟电路。
另外,AT89C2051可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89C2051的广泛使用使得市面价格较8155、8255、8279要低,所以说用它是比较经济的。
该芯片具有如下功能:
①有15个通用用的IO接口;②有1个全双工异步串行通信接口;③有2个16位定时/计数器。
这样,1个AT89C52,承担了2个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。
AT89C2051有20个引脚,有15个输入端口(I/O),有2个读写口线,可以反复插除。
所以可以降低成本[1]。
其主要工作特性为:
●内含2KB的Flash存储器,擦写次数达1000次;
●内含128字节的RAM;
●具有16根可编程I/O线;
●具有2个16位可编程定时器;
●具有6个中断源、5个中断矢量、2级优先权的中断结构;
●具有1个全双工的可编程串行通信接口;
●具有1个数据指针DPTR;
●两种低功耗工作模式,即空闲模式和掉电模式;
●具有可编程的3级程序锁定位;
●工作电源电压为5±1.3V,典型值为5V;
●最高工作频率为24MHz。
●引脚排列如图2-1所示。
图2-1AT89C2051引脚排列(PDIP)
2.1.2温度传感器的选择
本设计的温度传感器采用的是DALLAS公司的DS18B20传感器元件原因有它比常用的热电偶传感器有以下好处:
它与热电偶相比少去了一个A/D(模数转换芯片)从而使电路有了很大的简化。
同时本电路的温度测量范围比较小此器件可以满足,同时此器件的测量精度比较高基本能满足本设计的要求。
DS18B20的简介如下:
DS18B20原理与特性:
本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。
首先来介绍一下DS18B20这块传感器的特性及其功能:
DSl8B20的管脚及特点DS18B20可编程温度传感器有3个管脚。
内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及
管脚排列如图2.2所示。
图2.2DS18B20的外形及管脚图
GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。
VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5V。
本文使用外部电源供电。
主要特点有:
1.用户可自设定报警上下限温度值。
2.不需要外部组件,能测量-55~+125℃范围内的温度。
3.-10℃~+85℃范围内的测温准确度为±0.5℃。
4.通过编程可实现9~l2位的数字读数方式,可在至多750ms内将温度转换成12位的数字,测温分辨率可达0.0625℃。
5.独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。
6.测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
7.负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
8.DS18B20支持多点组网的功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温[2]。
DS18B20内部功能模块如图2.3所示,
图2.3DS18B20内部功能模块
DS18B20的工作原理:
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同DS18B20为9位~12位A/D转换精度,而DS1820为9位A/D转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图4.3所示。
图2.4DS18B20的测温原理框图
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
则高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的。
一个基数值时。
计数器1对低温度系数晶振产生脉冲信号,进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直
到计数器2计数到0时,停止温度寄存器值。
DS18B20使用中注意事项
DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。
2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。
当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
3)连接DS18B20的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线采用屏蔽4芯双绞线,其中有一对接地线与信号线,另一组接VCC和地线。
2.1.3复位和时钟电路的设计
本系统中采用上电复位和手动复位键复位相结合的方式。
系统时钟电路设计采用内部方式。
AT89C2051内部有一个用于构成振荡器的高增益反相放大器。
这个放大器与作为反馈元件的片外晶体谐振器构成一个自激振荡器。
外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。
本系统电路采用的晶体振荡器频率为11.0592MHz。
采用这种频率的晶体振荡器的原因是可以方便的获得标准的波特率,为以后的升级留下空间。
复位电路和时钟电路如图2-5所示。
复位电路有上电自动复位和按钮手动复位两种。
上电复位是利用电容充电来实现的,上电瞬间RST/VPD端的电位与VCC相同,随着充电电流的减少,RST/VPD的电位逐渐下降,图2.5中的10K的电阻是施密特触发器输入端的一个下拉电阻,时间常数为10*10-6*10*103s=100ms,只要Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作[6]。
上电复位所需最短时间是震荡周期建立时间加上2个机器周期时间。
按钮复位采用电平复位方式,按下复位电钮时,电源对外接电容充电,使RST/VPD端为高电平,复位按钮松开后,电容通过内部下拉电阻放电,逐渐使RST/VPD端恢复低电平。
图2.5复位电路和时钟电路
2.1.4温度采集电路
数据采集电路如图2.6所示,1脚接地,2脚即为单总线数据口,3脚接电源。
温度传感器DS18B20采集被控对象的实时温度,提供给AT89C2051的P3.5口作为数据输入。
图2.6数据采集电路
2.2人机接口设计
2.2.1键盘的设计
在本设计中采用了矩阵式,键盘分布如图2.7所示。
各键设在行列线的交差点上,有键合上时行列线接通,否则不连通。
行线P10—P13(即A1—A4)通过上拉电阻接+5V,处于输入状态,列线P14—P17(即B1—B4)为输出状态[7]。
图2.7键盘电路
2.2.2显示电路的设计
本设计的显示采用两位0.5寸共阳数码管,采用动态显示方式,因为此种方式的显示比液晶显示要更直观同时更节约成本。
数码管的引脚图如图2.8所示。
图2.8数码管引脚图
数码管采用红色管,其接口为:
第1脚:
为数码管的e端控制脚,来控制数码管的d点的亮灭。
第2脚:
为数码管的d端控制脚,来控制数码管的d点的亮灭。
第3脚:
为数码管的公共极,通过接入一个三极管来控制此数码管的亮灭,同时起到一个动态显示的作用。
第4脚:
为数码管的c端控制脚,来控制数码管的c点的亮灭。
第5脚:
为数码管的dp端控制脚,来控制数码管的点的亮灭。
第6脚:
为数码管的b端控制脚,来控制数码管的b点的亮灭。
第7脚:
为数码管的a端控制脚,来控制数码管的a点的亮灭。
第8脚:
为数码管的公共极与3脚内部相连其作用相同这里不做介绍。
第9脚:
为数码管的f端控制脚,来控制数码管的f点的亮灭。
第10脚:
为数码管的g端控制脚,来控制数码管的g点的亮灭。
在本设计中数码管与单片机的连接如图2.9所示。
单片机的P0口为数据输出口,接到两个的数码管的相同接口,P3.0—P3.1为控制端,分别选择在某一个瞬间是哪个数码管工作。
图2.9显示电路图
2.3功率驱动电路设计
本设计的加热电阻丝的驱动电路采用的是继电器驱动形式,因为继电器驱动与晶闸管形式驱动相比有可靠性高,成本低,不易损坏,电路简单等优点。
因此本设计采用继电器驱动形式。
本设计的驱动电路如图2.10所示。
图2.10继电器驱动电路
第3章软件设计
由于整个系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构,故要求整个控制系统软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内数据关系紧凑,模块间数据关系松散的原则,将各功能模块组织成模块化的软件结构。
系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。
主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将数字量采集并储存到存储器中;数据处理模块是将采集到的数据进行一系列的处理,其中最重要的是将采集回的数字信号转换为实际温度的程序:
控制算法模块完成控制系统的运算并且输出控制量。
3.1主程序模块
主程序模块要做的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、数码管的初始化等。
然后等待温度设定,判断是否温度设定完成,若温度设定已完成则系统继续正常运行,则依次调用各个相关模块,循环控制直到系统停止运行。
主程序模块的程序流程图如图3-1所示。
Y
N
Y
N
N
Y
注:
详细部分子程序详见附录2的
/*主程序*/函数;
/*系统初始化程序*/;
3.2数据采集和显示模块
数据采集模块的任务是负责温度信号的采集以及将采集到的数字量提供给单片机。
AT89C2051通过控制DS18B20读取实时温度,然后,通过P0口送到两位数码管进行显示。
数据采集模块的程序流程图如图3.2所示,显示程序设计框图如图3.3所示。
图3-2数据采集模块程序流程图
N
N
判断是否达到显示次数
Y
图3.3显示程序设计框图
注:
DS18B20和数码管显示的子程序设计详见附录2的
/*DS18B20程序:
*/
/*数码管显示程序:
*/
3.3输入模块
键盘选择程序扫描方式工作,利用CPU在完成其它工作的空闲时间中,调用键盘扫描子程序,来处理键的输入要求。
在执行键功能处理程序时,CPU不再响应其它键输入要求[9]。
键盘处理子程序流程图如图3.4所示:
延时去抖动
图3.4键盘程序设计框图
注:
键盘模块部分子程序详见附录2的
/*voidanjianjianche()*/
第4章调试与仿真
4.1调试
本设计的调试主要分为硬件调试,软件调试和综合调试三部分,以下对其做具体的讲解。
4.1.1硬件调试
由于本设计采用的是由工厂代工制作的成品PCB板为焊接平台,所以在本设计的硬件调试上并没有花费太多的时间,当电路板焊接完成后,首先对电路板进行了一次目检,看看是否有焊盘漏焊和虚焊。
当检查完成时发现一处虚焊后进行二次焊接进行补救。
目检完成后又对电路进行了一次上电监测,对各引脚的电压都进行了测量,结果没有发现异常。
基本检查完成后对电路板进行了一次实际程序实跑监测,像那些大公司一样在硬件焊接完成后要进行一次硬件检测程序的校验已发现有哪些硬件不能正常工作。
因此本设计也写了一个单独对硬件各部分检测的程序,当程序烧写完成后,对电路板进行了一次综合性的检查,结果发现电路板一切正常。
硬件调试结束。
4.1.2软件调试
本设计的软件调试采用的是模块化方式,分别把程序中的每一个子函数做相应的改动后单独烧入芯片后,观察其相应的表现,以此来判断此子函数是否能正常工作。
当每一个子程序检测完成后。
要将程序中体的写在一起来检查一下是否存在个别子程序不兼容的情况,如果发现就予以改正。
至此本设计的软件调试也将告一段落。
4.1.3综合性能调试
综合调试的目的是检测程序中的某些参数是否合理,如不合理将予以改正,还有为各个电路模块安装到现成的盒子内的适当位置。
例如在本设计中由于显示函数中的一个参数写的不合理,导致了当改变预定温度数值时,数码管不能及时的显示出预设的温度,发现了问题后予以改正,问题解决。
在电路模块的安装期间也遇到了问题,发现有些位置不能很可靠的安装到盒子内,后对盒子进行了改造,电路模块顺利的安装完成。
到此调试结。
4.2仿真
本设计的仿真是通过对人为的假的工作环境进行模仿来验证本设计的准确性和可靠性。
具体仿真如下:
将设备接入220伏50赫兹的交流电,然后对设备进行具体的温度设定,大约将温度定在室温以上体温以下。
这时由于室温没有达到预定温度设定值,因此此时单片机控制的加热器具的驱动电路开始工作,继电器被吸合,加热指示灯点亮。
当用手摸住温度传感器后,由于体温高于温度设定值,所以单片机控制用于加热控制的继电器释放,加热器停止加热,同时停止加热的指示灯被点亮。
当手一开后加热器又开始处于加热状态。
说明本设计可以满足我们正常的基本要求,达到了设计标准。
到此仿真结束。
结论
本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。
该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。
同时通过本次的毕业设计也让我深刻的体会到从一个想法到制作成型的艰辛历程。
使我对未来的学习和工作有了一个新的认识和看法。
此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。
本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。
用户可灵活选择本设计的用途,有很强的实用价值。
参考文献
1.[1]马忠梅.单片机的C语言应用程序设计[M].北京:
北京航空航天大学出版社,1998
2.[2]李晓荃.单片机原理与应用[M].北京:
电子工业出版社,2000年8月
3.[3]何立民AVR单片机原理与接口技术[M].北京:
北京航空航天大学出版社,2002
4.[4]杨邦文新型继电器实用手册[M].北京:
北京人民邮电出版社.2004
5.[5]何立民单片机的C语言应用程序设计[M].北京:
北京航空航天大学出版社,1997
6.[6]《模拟电子技术基础》 第三版 高等教育出版社 童诗白 华成英主编
7.[7]《数字电子技术》 清华大学出版社 庞学民主编
8.[8]《单片机原理及接口技术》 北京航空航天大学出版社 李朝青编著
9.[9]《单片机原理及实用技术》 高等教育出版社 李刚民、曹巧媛、曹琳琳、陈忠平编著
10.[10]王幸之,钟爱琴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字温度自动控制系统毕业设计正文 精品 数字 温度 自动控制系统 毕业设计 正文
![提示](https://static.bdocx.com/images/bang_tan.gif)