冷却水温度电控系统说明书_第1页
冷却水温度电控系统说明书_第2页
冷却水温度电控系统说明书_第3页
冷却水温度电控系统说明书_第4页
冷却水温度电控系统说明书_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汽车电控系统课程设计说明书PAGE31- 交通与汽车工程学院课程设计说明书课程名称:汽车电控系统实习及课程设计课程代码:8234590题目:冷却水温度电控系统设计及仿真年级/专业/班:学生姓名:学生学号:开始时间:年月日完成时间:年月日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总分(100)指导教师签名:年月日

目录1引言 -4-1.1设计背景 -4-1.2任务与分析 -4-2方案设计 -5-2.1系统方案设计论证 -5-2.1.1系统的控制方案设计 -5-2.1.2最终设计方案 -5-2.2最终设计方案总体设计框图 -5-3系统硬件设计 -6-3.1硬件设计方案论证 -6-3.1.1单片机选型 -6-3.1.2模数转换器选型 -6-3.1.3显示方案确定 -6-3.1.4温度控制方案确定 -7-3.2硬件设计 -7-3.2.1单片机接口电路 -7-3.2.2温度信号的获取与放大 -8-3.2.3模数转换单元 -9-3.2.4显示电路的设计 -11-3.2.5报警电路的设计 -11-3.2.6温控电路的设计 -12-4软件程序的设计 -13-4.1程序流程 -13-4.1.1主程序流程图: -13-4.1.2显示子程序的流程图: -13-4.1.3温控子程序的流程图: -14-5系统调试过程 -16-5.1keil调试 -16-5.2原理图和印制板图绘制和检查 -16-5.2.1在Protel99se绘制原理图并进行相应的ERC检查 -16-5.3Proteus仿真调试 -18-结论 -21-致谢 -22-参考文献 -23-附录一程序源代码 -24-附录二电路原理图及PCB图 -30-附录三Proteus仿真截图 -31-

摘要本课题以AT89C51单片机系统为核心,对发动机冷却液的温度进行实时检测,并控制其温度在工作范围内。本设计包括温度采集与信号调理模块,单片机核心控制模块,显示模块,降温控制模块四大部分。其中,温度采集用电阻式温度传感器PT100对温度进行检测;采用串型模数转换器ADC0808进行对模拟的温度信号进行A/D转换,把温度信号调解转换为电压信号;采用单片机作为核心对温度值进行处理并在数码管上显示;根据PID控制原理对电机转速和时间进行设定来控制降温设备降温,系统采用模块化的设计方法,使设计简单,协调得当。关键词:AT89C51PT100温度检测ADC0808模数转换PID电机控制

1引言1.1设计背景在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,本次的任务就是设计一个冷却水温电控系统。1.2任务与分析冷却水温度电控系统,主要是水温传感器根据水温的变化产生变化的电信号,输送给ECU,通过系统处理、计算得到实际温度值,当温度过高时便通过LED显示系统报警并进行温度控制。设计的核心是以AT89C51单片机作为硬件电路的核心。先应在protell99se中绘制出原理图并作相应的ERC检查,检查无错误后,在相应地方用文本标出注释;其次根据设计思路确定出相应的程序设计方案,并选择最佳的方案,并在Keil软件里面进行程序的编写和调试;最后在程序调试无误后在Proteus中搭建虚拟的单片机仿真平台,并和Keil实现联调,并在Proteus中实现仿真结果。

