冷却水温度电控系统设计及仿真课程设计汇编.docx
《冷却水温度电控系统设计及仿真课程设计汇编.docx》由会员分享,可在线阅读,更多相关《冷却水温度电控系统设计及仿真课程设计汇编.docx(32页珍藏版)》请在冰豆网上搜索。
![冷却水温度电控系统设计及仿真课程设计汇编.docx](https://file1.bdocx.com/fileroot1/2023-2/8/43cf9469-ca58-4bc5-afd5-6ed31fbd58e4/43cf9469-ca58-4bc5-afd5-6ed31fbd58e41.gif)
冷却水温度电控系统设计及仿真课程设计汇编
交通与汽车工程学院
课程设计说明书
课程名称:
汽车电控系统实习及课程设计
课程代码:
106010319
题目:
冷却水温度电控系统设计及仿真
年级/专业/班:
2012级车辆工程汽电一班
学生姓名:
陈宇
学生学号:
312012080306426
开始时间:
年月日
完成时间:
年月日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要
本课题以AT89C51单片机系统为核心,对发动机冷却液的温度进行实时检测,并控制其温度在工作范围内。
本设计包括温度采集模块,单片机核心控制模块,显示模块,冷却水控制模块四大部分。
其中,发动机产生热量的功率是固定的40KW,温度采集用电阻式温度传感器DS18B20对冷却水温度进行检测;DS18B20为数字式温度传感器,无须进行AD转换就可被单片机读取,采用单片机作为核心对温度值进行处理并在数码管上显示;根据反馈调节来控制冷却水用量,引入了“挡位”的干扰因素。
系统采用模块化的设计方法,使设计简单,协调得当。
关键词:
AT89C51DS18B20温度检测冷却水用量调节反馈调节
abstract
ThispapertakesAT89C51SCMsystemasthecore,real-timedetectionoftheenginecoolanttemperatureandcontrolthetemperatureintheworkingrange.Thedesignincludesthetemperatureacquisitionmodule,MCUcontrolmodule,displaymodule,coolingwatercontrolmodulefourparts.Amongthem,thepowergeneratedheatengineisfixed40KW,temperatureacquisitiontodetectthetemperatureofthecoolingwaterresistancetypetemperaturesensorDS18B20;DS18B20digitaltemperaturesensor,noADconversioncanberead,usesamicrocontrollerasthecoreofthetemperaturevalueforprocessinganddisplayinthedigitaltube;accordingtothefeedbackregulationtocontrolthecoolingwater,introducedthe"interferencegear".Thesystemadoptsthemoduledesignmethod,thedesignissimpleandcoordinated.
Keywords:
AT89C51DS18B20temperaturemeasurementCoolingwaterdosageadjustmentFeedbackregulation
1引言
1.1设计背景
在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。
自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。
温度对于工业如此重要,本次的任务就是设计一个冷却水温电控系统。
1.2任务与分析
冷却水温度电控系统,主要是水温传感器根据水温的变化产生变化的电信号,输送给ECU,通过系统处理、计算得到实际温度值,当温度过高时加大冷却水的输出量,温度低时减少冷却水输出量,通过LED显示系统报警并进行温度控制。
设计的核心是以AT89C51单片机作为硬件电路的核心。
先应在protell99se中绘制出原理图并作相应的ERC检查,检查无错误后,在相应地方用文本标出注释;其次根据设计思路确定出相应的程序设计方案,并选择最佳的方案,并在Keil软件里面进行程序的编写和调试;最后在程序调试无误后在Proteus中搭建虚拟的单片机仿真平台,并和Keil实现联调,并在Proteus中实现仿真结果。
在做这个控制系统之前,我们可以适当的将冷却水温系统进行简化,假设当冷却水与环境接触的时候,散热效率为100%,当高温度的冷却水经过空气热交换后将与空气等温,此系统我们假设降低1℃的水温,水泵所带动的冷却水流量为VW,,当传感器感知的温度高于我们设置的温度时,根据其偏差值大小,对比我们假设的电机转速与冷却水流量之间的关系,根据PID计算得出占空比,并控制电机转速。
从而调节冷却水温度。
循环水量计算公式:
由公式可以得出,冷却水每降低1℃,需要散发4.187KJ/Kg.℃热量,所需要的循环水量为0.125L。
1.3设计内容及性能指标
本文以AT89C51单片机为核心,通过数字温度传感器对外界环境温度进行数据采集,从
1 水温控制范围(℃)70-85
2 水温控制响应速度20s
3 水温控制精度±7℃
4 水温显示精度±2℃
5 水温显示刷新速度1.5s
6 冷却液容积10L
7 发动机散热需求QW(kJ/S)40
8 散热器散热能力满足
9 水泵流量计算确定
10 水泵效率0.75
11 所有电机效率0.95
2方案设计
2.1系统方案设计论证
2.1.1系统的控制方案设计
方案1:
以单片机AT89C51为核心,通过热电阻传感器产生模拟信号,放大,送入ADC0808进行模数转换,在送入单片机进行处理,引入干扰因素,模拟出冷却水温度的变化值和供水量,传感器的测量精度高,测量范围大,电路稍复杂,程序相对简单。
方案2:
以单片机AT89C51为核心,通过DS18B20数字温度传感器检测冷却水出、入口温度,,送入单片机处理,引入干扰因素,模拟出冷却水温度的变化值和供水量,电路相对简单,程序略微复杂,可操作性强。
2.1.2最终设计方案
本方案以AT89C51单片机系统为核心,对单点的温度进行实时测量检测。
并采用DS18B20数字温度传感器作为温度传感器,进行简单的反馈控制,对于温度信号的采集具有大范围、高精度的特点。
在功能、性能、可操作性等方面都比较容易实现。
选择方案2,设计汽车冷却水温控制系统。
方案设计框图
算法公式:
2.2最终设计方案总体设计框图
温度传感器
LED灯报警
控制冷却系统的电机
LED显示
图2.1系统总体设计框图
当时钟电路的晶振产生外部振荡脉冲信号送入单片机时,单片机开始有条不紊地工作。
AT89C51执行内部的程序,处理从DS18B20送来的信号,并输出到LED显示,并在超过安全阈值时通过单片机调节冷却水的输出量以降低冷却液温度。
3系统硬件设计
3.1硬件设计方案论证
本方案发动机产生的热功率固定,以AT89C51单片机系统为核心,对发动机冷却液的输出量进行动态反馈调节。
并采用DS18B20温度传感器,对于温度信号的采集具有大范围、高精度的特点。
引入“挡位”的干扰因素影响冷却液的输出在功能、性能、可操作性等方面都有较大的提升,具有更高的性价比。
3.1.1单片机选型
8031:
此单片机为MCS-51系列的基本典型产品,其内部包括一个8位CPU、128个字节RAM,21个SFR,4个8位I/O口,2个16位定时/计数器。
AT89C51:
此单片机为ATMEL公司的51系列单片机,除具有MCS-51系列的基本功能外,增加了4K的flash闪存,并且具有6个中断源和一个UART串口。
MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。
MCS-51的数据存储器均可读写,部分单元还可以位寻址。
8051内部RAM共有256个单元,这256个单元共分为两部分。
其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。
从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。
从图1中可清楚地看出它们的结构分布。
在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。
内部RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。
位寻址区共有16个字节,128个位,位地址为00H—7FH。
。
从8031和AT89C51的对比中可以看出,AT89C51具有更高的性能,且不需要扩展程序存储器,使用方便,且具有flash闪存,可以方便的擦除和改写程序,故本次设计采用AT89C51为控制芯片。
AT89C51各端口功能:
1、P0口作输出口用时,需加上拉电阻。
2、P0口有复用功能。
当对外部存储器进行读写操作时,P0口先是提供外部存储器的低8位地址,供外部存储器地址锁存器锁存,然后充当数据线,用于写出或读入数据。
3、P1口、P2口只是普通IO口。
4、P3口所有管脚运有特殊功能:
P3.0----RXD,串行通信输入口,不使用串行通信功能时,可做普通IO口使用
P3.1----TXD,串行通信输出口,不使用串行通信功能时,可做普通IO口使用
P3.2----INT0,外部中断0输入口,不使用外部中断0功能时,可做普通IO口使用
P3.3----INT1,外部中断1输入口,不使用外部中断1功能时,可做普通IO口使用
P3.4----T0,定时器0外部计数输入口,不使用定时器0外部计数功能时,可做普通IO口使用
P3.5----T1,定时器1外部计数输入口,不使用定时器1外部计数功能时,可做普通IO口使用
P3.6----WR,外部存储器写信号,不使用外部存储器写功能时,可做普通IO口使用
P3.7----RD,外部存储器读信号,不使用外部存储器读功能时,可做普通IO口使用
由于只需一个普通IO口,选择了P3.7作为温度采集端口。
3.1.2温度传感器选型
受仿真的约束,在本系统中温度的检测只作为一个开关量使用,当冷却系统开始工作时,冷却水的出入口温度将由初始温度及方程式的影响计算确定。
因此,在本系统中,核心在于单片机对冷却水用量的动态调节,温度传感器本着简单,好用的原则选择数字式的DS18B20。
采集简单,快速。
3.1.3显示方案确定
当前常用的有液晶显示和数码管显示两种显示方法。
液晶显示功能强大,不但可以显示数字字符、德文、法文、点阵显示,还可以显示全部国标汉字,但是也存在与单片机连接时接口电路驱动复杂;显示亮度低,不利于观察;编程困难;成本高等缺点,本系统只显示数字,而且需要考虑到能耗尽量少等问题,数码管内部元件比较简单,耗能相对较低,所以选择了数码管显示。
不但硬件电路简单,造价低廉,而且数码管亮度高,利于我们的观察读数。
3.1.4温度控制方案确定
温度控制采用反馈调节,由于仅仅是程序进行示范控制,缺乏相应的上位机对参数进行实时的调节,因此仅仅进行了比较简单的单一参数反馈,进行了比较粗糙的控制,能动态的调节冷却水的用量来弥补干扰因素引起的误差。
达到了预期设计的目标。
3.2硬件设计
3.2.1单片机接口电路
(1)单片机的时钟电路
单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
单片机的时钟产生方式有两种。
内部时钟方式。
利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。
最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器。
本设计采用内部时钟方式,如图所示:
图3.1时钟电路图
(2)单片机的复位电路
单片机的复位是靠外部电路实现的。
单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。
图3.2复位电路图
3.2.2温度信号的获取
(1)DS18B20数字温度传感器,主要技术参数如下:
1:
技术性能描述
1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
2 测温范围-55℃~+125℃,固有测温分辨率0.5℃。
3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。
4 工作电源:
3~5V/DC。
5 在使用中不需要任何外围元件。
6 测量结果以9~12位数字量方式串行传送。
7 不锈钢保护管直径Φ6。
8 适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温。
9 标准安装螺纹M10X1,M12X1.5,G1/2”任选。
10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
2:
应用范围
1 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域。
2 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。
3 汽车空调、冰箱、冷柜、以及中低温干燥箱等。
4 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。
图3.3信号采集电路
3.2.3显示电路的设计
图3.7显示电路原理图
3.2.4报警电路的设计
图3.8灯光报警电路原理图
3.2.5温控电路的设计
控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。
目前提出的控制算法有很多。
根据偏差的比例(P),积分(I),微分(D)进行的控制称为PID控制,实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。
本系统仅仅采用PID控制中的P控制,即比例反馈控制。
通过采集冷却液出、入口的温度来确定水温的变化,再根据水的比热容公式确定冷却水的用量。
因为每一次的冷却水输出量都会受到“挡位”的干扰,使之不能达到“完美”的冷却降温。
当冷却水过多时,冷却水通过发动机上升的温度将略微下降,反之则上升。
冷却水的入口温度由水箱温度及冷却液出口温度共同确定。
由于每一次冷却液的流经发动机的升温程度不一样,并且存在干扰因素,于是每一次的冷却液的供应量也有所不同。
4软件程序的设计
4.1程序流程
程序主要由主程序和子程序两部分构成。
程序主要实现系统的初始化,显示数据,电机控制。
4.1.1主程序流程图:
图4.1主程序流程图
说明:
初始化为ADC0808的初始化,经过传感器信号的放大并采样后,单片机对数据进行处理并在数码管上显示,同时,判断当前的温度是否高于70,如果高于则启用温度控制子系统,根据当前的温度值和挡位设置的参数来调节冷却水的供应量,进而控制降温设备降温。
4.1.2显示子程序的流程图:
图4.2显示子程序流程图
说明:
P1.0-P1.7控制LED数码管的显示数字,P2.0、P2.1与P2.4至P2.7控制位选端。
达到LED数码管的显示效果。
4.1.3温控子程序的流程图:
是
否
是
否
图4.3温控子程序流程图
说明:
温度控制模块监视系统的温度,如果系统的温度高于70摄氏度,那么系统对当前的冷却水温度进行处理,经过计算,确定冷却水的供应量,减去干扰因数,得到一个确切的冷却水供应量。
冷却水的实际供应量决定了冷却水流经发动机的温度上升数值,从而决定了下一次冷却水的供应量。
由冷却水的温度提高数值来反馈本次温度调节的效果。
5系统调试过程
通过上面的设计,设计已经基本完成。
下面主要实现Protel99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真。
5.1keil调试
程序调试结果如图5.1所示:
Creatinghexfilefrom“wendu”表明.hex文件创建成功。
“wendu”-0Error(s),0Warning(s)表明文件编译结果没有错误。
图5.1程序调试结果
5.2原理图和印制板图绘制和检查
5.2.1在Protel99se绘制原理图并进行相应的ERC检查
打开Protel99se,绘制系统的原理图。
原理图包括能输出时钟电路,驱动电路以及复位电路。
绘制完成的原理图如图5.1:
图5.2原理图的绘制
绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。
ERC检测结果如图5.3:
图5.3ERC电气规则检查
5.3Proteus仿真调试
在Proteus中建立仿真图。
按下开始仿真按钮,开始进行仿真实验,结果如图5.6,图5.7所示:
仿真电路图中实现温度检测和控制,输出到LED数码管显示。
当输入信号70°时,LED就会亮报警,温度控制程序运行。
仿真虽然能运行,但在实际电路中,还需要加入其它的一些电路才能保证单片机能正常工作,实现其功能。
结论
本设计中,是以温度采集及检测及控制为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、5个LED数码管显示器、温度控制单元等。
在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,在很短的时间内系统有序的完成。
温度检测是工业过程控制中一个重要参数,了解到温度检测的重要性,使自己在设计过程中,更加有兴趣和动力,在软件设计方面,遇到了一些实际问题,不过,在老师的指导和同学的帮助下都能一一解决,使自己学到了许多新的知识。
从本设计的资料收集、方案论证到方案设计、修改和最后的完成,得到了老师和同学的指导和帮助,才使本设计顺利完成。
在此表示衷心感谢!
单片机开发过程是一个非常严谨,复杂,科学,细致及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。
能以细致和科学的头脑去考察、分析和解决问题。
同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实事求是,一丝不苟的精神,才能开发出理想的设计出来。
致谢
本设计是在邓鹏毅老师的悉心指导下完成的。
邓老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。
不仅使我树立了远大的学术目标、掌握了控制系统的基本研究方法,还使我明白了许多为人处世的道理。
本设计从选题到完成,每一步都是在老师的指导下完成的,倾注了老师大量的心血。
另外,本设计的完成也离不开各位同学给我的建议和帮助,是他们让我明白了团队合作的精神。
在此,向各位帮助我的老师和同学们表示崇高的敬意和衷心的感谢!
参考文献
[1]台力.微型计算机控制技术.中国水利水电出版社.2001.
(1).124~136
[2]张毅刚.新编MCS-51单片机应用设计.哈尔滨工业大学出版社.2004.
(2).160~198
[3]董敬.汽车拖拉机发动机.机械工业出版社.2003.(20).11~13
[4]赵佩华单片机接口技术及应用.机械工业出版社2003.1
[5]唐岚汽车测试技术机械工业出版社2006.7
[6]付百学微机控制技术北京:
机械工业出版社,2002
[7]程军微机接口技术北京:
北京理工大学出版社,1999
[8]冯渊汽车计算机控制技术北京:
机械工业出版社,1999
附录一程序源代码
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitLCD_SI=P3^0;//clockinput同步时钟输入端
sbitLCD_SCL=P3^1;//datainput/output串行数据输入、输出端
sbitLCD_A0=P3^2;//选择命令还是数据
sbitLCD_RST=P3^3;//复位
sbitLCD_CS=P3^4;//片选
sbitDS=P3^7;
sbitfeng=P3^0;//定义DS18B20接口
sbitlight=P0^5;
sbitMotor=P0^6;
inttemp;
ucharflag1;
inttime=0;
intpower=0;
intContral_scope;//水温控制范围(℃)70-85
intResponse_speed=20;//水温控制响应速度20s
intControl_accuracy;//水温控制精度±7℃
intDisplay_accuracy;//水温显示精度±2℃
intEngine_cooling_requirements=40;//发动机散热需求QW(kJ/S)40
floatDisplay_freshen_speed=1.5;//水温显示刷新速度1.5s
floatCoolant_volume=10;//冷却液容积10L
floatpump_efficiency=0.75;//水泵效率0.75
floatelectrical_efficiency=0.95;//所有电机效率0.95
intT_change;//温升
floatWater_specific_heat=4.187;//水的比热容
floatWater_Density=1000;//水的密度
intQ_change;
intV_change;
ucharcircle_number=1;
ucharwater_apply_ture_math,Tw1_math;
floatTw1=70;
floatTw2;
floatTw1_last,Tw2_last;
floatwater_apply_ture_last,water_apply_ture;
floatwater_apply_should_last,water_apply_should;
voiddisplay();//数字的显示函数;lp为指向数组的地址,lc为显示的个数
voiddelay();
voiddelay50ms();
codeunsignedchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//共阴数码管0-9-_空表
codeunsigned