冷却水温控制系统.doc_第1页
冷却水温控制系统.doc_第2页
冷却水温控制系统.doc_第3页
冷却水温控制系统.doc_第4页
冷却水温控制系统.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

汽车电控系统课程设计说明书交通与汽车工程学院课程设计说明书课 程 名 称: 汽车电控系统实习及课程设计 课 程 代 码: 8234590 题 目: 冷却水温度电控系统 程序设计及仿真 年级/专业/班: 07级 汽电-1 学 生 姓 名: L ZJ 开 始 时 间: 2010 年 12 月 20 日完 成 时 间: 2011 年 12 月 31 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要 21 引言 31.1问题提出 31.2任务与分析 3 2 方案设计42.1 设计方案论证42.2 总体设计框图53 硬件电路设计63.1时钟及复位电路 63.2显示电路73.3温度测试电路 83.4温度报警及车速控制电路113.5 整体电路 124软件设计134.1 概述134.2 主程序方案134.3 各模块子程序设计 145 系统仿真 175.1 汇编175.2 Proteus 仿真 18结论 20致谢21参考文献22附录一:软件程序23附录二:电路原理图 32摘 要本温度控制系统使用了ATMEL公司的AT89C51单片机和DALLAS公司的DS18B20数字温度传感器。通过定时采集温度数据,判断温度是否超过上下限,并会在超过上下限进行温度报警,当温度低于40时,限制速度,当温度高于100时,检测传感器是否出现故障时并进行温度控制,本系统还带有温度显示功能,可以实时显示检测到的温度。最后本系统通过Proteus仿真测试成功。关键词: 温度控制;电控系统;数字温度传感器;单片机;Proteus仿真;1 引 言 1.1 问题的提出 温度是反映发动机热负荷状态的重要参数, 为了保证电控单元能够精确地控制发动机正常运行,必须随时、连续、准确地监测发动机冷却液的温度,以便修正诸控制参数,准确计算喷油脉宽以及进行排气净化处理等。冷却液温度传感器(Coolant Temperature Sensor,CTS)通常又称为水温传感器,属负温度系数型热敏电阻式温度传感器,安装在发动机冷却液出水管上,其功能是检测发动机冷却液的温度, 并将温度信号转换为电信号传送给发动机电控单元,电控单元根据该信号修正喷油时间和点火时间,使发动机工况处于最佳运行状态。1.2 任务与分析 冷却水温度检测系统,主要是水温传感器根据水温的变化产生变化的电信号,输送给ECU,通过系统处理、计算得到实际温度值,除了水温过高或过低可以通过LED显示系统报警外,还要求对发动机水温进行控制设计。2 方案设计 2.1设计方案论证2.1.1 温度检测方案方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。2.1.2 显示方案设计方案1:用LED对测量到的数据进行显示。LED的操作和使用较为简单;并且亮度较高、编程容易、管理简单;具有多种颜色且美观。但比较耗电以及但占用I/O口线资源较多。方案2:使用LCD进行显示,数据显示清晰智能且比较节约电能,但是接口电路及控制较为复杂,编程较为庞大。为了简化系统操作以及美观,本设计完全采用方案1。2.1.3 电控方案设计 本系统通过灯光进行报警,高温报警灯为红色,并设置一个车速控制电机,当报警时进行车速限制,低温报警灯为蓝色,也设置一个车速控制电机,当报警时进行车速限制。2.1.4 最终设计方案总方案:采用DS19B20将数字信号送至89C51单片机,通过89C51单片机进行数据处理,然后通过数字滤波后以单片机P0口来驱动LED来显示,从而实现温度的的实时、准确的显示。同时设置上下限报警控制装置。2.2 最终设计方案总体设计框图AT89C51控制电路复位电路时钟电路温度显示电路温度检测电路图2-1 总体设计框图温度报警电路速度控制电路3 系统硬件设计系统电路的功能主要包括:温度测试及其相关处理,实时显示温度信息。硬件设计主要包括以下几个模块:时钟及复位电路,显示电路,温度测试电路,温度报警电路,速度控制电路。下面对电路分模块进行说明:3.1 时钟及复位电路3.1.1 复位电路本次设计采用“RC+按键”复位形式,复位电路的示意图如图3-1所示。上电复位原理:当系统通电时VCC上电压从无到有在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位的功能。按键复位原理:按键后:电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。 图3-1 复位电路3.1.2 时钟电路时钟电路示意图如图3-2所示。图3-2 时钟电路3.2 温度显示电路如图3-3所示显示电路才用4片LED显示块组成的4位共阴极LED显示器,本电路中只使用了前三个LED显示块,通过LED动态显示的方式显示温度值,第一位显示号,第二和第三位显示两位温度值,温度显示范围为-55+127摄氏度。选通线分别连接P2.4P2.7,段选线连接P0.0P0.7 。图3-3 温度显示电路3.3 温度检测电路这里我们用到温度芯片DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20内部结构(1) DS18B20的内部结构如下图3-4所示。 图3-4 DS18B20内部结构图DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。TMR1R011111MSB DS18B20配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系表 :R0R1温度计分辨率/bit最大转换时间/us00993.750110187.510113751112750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。温度低位温度高位THTL配置保留保留保留8位CRCLSB DS18B20 存储器映像图MSB温度值格式图DS18B20 温度数据表:232221202-12-22-32-4MSBLSBSSSSS262524典型对应的温度值表:温度/二进制表示十六进制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90HDS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。温度检测电路连接如图3-5所示图3-5 温度检测电路对DS18B20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。(3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。3.4温度报警及车速控制电路高温报警及控制电路如图3-6所示。D2为高温报警灯,当温度高于100度时,D2开始闪烁发出红光,开始检测是否故障,当闪烁数次后,温度仍然高于100度,D2报警灯长亮,同时速度控制电机启动,LED显示屏显示“000”。图3-6 高温控制电路低温报警及控制电路如如图3-7所示。D3为低温报警灯,当温度低于40度时,D3将发出蓝光报警。电机为车速控制器,当温度低于40度时,电机将启动工作,限制车速。图3-7 低温控制电路3.5 整体电路 见附录2 电路原理图4 系统软件设计4.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。4.2 主程序方案主程序调用了3个子程序,分别是数码管显示程序、温度测试程序。主程序流程图如图4-1所示开始数码管显示程序温度报警程序图4-1主程序流程图第一次采样,输出到temp1第一次采样,输出到temp2第一次采样,输出到temp3三次采样取平均4.3 各模块子程序设计4.3.1 中断子程序 中断程序进行温度检测和中值滤波,如图4-2所示。开始温度检测程序中值滤波程序结束图4-2 中断程序4.3.2 数码管显示程序开始温度100第一块数码管不显示noyes4.3.3 中值滤波程序开始采样第一次,输入temp1采样第二次,输入temp2采样第三次,输入temp3三次采样取平均结束4.3.4 温度报警及速度控制程序开始开始点亮低温报警灯高温报警灯闪烁温度低于40度温度高于100度启动速度控制结束检测报警次数达到100高温报警灯长亮,控制电机启动,led显示“000”结束nononoyesyesyes4.3.5 温度检测程序复位发送转换命令0x44发送读取命令0xbe读取温度中值滤波程序温度检测主程序开始读一位数据暂存dat左移一位读取八位数据返回数据datDS18B20读数据程序开始发出低电平,延时15us写入一位数据延时60us ,确保ds18b20收到数据暂存dat左移一位写入八位数据返回数据datDS18B20写数据程序5 系统调试过程5.1 汇编Build target 目标 1assembling STARTUP.A51.compiling Text1.c.linking.* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?TMRESET?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_DELAY?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_TMWBYTE?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?WR_BIT?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?TMRTEMP?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1* WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?TMRBYTE?TEXT1 CALLER1: ?C_C51STARTUP CALLER2: ?PR?TIME1?TEXT1Program Size: data=39.2 xdata=0 code=1174creating hex file from 1.1 - 0 Error(s), 6 Warning(s). 5.2 Proteus 仿真当温度为正常范围时,温度传感器检测温度,并显示在LED屏上,控制电机电机不启动,报警灯不亮。如图5-1所示。图5-1 正常温度时仿真图当温度为超过99度时,高温报警灯D2开始闪烁,LED屏正常显示温度,如图5-2所示图5-2 高温报警仿真图当温度持续超过99度时,高温报警灯D2长亮,高温车速控制电机启动,LED屏上显示“000”,如图5-3所示图5-3 持续高温仿真图当温度低于40度时,D3低温报警灯发光,限制车速的电机启动,限制车速,同时将温度显示在LED屏上,如图5-4 所示。图5-4 低温报警仿真图结 论AT89C51的时钟为12M,I/O口可达32个,高的时钟频率和丰富的I/O,都为实现电路功能提供了非常有利的条件。同时也AT89C51内含4KB FLASH ROM,开发环境友好,易用,方便,大大加快本系统设计开发。实时显示电路的设计,使温度信息更迅速,直观地发布。整个系统硬件简单、可靠,系统成本低。致此本人设计基本完成了预期的目标,系统在硬件自动测试,实时显示方面做的比较好。但是由于时间仓促、条件有限,设计成果并不是很完美,还存在一些问题,未对温度数值统计处理以及存储。我准备在今后的工作过程中进一步完善此设计。致 谢在向阳老师的指导下,我完成了本次课程设计。向阳老师是一个拥有专业知识,严谨治学态度,精益求精作风的老师,他的严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。在课程设计里面,他让我重新认识到了专业知识学习的重要性,还使我明白了许多为人处世的道理。本课程设计从选题到完成,都是老师指导下完成。另外,本次设计的完成也离不开各位同学给我的建议和帮助,是他们让我懂得了团队合作的重要性,也让我明白了团队精神的内涵。在此,我谨向向阳老师和帮助过我的老师和同学们,表示崇高的敬意和衷心的感谢!参考文献1台力.微型计算机控制技术.中国水利水电出版社.2001.(1).1241362张毅刚.新编MCS-51单片机应用设计.哈尔滨工业大学出版社.2004. (2). 160198 3董敬. 汽车拖拉机发动机. 机械工业出版社.2003. (20). 1113 4赵佩华 单片机接口技术及应用. 机械工业出版社 2003.15唐岚 汽车测试技术 机械工业出版社 2006.7附录一:软件程序#include reg51.h#include unsigned char code seg7code=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示段码void delay (unsigned int x1, unsigned int x2, unsigned int x3) /延时 unsigned char a,b,c; for(a=0;ax1;a+); for(b=0;bx2;b+); for(c=0;cx3;c+);sbit TMDAT=P37; /DS18B20的数据输入/输出脚DQ,根据情况设定sbit gwen=P10 ;sbit gwshudu=P11;sbit dwen=P12;sbit dwshudu=P13;unsigned int temper;/测量到的温度int fg=1, fgx=1; /温度正负标志int cs=0;unsigned int temp1,temp2,temp3; unsigned char high=1,low=1;unsigned int num1=0,num2=0;bit tmreset () /发送复位 bit ret= 1 ; TMDAT=0;/*拉低总线 */ delay(5,1,63);/延时500us TMDAT=1;/*释放总线 ,DS18B20检测到上升沿后会发送存在脉冲*/ delay(1,1,48);/*需要等待1560us,这里延时75us后可以保证接受到的是存在脉冲(如果通信正常的话) */ ret=TMDAT; delay(5,1,63);/500us TMDAT=1;/*释放总线 */ return(ret);unsigned char Read_Bit() /读一位数据 unsigned char ret; TMDAT=0;/拉低总线 _nop_(); _nop_(); TMDAT=1;/释放总线 _nop_(); _nop_(); _nop_(); _nop_(); ret=TMDAT;/读时隙产生7 us后读取总线数据。把总线的读取动作放在15us时间限制的后面是为了保证数据读取的有效性 delay(1,1,35);/延时60us,满足读时隙的时间长度要求 TMDAT=1;/释放总线 return ret; /返回读取到的数据 unsigned char tmrbyte (void) /读一个字节 unsigned char i; unsigned char dat ; dat = 0 ; for(i=0;i=1;/先读最低位 if(Read_Bit() dat|=0x80; return(dat); void WR_Bit(bit i) /写一位数据 TMDAT=0;/产生写时序 _nop_(); _nop_();/总线拉低持续时间要大于1us TMDAT=i;/写数据 ,0和1均可 delay(1,1,35);/延时60us,等待ds18b20采样读取 TMDAT=1;/释放总线 void tmwbyte (unsigned char dat) /写一个字节 unsigned char i; i=0; while(i+=1; /注意不要写成dat1 void tmstart (void) /发送ds1820 开始转换 TMDAT=1; tmreset(); /复位 tmwbyte(0xcc); /跳过序列号命令 tmwbyte(0x44); /发转换命令 44H, void tmrtemp (void) /读取温度 unsigned int tem=0; unsigned char t1,t2; tmreset (); /复位 tmwbyte (0xcc); /跳过序列号命令 tmwbyte (0xbe); /发送读取命令 delay(1,3,219) ; t2 = tmrbyte (); /读取低位温度 t1 = tmrbyte (); /读取高位温度 if(t10x07) /最高位为1时温度是负 fg=0; /读取温度为负时fg=0 t1=t1;t2=t2+1; tem=t2; tem|=(t18); tem=9; else fg=1; tem=t2; tem|=(t1=4; temper=tem;void led() if (fg1) /温度为负时显示的数据P2=0xfe; P0=0x40; /负号 delay(2,3,220); P2=0xfd;P0=seg7codetemper/10; /输出十位数 delay(2,3,220);P2=0xfb; P0=seg7codetemper%10; /输出个位 delay(2,3,220) ; else /温度为正时显示的数据 if (temper=99)P2=0xfe; P0=0x00;delay(2,3,220); P2=0xfd; P0=seg7codetemper/10; /输出十位数 delay(2,3,220);P2=0x

温馨提示

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

评论

0/150

提交评论