2方案设计2.1系统方案设计论证2.1.1系统的控制方案设计方案1:以单片机AT89C51为核心,通过热电阻传感器产生模拟信号,放大,送入ADC0808进行模数转换,在送入单片机进行处理。传感器的测量精度高,测量范围大。方案2:以单片机AT89C51为核心,通过电源发生器产生模拟信号,经过放大、滤波、A/D转换电路,送入单片机处理,电路相对于方案1较为复杂,连线时容易出错。2.1.2最终设计方案本方案以AT89C51单片机系统为核心,对单点的温度进行实时测量检测。并采用热电阻PT100作为温度传感器、OP07E作为信号放大器ADC0808作为A/D转换部件,对于温度信号的采集具有大范围、高精度的特点。在功能、性能、可操作性等方面都有较大的提升,具有更高的性价比。所以,选择方案1,以PT100热电阻为温度检测元件,设计了单片机温度检测系统。2.2最终设计方案总体设计框图控制冷却系统的电机温度传感器LED灯报警LED显示复位电路AT89C52控制冷却系统的电机温度传感器LED灯报警LED显示复位电路AT89C52单片机ADC0808时钟电路图2.1系统总体设计框图当时钟电路的晶振产生外部振荡脉冲信号送入单片机时,单片机开始有条不紊地工作。AT89C51执行内部的程序,处理从ADC0808送来的信号,并输出到LED显示,并在超过安全阈值时通过单片机P3.7口控制LED灯报警和控制电机转动以降低冷却液温度。3系统硬件设计3.1硬件设计方案论证本方案以AT89C51单片机系统为核心,对发动机冷却液的温度进行实时检测和控制。并采用热电阻PT100作为温度传感器、OP07E作为信号放大器ADC0808作为A/D转换部件,对于温度信号的采集具有大范围、高精度的特点。在功能、性能、可操作性等方面都有较大的提升,具有更高的性价比。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串口。从8031和AT89C51的对比中可以看出,AT89C51具有更高的性能,且不需要扩展程序存储器,使用方便,且具有flash闪存,可以方便的擦除和改写程序,故本次设计采用AT89C51为控制芯片。3.1.2模数转换器选型A/D转换的好与坏直接关系到整个系统的精确度。由于本系统测量的是温度信号,响应时间长,滞后大,不要求快速转换,因此选用8位串型A/D转换器ADC0808。能达到设计的基本要求。为进一步提高精度,可以直接采用12位A/D转换器,也可以采用过采样和求均值技术来提高测量分辨率。本系统采用了求平均值来提高分辨率。因为8位ADC0808其性价比更高,更重要的是我对ADC0808更加了解(课本上学的就是ADC0808),所以本次设计我选用了ADC0808作为模数转换器。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)PT100温度传感器为正温度系数热电阻传感器,主要技术参数如下:①测量范围:-200℃~+850℃;②允许偏差值℃:A级,B级;③响应时间<30s;④最小置入深度:热电阻的最小置入深度≥200mm;⑤允通电流≤5mA。另外,PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。鉑热电阻的线性较好,在0~100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。鉑热电阻阻值与温度关系为:①-200℃<t<0℃时,;②0℃≤t≤850℃时,;式中,A=0.00390802;B=-0.000000580;C=0.0000000000042735。可见PT100在常温0~100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:,当温度变化1℃,PT100阻值近似变化0.39。(2)放大电路设计热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。温度变化时,热电阻两端的电压信号被送到仪器放大器OP07E的输入端,经过仪器放大器放大后的电压输出送给A/D转换芯片,从而把热电阻的阻值转换成数字量。电路原理图如图所示。图3.3信号采集与放大电路3.2.3模数转换单元(1)8位串行A/D转换器ADC0808ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。它是美国国家半导体公司的产品,是目前国内最广泛的8位通用的A/D转换的芯片。①ADC0808的内部逻辑结构如图所示。图3.4ADC0808内部逻辑结构由上图可知,ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。②引脚结构如图所示。图3.5ADC0808引脚结构ADC0808对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量送入转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0808的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。VREF(+),VREF(-)为参考电压输入。ADC0808应用注意事项:①ADC0808内部带有输出锁存器,可以与AT89C51单片机直接相连。②初始化时,使ST和OE信号全为低电平。③送要转换的哪一通道的地址到A,B,C端口上。④在ST端给出一个至少有100ns宽的正脉冲信号。⑤是否转换完毕,我们根据EOC信号来判断。⑥当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。(2)模数转换单元电路设计图3.6A/D转换电路原理图A、B、C都接地(都为0),故信号输入口选IN0。3.2.4显示电路的设计图3.7显示电路原理图3.2.5报警电路的设计图3.8灯光报警电路原理图3.2.6温控电路的设计图3.9温度控制电路原理图控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P),积分(I),微分(D)进行的控制称为PID控制,实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。按照系统设计要求,当温度达到90度以上时,要启动电机运行来控制系统降温设备,由于加热设备的惯性存在,所以实际的温度高于90后,降温设备并不能立即把温度降到90以下,所以温度有一个短暂的时间内提高过程,所以电机要加速旋转以带动降温设备工作,当温度降到90度以下时,电机慢慢停止工作,以使温度充分降低。在本设计中PID算法就是实现在温度刚刚到90时,用其独特的微分放大算子加速使电机旋转以抵消温度继续升高带来的影响,当温度刚刚降到90以下时,提高积分算子的比例,让其继续降温,并经过一段时间后,电机停止。由于仿真的局限,自动降温并未实现,但是本设计用了一个模拟设备模拟出来,可以手动的降温升温以检验效果。

