大学设计方案单片机温度控制系统.docx
《大学设计方案单片机温度控制系统.docx》由会员分享,可在线阅读,更多相关《大学设计方案单片机温度控制系统.docx(44页珍藏版)》请在冰豆网上搜索。
大学设计方案单片机温度控制系统
1绪论
温度控制,在工业自动化控制中占有非常重要的地位。
单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。
将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。
现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。
但随之而来的是巨额的成本。
在很多的小型系统中,处理机的成本占系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。
温度控制,在工业自动化控制中占有非常重要的地位,如在钢铁冶炼过程中要对出炉的钢铁进行热处理,才能达到性能指标,塑料的定型过程中也要保持一定的温度。
随着科学技术的迅猛发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与自适应能力的要求越来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不确定性以及现场测试手段不完善等,使难以按数学方法建立被控对象的精确模型的情况。
随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。
伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。
2总体设计方案
2.1温度控制的总体设计和思路
在这个系统中我们从性能及设计成本考虑,我们选择AT89S52芯片。
AT89S52的广泛使用,使单片机的价格大大下降。
目前,89S52的市场零售价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;而89S52的功能实际上远远超过以上芯片。
因此,如把89S52作为接口芯片使用,在经济上是合算的。
在温度传感器的选择上我们采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
本制作的最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。
采用温度芯片DS18B20测量温度,体现了作品芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
对于温度的调节系统,我们才用的只是简单的升温和降温方法,当温度低于我们设定的最低温度值时,则单片机系统则会通过一个高电平的脉冲电流直接送给继电器,使连接在继电器上的电阻丝通电产生热量来提高温度。
如果当温度高于我们设定的最高温度值时,则单片机会通过另一个口发出一个高电平的脉冲电流送个继电器,使连在继电器上的一个风扇启动,来降低温度。
在次过程中,我们通过单片机将传感器所测量出来的温度通过数码管显示出来。
这样就能只管的观察到即时的温度情况,以便更好的验证系统的性能。
2.2温度控制方框图
单片机温度控制系统采用的装置有单片机、温度传感器和温度调节设备组成起结构如图2.1硬件结构图所示。
图2.1温度控制系统硬件结构图
3单片机AT89S52的结构和原理
3.1AT89S52单片机的结构
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断
继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图3.1AT89S52引脚图
AT89S52的结构如图3.1所示。
由于它的广泛使用使得市面价格较8155、8255、8279要低,所以说用它是很经济的.该芯片具有如下功能:
①有1个专用的键盘/显示接口;②有1个全双工异步串行通信接口;③有2个16位定时/计数器。
这样,1个89S52,承担了3个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。
89S52有40个引脚,有32个输入端口(I/O),有2个读写口线,可以反复插除。
所以可以降低成本。
3.2AT89S52单片机主要特征
(1)兼容MCS-51指令系统
(2)32个可编程I/O口线
(3)3个16位可编程定时/计数器
(4)全双工UART串行中断口线
(5)8个中断源
(6)中断唤醒省电模式
(7)看门狗(WDT)电路
(8)灵活的ISP字节和分页编程
(9)4k可反复擦写(>1000次)ISPFlashROM
(10)4.5-5.5V工作电压
(11)时钟频率0-33MHz
(12)128x8bit内部RAM
(13)低功耗空闲和省电模式
(14)3级加密位
(15)软件设置空闲和省电功能
(16)双数据寄存器指针
(17)全双工UART串行通道
3.3AT89S52单片机管脚说明
·VCC:
供电电压。
·GND:
接地。
·P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
·P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)·P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
·P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下所示。
在flash编程和校验时,P3口也接收一些控制信号。
如下所示:
引脚号第二功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
·RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
·ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
·/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
·/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
·XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
·XTAL2:
来自反向振荡器的输出。
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
AT89S52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
·晶振特性
AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分
别是放大器的输入、输出端。
从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入。
由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平
图3.2AT89S52内部结构图
持续时间等还是要符合要求的。
·空闲模式
在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。
这种状态可以通过软件产生。
在这种状态下,片上RAM和特殊功能寄存器的内容保持不变。
空闲模式可以被任一个中断或硬件复位终止。
由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部RAM,而可以访问端口引脚。
空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。
·中断
AT89S52有6个中断源:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
IE.6位是不可用的。
对于AT89S52,IE.5位也是不能用的。
用户软件不应给这些位写1。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来
4温度控制的硬件设备
4.1温度传感器的选择
4.1.1温度传感器
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
DS18B20原理与特性本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。
首先先来介绍一下DS18B20这块传感器的特性及其功能:
DSl8B20的管脚及特点DS18B20可编程温度传感器有3个管脚。
内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图4.1
图4.1DS18B20的外形及管脚图
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可以并联在唯一的三线上,实现组网多点测温。
DS18B20的内部结构DS18B20内部功能模块如图4.2所示,
图4.2DS18B20的内部结构DS18B20内部功能模块图
4.1.2DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同DS18B20为9位~12位A/D转换精度,而DS1820为9位A/D转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
如下3.3的测温原理图不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图4.3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
则高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值时。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直
到计数器2计数到0时,停止温度寄存器值。
图4.3DS18B20的测温原理框图
4.1.3DS18B20使用中注意事项
DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。
2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。
当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
3)连接DS18B20的总线电缆是有长度限制的。
实验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每M绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
4)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
4.2继电器
4.2.1固态继电器的原理及结构
SSR按使用场合可以分成交流型和直流型两大类,它们分别在交流或直流电源上做负载的开关,不能混。
交流型的SSR的工作原理,图4.4是它的工作原理框图,图4.4中的部件构成交流SSR的主体,从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。
工作时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为A、B端输入的控制信号提供一个输入/输出端之间的通道,但又在电气上断开SSR中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入/输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这使SSR的输入端很容易做到与输入信号电平相匹配,在使用可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。
触发电路的功能是产生合乎要求的触发信号,驱动开关电路工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。
所谓“过零”是指,当加入控制信号,交流电压过零时,SSR即为通态;而当断开控制信号后,SSR要等待交流电的正半周与负半周的交界点(零电位)时,SSR才为断态。
这种设计能防止高次谐波的干扰和对电网的污染。
吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计的,一般是用“R-C”串联吸收电路或非线性电阻(压敏电阻器)。
图4.4固态继电器的工作原理图
直流型的SSR与交流型的SSR相比,无过零控制电路,也不必设置吸收电路,开关器件一般用大功率开关三极管,其它工作原理相同。
不过,直流型SSR在使用时应注意:
负载为感性负载时,如直流电磁阀或电磁铁,应在负载两端并联一只二极管,二极管的电流应等于工作电流,电压应大于工作电压的4倍。
SSR工作时应尽量把它靠近负载,其输出引线应满足负荷电流的需要。
使用电源属经交流降压整流所得的,其滤波电解电容应足够大。
4.2.2固态继电器的特点
SSR成功地实现了弱信号(Vsr)对强电(输出端负载电压)的控制。
由于光耦合器的应用,使控制信号所需的功率极低(约十余毫瓦就可正常工作),而且Vsr所需的工作电平与TTL、HTL、CMOS等常用集成电路兼容,可以实现直接联接。
这使SSR在数控和自控设备等方面得到广泛应用。
在相当程度上可取代传统的“线圈—簧片触点式”继电器(简称“MER”)。
SSR由于是全固态电子元件组成,与MER相比,它没有任何可动的机械部件,工作中也没有任何机械动作;SSR由电路的工作状态变换实现“通”和“断”的开关功能,没有电接触点,所以它有一系列MER不具备的优点,即工作高可靠、长寿命(有资料表明SSR的开关次数可达108-109次,比一般MER的106高几百倍);无动作噪声;耐振耐机械冲击;安装位置无限制;很容易用绝缘防水材料灌封做成全密封形式,而且具有良好的防潮防霉防腐性能;在防爆和防止臭氧污染方面的性能也极佳。
4.2.3固态继电器应用电路
(1)基本单元电路
如图4.5a所示为稳定的阻性负载,为了防止输入电压超过额定值,需设置一限流电阻Rx;当负载为非稳定性负载或感性负载时,在输出回路中还应附加一个瞬态抑制电路,如图4.5b所示,目的是保护固态继电器。
通常措施是在继电器输出端加装RC吸收回路(例如:
R=150Ω,C=0.5μF或R=39Ω,C=0.1μF),它可以有效的抑制加至继电器的瞬态电压和电压指数上升率dv/dt。
在设计电路时,建议用户根据负载的有关参数和环境条件,认真计算和实验RC回路的选值。
另一个常用的措施是在继电器输出端接入具有特定钳位电压的电压控制器件,如双向稳压二极管或压敏电阻(MOV)。
压敏电阻电流值应按下式计算:
Imov=(Vmax-Vmov)/ZS其中ZS为负载阻抗、电源阻抗以及线路阻抗之和,Vmax、Vmov分别为最高瞬态电压、压敏电阻的标称电压,对于常规的220V和380V的交流电源,推荐的压敏电阻的标称电压值分别为440-470V和760-810V。
在交流感性负载上并联RC电路或电容,也可抑制加至SSR输出端的瞬态电压和电压指数上升率。
但实验表明,RC吸收回路,特别是并联在SSR输出端的RC吸收回路,如果和感性负载组合不当,容易导致振荡,在负载电源上电或继电器切换时,加大继电器输出端的瞬变电压峰值,增大SSR误导通的可能性,所以,对具体应用电路应先进行实验,选用合适的RC参数,甚至有时不用RC吸收电路更有利。
对于容性负载引起的浪涌电流可用感性元件抑制,如在电路中引入磁干扰滤波器、扼流圈等,以限制快速上升的峰值电流。
另外,如果输出端电流上升变化率(di/dt)很大,可以在输出端串联一个具有高磁导率的软化磁芯的电感器加以限制。
(a)(b)
图4.5继电器结构连接图
(2)多功能控制电路
图4.5a为多组输出电路,当输入为“0”时,三极管BG截止,SSR1、SSR2、SSR3的输入端无输入电压,各自的输出端断开;当输入为“1”时,三极管BG导通,SSR1、SSR2、SSR3的输入端有输入电压,各