24单片机温度控制系统的设计.docx
- 文档编号:1129755
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:31
- 大小:159.92KB
24单片机温度控制系统的设计.docx
《24单片机温度控制系统的设计.docx》由会员分享,可在线阅读,更多相关《24单片机温度控制系统的设计.docx(31页珍藏版)》请在冰点文库上搜索。
24单片机温度控制系统的设计
单片机温度控制系统的设计
专业:
电气工程及其自动化姓名:
卫少魁指导教师:
王彩霞
摘要在能源日益紧张的今天,常用的家用电器如饮水机,电热水器,电饭煲在保温时,由于其温度控制系统简单,利用温敏电阻来实现温控,因而会造成很大的能源浪费。
所以在这些用电设备的设计中,系统对能源的消耗成为必要的因素之一。
本文设计一个饮水机的温度控制系统,利用单片机体积小、功能强、成本低、应用面广等特点,以AT89C51单片机作为饮水机温度控制系统的核心,采用温度检测电路,温度控制电路,时钟电路,显示电路等组成。
采用线性度好、灵敏度高的数字温度传感器DS18B20,并采用了PID控制算法,增强了系统的稳定性和抗干扰能力。
该系统灵活性强,易于操作,可靠性高,有更广阔的开发前景。
关键词AT89C51,单片机,饮水机,温度传感器,温度检测
1.引言
在上世纪后期,饮水机在我国得到了迅速的发展。
饮水机不属于高技术含量的商品,所以尽管全球面临着通货紧缩的形势,到处呈现社会需求减少和生产过剩的现象,但是饮水机市场还是以极快的速度迅速发展壮大,很多商家都加入到了这个新兴的行业中来,形成激烈的竟争局面。
进入二十一世纪后,饮水机的发展更加迅速,向着多样化,智能化的方向发展。
目前,饮水机已经成为发展最快的家电之一,饮水机市场将呈现一片繁荣的景象。
本设计介绍了以AT89C51单片机为控制核心,以传感器DS18B20采集温度信号,并将信号送入单片机AT89C51,通过软件编程AT89C51可以驱动各个管脚连接的功能模块实现各个功能,如温度采集、温度设定、显示等。
文章着重的介绍了系统的硬件及软件设计。
该系统的特点是电路结构简单、系统的可靠性高。
2系统总体设计
2.1系统的工作原理
系统的设计首先要达到对饮水机温度的检测和控制,在此基础上,要达到一定的控制精度。
其中AT89C51单片机是整个控制系统的核心部分,采用DS18B20温度传感器,测量温度可精确到0.5℃,并通过DS18B20采集当前的水温,然后将信号送给显示模块实时显示当前容器中的水温,并和设定的温度值相比较,CPU根据温度系统当前的水温,以及环境温度等参数对加热装置进行控制,当实际水温低于设定温度时,系统能够通过加热机构的工作自动调节水温,通过这样反复动作可使饮水机的水温保持在一定温度范围内基本不变,从而达到自动控制的目的。
系统结构图如图2.1。
图2.1温度控制系统结构图
2.2AT89C51单片机的介绍[1]
图2.2是按功能划分的89C51单片机内部结构框图,各模块及其基本功能为:
⑴一个8位中央处理器CPU。
它由运算器和控制器构成,包括振荡电路和时钟电路,主要完成单片机的运算和控制功能,是单片机的核心部件,决定了单片机的主要性能。
⑵4KB的片内程序存储器FlashROM,用于存放目标程序及一些原始数据和表格,89C51的地址总线为16位,确定了其程序存储器可寻址范围为64KB。
⑶片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、最终结果以及要显示的数据等。
⑷4个8位并行I/O接口P0~P3,每个端口既可以用作输入,也可以用作输出。
图2.289C51单片机结构框图
⑸两个16位的定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。
⑹具有5个中段源,两个中断优先级的中断控制系统。
可以处理外部中断、定时器/计数器中断和串行口中断。
⑺一个全双工UART的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信。
2.2.1AT89C51的主要特性
·AT89C51与MCS-51单片机兼容。
·4K字节可编程闪烁存储器。
·1000次写/擦周期。
·数据保留时间为10年。
·全静态工作0Hz-24MHz。
·三级程序存储器锁定。
·128×8位内部RAM。
·32可编程I/O线。
·具有两个16位定时器/计数器。
·5个中断源。
·可编程串行通道。
·低功耗的闲置和掉电模式。
·片内振荡器和时钟电路。
2.2.2AT89C51主要引脚及功能[2]
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机(Sing-ChipMicrocomputer)。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。
其引脚排列图及主要引脚功能如下所示。
图2.3AT89C51引脚分布图
1.主电源引脚VCC和GND
VCC:
供电电压。
GND:
接地
2.输入/输出引脚
P0口:
P0口是一个漏极开路的8位准双向I/O端口,作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。
当P0口作为输入口使用时,应先向口锁存器写入1,此时P0口的全部引脚浮空,可作为高阻抗输入。
在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。
在此期间,P0口内部上拉电阻有效。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O端口。
P1口的输出缓冲器可驱动4个TTL输入。
P1口管脚写入1后,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P1口被外部下拉为低电平时,将输出一个电流(IIL),这是由于内部上拉电阻的缘故。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O端口。
P2口的输出缓冲器可驱动4个TTL输入。
当P2端口写1时,通过内部的上拉电阻把端口提到高电位,这时可用作输入口。
P2口作为输入时,P2口的管脚被外部拉低,将输出一个电流(IIL)。
这是由于内部上拉电阻的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出高八位地址。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口是一个带有内部上拉电阻的8位双向I/O端口。
P3口的输出缓冲器可驱动4个TTL输入。
当P3端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3作为输入口时,由于外部下拉为低电平,P3口将输出电流(IIL),这是由于上拉电阻的缘故。
在89C51中,P3端口还有一些复用功能。
其复用功能如下表所示:
表2-1P3口引脚的复用功能
3.控制信号或与其他电源复用引脚
RST:
复位信号输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许信号端。
当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。
当CPU访问外部存储器时,ALE输出信号作为锁存低8位地址的控制信号。
ALE端的负载驱动能力为8个LS型TTL负载。
平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。
如果想确认89C51芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。
若有脉冲信号输出,则89C51基本上是好的。
此引脚的第二功能/PROG在对片内带有4KBFlashROM的89C51编程写入时,作为编程脉冲输入端。
/PSEN:
程序存储允许输出信号端。
在由外部程序存储器取指令期间,每个机器周期两次/PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/PSEN端同样可驱动8个LS型TTL负载。
/EA/VPP:
外部程序存储器地址允许输入端/固化编程电压输入端。
当/EA引脚接高电平时,CPU只访问片内FlashROM并执行内部程序存储器中的指令,但当PC的值超过0FFFH时,将自动转去执行片外程序存储器内的程序。
当/EA引脚接低电平时,CPU只访问片外ROM并执行片外程序存储器中的指令,而不管是否有片内程序存储器。
然而需要注意的是,如果保密位LB1被编程,则复位时在内部会所存/EA端的状态。
4.外接时钟引脚XTAL1和XTAL2
XTAL1:
振荡电路反相放大器的输入端,振荡电路的频率就是晶体的固有频率。
在采用外部时钟时,该引脚输入外部时钟脉冲。
XTAL2:
振荡电路反相放大器的输出端。
若须采用外部时钟电路,则该引脚悬空。
要检查89C51的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。
2.3温度传感器
本文选择DS18B20温度传感器,DS18B20是一种数字温度传感器,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
其主要特点如下:
1、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
2、测温范围为-55℃~+125℃,测温精度为0.5℃。
3、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温
4、工作电源:
3~5V
5、在使用中不需要任何外围元件。
6、测量结果以9~12位数字量方式串行传送。
DS18B20最大的特点是采用一线通信接口。
由于是一线通信接口,所以要先完成ROM设定,否则记忆和控制功能将无法使用。
首先提供以下功能命令之一:
①读ROM,②ROM匹配,③搜索ROM,④跳过ROM,⑤报警检查。
这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上的多个器件中选定某一个器件,同时,总线也可以知道总线上挂有多少什么样的设备。
因为DS18B20是一线式的数字温度传感器,温度数据直接从其串行输出,输出的就是数字量了,单片机可以直接接收,所以就不需要再加A/D转换电路。
[3]
2.4控制算法的选择
PID控制是按偏差的比例、积分和微分进行控制,是控制理论中技术最成熟,应用最广泛的一种控制技术。
而且由于PID控制算法原理简单,实现方便,其控制器结构简单,参数调整方便,稳定性好,适应性强,而且适用于各种不同的对象,可以根据经验进行调整,从而得到满意的控制效果。
所以本文选用PID控制算法。
2.4.1PID参数对控制性能的影响[4]
1.比例控制KP对控制性能的影响
⑴对动态特性的影响
比例控制KP加大,使系统的动作灵敏速度加快,KP偏大,振荡次数增多,调节时间加长。
当KP太大时,系统会趋于不稳定。
若KP太小,又会使系统的动作缓慢。
⑵对稳态特性的影响
加大比例控制KP,在系统稳定的情况下,可以减小稳态误差eSS,提高控制精度,但是加大KP,只是减少eSS,却不能完全消除稳态误差。
2.积分控制Ti对控制性能的影响
⑴对动态特性的影响
积分控制Ti通常使系统的稳定性下降。
Ti太小系统将不稳定。
Ti偏小,振荡次数较多。
Ti太大,对系统性能的影响减少。
⑵积分控制Ti能消除系统的稳态误差,提高控制系统的控制精度。
但是若Ti太大时,积分作用太弱,以至不能减小稳态误差。
3.微分控制Td对控制性能的影响
⑴当Td偏大时,超调量σP较大,调节时间tS较长。
⑵当Td偏小时,超调量σP也较大,调节时间tS也较长。
2.4.2PID算法
PID调节器的理想运算式为:
(式2.1)
文中温控系统选择平均出水水温与设定水温之间的偏差(T-Ts),通过对此偏差的处理获得控制信号,再去调节电阻的加热功率,从而实现对水温的控制,式中
、
和
的选择可根据实际经验来确定。
2.4.3采样周期T的选取
采样周期的选择应视具体对象而定,反应快的控制回路要求选用较短的采样周期,而反应缓慢的回路可以选用较长的T。
按香农采样定理来选择,实际上,用理论计算来确定采样周期存在一定的困难。
因此,一般按表3.2的经验数据进行选用。
表2-2常见对象选择采样周期的经验数据
2.5显示器
2.5.1显示器的主要参数
1.亮度
亮度L的单位是坎德拉每平方米(cd/㎡)。
对画面亮度的要求与环境光强度有关。
1.对比度和灰度
对比度C是指画面上最大亮度Lmax和最小亮度Lmin之比,即:
(式2.2)
2.分辨力
分辨力是指能够分辨出图像的最小细节的能力,是人眼观察图像清晰程度的标志,通常用屏面上能够分辨出的明暗交替线条的总数来表示。
3.响应时间和余辉时间
响应时间是指从施加电压到出现图像显示的时间,又称上升时间。
从切断电源到图像显示消失的时间称为下降时间,又称余辉时间。
4.显示色
发光型显示器件发光的颜色和非发光型显示器件投射或反射光的颜色称作显示色。
显示色分为黑白、单色、多色和全色四大类。
5.发光效率
发光效率是发光型显示器件所发出的光通量与器件所消耗功率之比。
6.工作电压与消耗电流
驱动显示器件所施加的电压为工作电压(V),流过的电流成为消耗电流(A)。
工作电压与消耗电流的乘积就是显示器件的消耗功率。
2.5.2数码管LED显示器
数码显示器有静态和动态两种显示方式。
LED显示器工作在静态显示方式时,其阴极点(或阳极)连接在一起接地(或+5V)。
LED显示器工作在动态显示方式时,段选码端口I/O1用来输出显示字符的段选码,I/O2输出位选码。
I/O1不断送待显示字符的段选码,I/O2不断送出不同的位扫描码,并使每位显示字符显示一段时间,一般为1-5ms,利用眼睛的视觉惯性,从显示器上便可见到相当稳定的数字显示。
3单元电路的设计
3.1单片机电源电路
饮水机要通过220V电压供电,所以要将电源电压转换成单片机的额定电压,为了提高电路可靠性,电源电路采用交直流自动切换供电的方式,以保证电网停电时计数系统仍能正常工作,其电路原理图如图3.1。
220V交流电经变压器降压,再经桥式电路整流和电容滤波后,输出直流电压,经7805稳压模块稳压输出5V平滑的直流电压供电路使用。
图3.1单片机电源原理图
3.2温度检测电路
本次设计温度的精确度可以达到0.5℃,温度分辨率为:
1℃,系统主要通过数字温度传感器DS18B20对当前水温进行采集,将当前温度值传输给单片机,并通过显示器来显示,并将当前水温与设定温度相比较,当水温低于设定温度值时,加热装置开始工作,直到水温达到设定温度值时,开始进入保温状态。
图3.2DS18B20温度测量电路
3.3复位电路
51单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
51单片机的RST引脚为复位端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现系统复位,使单片机回到初始状态。
复位操作有上电自动复位和按键手动复位两种方式。
3.3.1上电自动复位[5]
上电自动复位是在加电瞬间电容通过充电来实现的,如图3.3所示。
在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。
只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
关于参数的设定,在振荡稳定后应保证复位高电平持续时间大于2个机器周期。
当采用的晶体频率为6MHz时,可取C=22uF,R=1kΩ;当采用的晶体频率为12MHz时,可取C=10uF,R=8.2kΩ。
如果上述电路复位不仅要使单片机复位,而且还要使单片机的一些外围芯片也同时复位,那么上述电阻、电容值应作少许调整。
图3.3上电复位
3.3.2手动复位[5]
所谓手动复位,是指通过接通一个按钮开关,使单片机进入复位状态。
系统上电运行后,若需要复位,一般是通过手动复位来实现的。
通常采用手动复位和上电自动复位组合,其电路如图3.4所示。
图3.4上电复位和按钮复位
复位电路虽然简单,但其作用非常重要。
一个单片机系统能否正常运行,首先要检查是否能复位成功。
初步检查可用示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行实验。
在单片机应用系统中,对系统进行可靠的复位是非常重要的,无论现场出现何种情况,上电后单片机系统都应正常复位。
否则系统会出现严重事故,这在单片机应用系统中是绝对不允许的。
只要RST引脚上持续出现两个机器周期的高电平就可实现系统复位,为了使系统可靠复位,一般脉冲宽度可取大一些,通常可取RST引脚上正脉冲宽度为10ms左右。
单片机在复位后,各寄存器和程序计数器PC的状态见表3.1。
表3-1MCS-51单片机复位状态表
3.4时钟电路
在单片机内部有一个振荡器,可用两种方式为单片机提供时钟信号:
一种是内部时钟方式;另一种是外部时钟方式,考虑到内部时钟方式比较简单,需要用的元件少,所以本文采用内部时钟方式,如图3.5所示。
图3.5单片机时钟电路
采用内部时钟时,只需要提供振荡源,通常以石英晶体振荡器和两个电容组成外部振荡源。
片内的高增益反相放大器通过XTAL1、XTAL2外接,作为反馈元件的片外晶体振荡器与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。
振荡器的频率取决于晶振的晶振频率,振荡频率可在1.2~12MHz之间选择,工程应用时通常采用6MHz或12MHz。
电容可在10~30pF之间选择,通常取30pF。
电容的大小对振荡频率有微小的影响,可起频率微调作用。
3.5继电器控制电路
单片机用于输出控制时,用的最多的功率开关器件是固态继电器。
固态继电器简称SSR(SolidStateRelay),是一种四端器件:
两个接线端为输入端,另两个接线端为输出端,它们之间采用隔离器件隔离,实现输入输出的电隔离。
它是一种新型的无触点电子继电器,利用半导体器件和电子元件的电、磁和光特性来完成各项功能,具有寿命高,可靠性高,灵敏度高,控制功率小,电磁干扰小,与逻辑电路兼容等优点,所以本文中的继电器控制电路采用固态继电器。
其控制电路如图3.6所示。
当温度传感器检测到的水温低于设定值时,单片机需要通过控制电路对水加热,此时继电器触点吸合,加热指示灯亮,饮水机处于加热状态,并通过温度传感器DS18B20进行测温,当水温加热达到设定值时,继电器触点断开,切断加热电路,加热指示灯灭,饮水机停止加热。
图3.6继电器控制电路
4硬件电路的设计
图4.1所示是饮水机温控系统的电路原理图:
图4.1系统硬件电路图
该系统是以AT89C51单片机作为控制的核心,采用数字温度传感器DS18B20来测量当前温度,并直接传送给单片机,通过数码管显示温度,温度控制电路部分使用固态继电器,当水温低于设定温度时,通过电阻排对系统加热,直到温度达到设定值停止加热,再辅以时钟电路和复位电路,使系统达到所需要求。
5软件设计
5.1温度控制流程图
首先设定初值,然后检测水温,并和设定值进行比较,如果达到设定温度,则进入保温状态,如果没有达到设定值,系统自动加热,同时和设定值进行比较,直到达到设定值,停止加热,进入保温状态。
图5.1温度控制流程图
5.2DS18B20测温流程图
本文温度测量采用DS18B20数字温度传感器,主要完成DS18B20对温度值的测量及显示功能。
文中采用模块化设计,程序设计包括初始化、温度转换程序、复位程序、数码管显示程序和延时程序等,对读出的数据进行校验,然后根据读出的数据得到测量出的十进制温度值,并通过单片机将温度值传送给显示模块来显示当前温度值。
其总体流程图如图5.2所示。
图5.2DS18B20测温流程图
6.小结
本文首先对饮水机的发展现状和前景进行了阐述,然后对系统各部分如AT89C51单片机做了简单的介绍,并跟据系统设计的需要选择所需要的控制算法以及测温电路和显示电路,其中温度传感器采用了线性度好、灵敏度高的数字温度传感器DS18B20,可以将所测的温度值直接传送给单片机,并通过LED显示器来显示当前温度,最后对所搭建的系统进行仿真,得到如下结论:
⑴采用51单片机,降低了系统的成本,提高了系统的抗干扰能力,而且本文的温度系统还具有很好的通用性。
⑵温度测量时使用数字温度传感器DS18B20,具有线性度好、灵敏度高的特点,由于DS18B20采用一线通信接口,温度数据直接从其串行输出,输出的就是数字量了,所以不需要接A/D转换电路,使系统更加简单。
参考文献
[1]李朝青《单片机原理及接口技术》,北京:
北京航空航天大学出版社,2005
[2]雷思孝,冯育长《单片机系统设计及工程应用》,西安:
西安电子科技大学出版社,2005
[3]孟立凡,郑宾《传感器原理及应用》,北京:
国防工业出版社,2005
[4]李正军《计算机控制系统》,北京:
机械工业出版社,2005
[5]宋浩,田丰《单片机原理与应用》,北京:
清华大学出版社,2005
[6]徐凤霞,赵成安《AT89C51单片机温度控制系统》,齐齐哈尔大学学报,2004第20卷第1期
[7]张开生,郭国法《MCS-51单片机温度控制系统的设计》,载《微计算机信息》,2005,第21卷第7期
[8]赵鸿图《基于单片机的温度控制系统的设计与实现》,载《微计算机信息》,2008,第24卷第9-2期
[9]叶景《基于单片机的温度控制系统的设计》,载《中国新通信(技术版)》,2008
[10]黄祯祥,邓怀雄,郭延文等《基于MCS-51单片机的温度控制系统》,《现代电子技术》,2005,第6期
[11]张普光,曹海舟《基于51单片机的温度控制系统的硬件设计》,载《软件导刊》,2007
附录
单片机程序:
ORG0000H
LJMPMAIN1
ORG0003H
LJMPINT0
ORG0013H
LJMPINT1
TMPLEQU29H
TMPHEQU28H
FLAG1EQU38H
DATAINBITP3.7
MAIN1:
SETBIT0
SETBEA
SETBEX0
SETBIT1
SETBEX1
SETBP3.6
SETBP3.2
MOV74H,#0
MOV75H,#0
MOV76H,#9
MOV77H,#0
MAIN:
LCALLGET_TEMPER
LCALLCVTTMP
LCALLDISPLAY1
AJMPMAIN
INIT_1820:
SETBDATAIN
NOP
CLRDATAIN
MOVR1,#3
TSR1:
MOVR0,#107
DJNZR0,$
DJNZR1,TSR1
SETBDATAIN
NOP
NOP
NOP
MOVR0,#25H
TSR2:
JNBDATAIN,TSR3
DJNZR0,TSR2
CLRFLAG1
SJMPTSR7
TSR3:
SETBFLAG1
CLRP1.7
MOVR0,#117
TSR6:
DJNZR0,$
TSR7:
SETBDATAIN
RET
GET_TEMPER:
SETBDATAIN
LCALLINIT_1820
JBFLAG1,TSS2
NOP
RET
TSS2:
MOVA,#0CCH
LCALLWRITE_1820
MOVA,#44H
LCALLWRITE_1820
ACALLDISPLAY1
LCALLINIT_1820
MOVA,#0CCH
LCALLWRITE_1820
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 24 单片机 温度 控制系统 设计