4软件程序的设计4.1程序流程程序主要由主程序和子程序两部分构成。程序主要实现系统的初始化,A/D转换,显示数据,电机控制。开始4.1.1主程序流程图:开始系统初始化系统初始化信号调理/AD采样信号调理/AD采样温度数据处理温度数据处理输出显示输出显示否是否高于90?否是否高于90?是否低于90?PID算法处理电机控制降温是否低于90?PID算法处理电机控制降温是是是否是否图4.1主程序流程图说明:初始化为ADC0808的初始化,经过传感器信号的放大并采样后,单片机对数据进行处理并在数码管上显示,同时,判断当前的温度是否高于90,如果高于则启用PID控制子系统,根据当前的温度值和PID预设置的参数来计算电机运行的速度和时间,进而控制降温设备降温。4.1.2显示子程序的流程图:返回返回图4.2显示子程序流程图说明:P1.0-P1.7控制LED数码管的显示数字,P2.0-P2.3控制74LS273的锁存,达到LED数码管的显示效果。4.1.3温控子程序的流程图:是否是否电机停止工作超过90℃降到90℃以下电机控制降温设备工作温度读取/比较开始是否是否电机停止工作超过90℃降到90℃以下电机控制降温设备工作温度读取/比较开始图4.3温控子程序流程图说明:温度控制模块监视系统的温度,如果系统的温度高于90摄氏度,那么系统采用PID算法对当前的温度值进行处理,经过微分,积分,比例协调得到系统的控制参数,然后决定电机运行的时间和速度,来控制降温设备进行工作,当温度超过90摄氏度时,电机先加速工作,后减速至停止,以使温度稳定的降至90度以下,然后电机继续运行控一段时间,以使温度可靠的降至90摄氏度以下,保证系统正常工作。5系统调试过程通过上面的设计,设计已经基本完成。下面主要实现Protell99se的原理图、印制板图的绘制和做相关检测,对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电气规则检查图中虽然有错误,但只是一个IO口和一个输出用的端口接在了一起,它提示报警。其实这种情况应该是非常普遍的一个正常现象吧。软件只是提示你进行注意一下。5.3Proteus仿真调试在Proteus中建立仿真图。按下开始仿真按钮,开始进行仿真实验,结果如图5.6,图5.7所示:图5.6Proteus仿真图(正常运行)图5.7Proteus仿真图(报警状态)仿真电路图中实现温度检测和控制,输出到LED数码管显示。当输入信号90°时,LED就会亮报警,电机运转。仿真虽然能运行,但在实际电路中,还需要加入其它的一些电路才能保证单片机能正常工作,实现其功能。

结论本设计中,是以温度采集及检测及控制为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、A/D转换单元、4个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<reg51.h>#include<stdio.h>#include<string.h>unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedchardispbuf[4]={0,0,0,0};//ADC0808控制引脚sbitCLOCK=P2^7; /*定义ADC0808时钟位 */sbitST=P2^4;sbitEOC=P2^6;sbitOE=P2^5;sbitds=P2^0;sbitde=P2^1;sbitdy=P2^2;sbitdl=P2^3;sbitkk=P1^7;//直流电机控制引脚sbitled=P3^7;//电机及降温设备控制sbitA0=P3^1;sbitB0=P3^2;sbitC0=P3^3;sbitD0=P3^0;//定义一个PID控制算法的参数集合structPID{unsignedintSetPoint; //设定目标DesiredValueunsignedintProportion; //比例常数ProportionalConstunsignedintIntegral; //积分常数IntegralConstunsignedintDerivative; //微分常数DerivativeConstunsignedintLastError; //Error[-1]unsignedintPrevError; //Error[-2]unsignedintSumError; //SumsofErrors};//PID算法变量structPIDspid; //PIDControlStructureunsignedintrout; //PIDResponse(Output)unsignedintrin; //PIDFeedback(Input)//预设定的湿度值为90,高于此,则利用PID算法对电机进行控制降温unsignedintset_temper=90;unsignedints;intj;voidWAIT(void);//等待ADC0808转换完成voidWAIT(void){ intC;ST=0; ST=1; ST=0; while(EOC==0); OE=1; C=P0; OE=0; //C=P0; C=C*20/5; //C=C*10; s=C; /*显示数据转换*/ dispbuf[3]=C/1000; //S为温度的十倍C=C%1000;dispbuf[2]=C/100; C=C%100;dispbuf[1]=C/10; dispbuf[0]=C%10; }//PID参数结构体初始化函数voidPIDInit(structPID*pp){ memset(pp,0,sizeof(structPID));}//PID计算函数,根据当年的温度值与设定的偏差计算出电机控制脉冲的脉宽unsignedintPIDCalc(structPID*pp,unsignedintNextPoint){ unsignedintdError,Error; Error=pp->SetPoint-NextPoint; //偏差 pp->SumError+=Error;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论