分享
2023年智能化水温控制系统.doc
下载文档

ID:1014998

大小:32.50KB

页数:20页

格式:DOC

时间:2023-04-17

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 智能化 水温 控制系统
智能化水温控制系统 水温控制系统 现如今,人们的生活越来越强调智能化以及低碳化,无论是智能化还是低碳化,生活在人们都希望自己的电器越来越智能,即能按照人们的意愿,低功耗的实现功能。水温控制作为人们生活以及工业的重要组成局部,能否实现智能化以及低功耗化十分重要。水温控制系统以STC89C51作为核心的温度控制系统,将DS18B20作为温度感应器,可直接反响数字量的温度信息并可以调节精度;以继电器以及螺旋加热管作为加热模块;以发光二级管以及蜂鸣器作为声光告警装置;以数码管作为温度显示模块。程序上利用PID调节算法,屡次调节其中参数,使得温度控制更加精确。该系统具有简单、本钱低、质量安全可靠的特点。相信无论是在生活还是生产中都会有不错的应用前景。 关键词智能化温度控制STC89C51DS18B20PID调节算法 一.任务以及要求 设计并制作一个水温自动控制系统,水温可以在一定范围内由人工设定,可以实现自动报警功能。 1.根本内容如下: 〔1〕温度设定范围为:40~90℃,最小区分度为1℃,标定温度≤1℃。 〔2〕环境温度降低时温度控制的静态误差≤1℃。 〔3〕用10进制数码管显示水的实际温度。 2.发挥要求: 〔1〕温度控制范围扩大,最小区分度减小。 〔2〕温度控制的静态误差≤0.2℃。 〔3〕特色与创新。 二.方案设计及其论证 水温的控制,必须先精确地获取温度,所以温度传感器的选择就非常重要。通常,温度所测量的是模拟量,模拟量的转换涉及到A/D的转换。温度传感器把温度传送给处理器核心,处理器核心经过分析,判断是否满足处理的条件,进行相关的处理。可实现的动作包括以下几项:到达设定温度,进行声光报警;温度低,进行加热处理。其中温度的设定就要利用到键盘。声光报警就需要用到发光二级管以及蜂鸣器。经以上分析,可以将温度控制系统分为以下几个模块: 1.温度传感器 温度传感器应具有精度足够高、处理速度足够快、体积小等特点。采用DS18B20温度传感器。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出远端引入。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。更重要的是采用该温度传感器后不用采用A/D转换。节省了大量的工作量。 2.键盘显示 按键主要涉及到温度的调节以及模式的转换。显示局部主要涉及到水温的实时显示,以及功能模式的显示。按任务功能需求采用独立键盘,并且利用MCU对键盘进行扫描。这种方案既能很好的控制键盘及显示,又为MCU大大的减少了程序的复杂性,而且具有体积小,简单易做的特点。显示局部按照任务要求采用4位数码管设计,来显示水温以及工作模式等。也具有简单、可靠的特点。 3.CPU核心 CPU主要控制水温以及其他模块的协调工作。是该水温控制系统的核心。根据对方案的分析,采用简单易用的STC89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。具有简单方便、本钱低以及可靠的特点。 经以上分析,只要合理设计电路以及正确编写程序,以上几个模块在MCU以及程序的调节下能协调工作,共同完成水温的控制,从而到达任务要求。 三.理论分析与计算 各个模块要在MCU的调节下合理有序的工作,那么系统必须采用合理高效的控制系统。这就要涉及到过程控制,过程控制指对生产过程的某一或某些物理参数进行的自动控制。过程控制可分为:模拟控制系统、微机过程控制系统以及数字控制系统DDC。模拟控制系统中被控量的值由传感器或变送器来检测,这个值与给定值进行比拟,得到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。微机过程控制系统以微型计算机作为控制器。控制规律的实现,是通过软件来完成的。改变控制规律,只要改变相应的程序即可。 现如今在生产以及实践中运用最多的是DDC(DirectDigitalCongtrol)系统: 图3-1DDC系统构成框图 DDC(DirectDigitalCongtrol)系统是计算机用于过程控制的最典型的一种系统。微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量到达预定的要求。由于计算机的决策直接作用于过程,故称为直接数字控制。 其中控制规律即为PID调节,本系统中为软件实现。涉及到的理论计算如下: 1.模拟PID控制规律的离散化 表一.模拟PID控制规律的数字化公式 模拟形式 离散化形式 2.数字PID控制器的差分方程 式中为比例项 为积分项 为微分项 四.系统设计方案 1.工作模式 本着智能化以及按照题目要求,将系统设计有以下两个个工作模式:A.测定水温以及显示水温;B.设定水温并保温;其中A为默认工作状态,即开机工作状态,工作内容为实时测量水温并在数码管上显示。B为设定温度并保温。由用户设定一定的温度,系统自开工作,加热到设定温度后声光报警,声光报警装置可独立开关,如果不切断电源或切换模式,系统将自动竟然保温模式。其中温度的设定有键盘控制。不管在那种工作模式,一旦复位键按下,将回到默认工作模式。在B工作模式下并且显示实际水温时,按下加键可以显示用户设定温度。根据以上的分析总结如下: 2.电路设计 根据以上的分析,可以将整个系统分为以下几个局部:单片机最小系统,测温电路,功率电路,交流过零检测电路,显示电路,系统框图如下: 〔1〕89C52最小系统 最小系统采用将C52MCU以及独立键盘、数码管集成在一块板上的工作方式。其中P0口接数码管。其他包括复位电路、独立键盘、晶振电路。其电路如以下列图5-1所示: 图5-1最小系统 〔2〕18B20测温电路 测温电路是使用DS18b20数字式温度传感器,它无需其他的外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单。它能够到达0.5℃的固有分辨率,使用读取温度的暂存存放器的方法还能到达0.2℃以上的精度。DS18B20温度传感器只有三根外引线:单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。外部供电方式(VDD接+5V,且数据传输总线接4.7k的上拉电阻,其接口电路如图5-2所示: 图5-2控制电路 〔3〕功率电路 功率电路主要是继电器模块,包括三极管以及电阻组成控制局部,与MCU进行通信。PNP管的导通控制着继电器的常闭触点的接通与否。继电器常闭触点连接着外部加热电路。其中继电器的电感局部连接着二极管,起着引流保护PNP管的作用。其电路如以下列图6-1: 图6-1功率电路 〔4〕声光报警电路 声光报警电路采用蜂鸣器以及二极管串联的形式,通过PNP三极管控制电路通断。利用P3.7来与MCU通信。如以下列图6-2: 图6-2声光报警电路 〔5〕红外接收装置 该局部为创新局部,采用红外接收装置来接受红外遥控器的信号,这样就可以通过无线方式进行信息的传递。通过遥控器可以设定温度,切换工作模式等。工作原理为红外遥控器产生红外信号,红外接收头接收到红外信号后,其内部电路把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不管红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比拟器,比拟器输出上下电平,复原出发射端的信号波形。最终将数字信号传输到MCU,MCU做出相应的反响。其电路如以下列图7-1: 图7-1红外接收装置 五.软件设计说明 〔1〕总流程 本系统是采用查询方式来显示和控制温度的。其中参加了红外以及键盘等的其他控制器件语句。总流程图如以下列图7-2: 图7-2总流程图 〔2〕工作时序 工作时序由初始化模块、测温、显示等模块组成。具体工作时序如以下列图8-1: 图8-1工作时序 〔3〕主要程序 1.主函数如下: #include #include unsignedcharchoice; unsignedcharkey_down; #include"DS18B20.H" #include"PID.H" #include"XIANSHI.H" #include"KEYSCAN.H" #include"INFRARED.H" voidmain() { unsignedinttmp; unsignedcharcounter=0; P2|=0x07;//初始化按键 PIDBEGIN();//初始化PID init_infrared();//初始化红外 ReadTemperature();//预读一次温度 hello();//显示HELLO,屏蔽85°C while(1)//检测红外线 { if(IrOK==1&&Im[0]==0x00) proc_infrared(); if(counter--==0) { tmp=ReadTemperature(); counter=20; } key_scan();//扫描键盘 proc_key();//刷新显示缓存 if(choice==0) update_disbuf(tmp); else update_disbuf(set_tmpbuf); if(pid_on) compare_temper(); else { high_time=0; low_time=100; } } } 2.PID算法温度控制程序 #ifndef_PID_H__ #define_PID_H__ #include #include #include structPID{ unsignedintSetPoint;//设定目标DesiredValue unsignedintProportion;//比例常数ProportionalConst unsignedintIntegral;//积分常数IntegralConst unsignedintDerivative;//微分常数DerivativeConst unsignedintLastError;//Error[-1] unsignedintPrevError;//Error[-2] unsignedintSumError;//SumsofErrors } structPIDspid;//PIDControlStructure unsignedintrout;//PIDResponse(Output) unsignedintrin;//PIDFeedback(Input) sbitoutput=P3; unsignedcharhigh_time,low_time,count=0;//占空比调节参数 unsignedcharset_temper=33; voidPIDInit(structPIDxpp) { memset(pp,0,sizeof(structPID)); } unsignedintPIDCalc(structPIDxpp,unsignedintNextPoint) { unsignedintdError,Error; Error=pp->SetPoint-NextPoint;//偏差 pp->SumError+=Error;//积分 dError=pp->LastError-pp->PrevError;//当前微分 pp->PrevError=pp->LastError; pp->LastError=Error; return(pp->ProportionxError//比例 +pp->Integ

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开