课程设计说明书冷却水温电控系统.docx
《课程设计说明书冷却水温电控系统.docx》由会员分享,可在线阅读,更多相关《课程设计说明书冷却水温电控系统.docx(31页珍藏版)》请在冰点文库上搜索。
课程设计说明书冷却水温电控系统
摘要
在本设计中,通过,DS18B20温度传感器对发动机冷却水温度的检测,经其内部电路处理后传到单片机AT89C51,单片机对数据进行处理并与设定值进行比较,当温度达到报警的下限值时,即触发报警器报警,同时驱动电机转动,此处电机用于模拟汽车上的电控单元的执行机构喷油器电磁阀,数码管显示此状态下的冷却水温度值和设定的温度值,并可随之改变。
设计基于PROTEUS仿真软件进行仿真。
关键词:
单片机,报警,电机,数码管,仿真。
1引言
1.1问题的提出
温度控制,在工业自动化控制中占有非常重要的地位。
单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。
将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。
现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。
但随之而来的是巨额的成本。
在很多的小型系统中,处理机的成本占系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。
课题基于AT89C51单片机,设计了冷却水温度控制系统,实现了对系统的温度控制。
1.2所在研究领域的历史和现状,前沿的主要问题及遇到的问题
随着电子技术的发展,特别是大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。
目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。
特别是其中的C51系列单片机的出现,由于它具有极好的稳定性,更快和更准确的运算精度。
因此,它的出现不但推动了工业的生产,也影响着人们的工作和学习。
采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。
1.3系统研究的意义
近年来,随着计算机技术的发展,各企业对温度检测技术提出了更高的要求,希望制造出适应性更强、精度更高、性能更稳定、并具有智能功能的新一代温度检测仪表。
单片微处理器具有高精确度、高灵敏度、高响应速度,以及耗能少、机构小、可以连续测量、自动控制、安全可靠等优点。
同时,其逻辑控制运算是由软件来进行的,可以容易的实现各种控制规则,甚至是比较复杂的控制算法的实现,而且不受外界的工作环境的影响。
因此,基于单片机的温度控制器可以安全可靠地运行,智能地控制环境温度稳定在某一给定值,或者给定值附近,可以大幅度提高被测温度的技术指标。
1.4任务与分析
本设计是对发动机冷却液进行的温度控制。
从系统温度的检测、变换到信号的转换和传送这一系列的过程都牵扯到很多的知识,在设计过程中我们也遇到很多困难,比如说温度测量器件的选用,变换成电压信号还是电流信号,相应的怎么传送等,都经过了考虑才选择了这个方案。
单片机的设计中,单片机外部线路的设计,端口的分配和选用,复位和内部时钟的配合和电路的驱动等方面也遇到了不少问题,经过分析和查找资料我都基本上解决了。
这里利用芯片DS18B20作为恒温箱的温度检测元件。
DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。
单片机从DS18B20读入的数据与预置数进行比较,当达到温度下限值即驱动电机转动,在此电机用于模拟汽车上的喷油器电磁阀。
2方案设计
2.1总体设计和方案论证
系统总体设计分为硬件和软件两个部分。
总体结构包括AT89C51的主控芯片,温度采集电路,电机驱动控制电路,数码管显示电路,蜂鸣器报警电路。
2.1.1系统硬件结构图
图2-1温度控制结构框图
如上图所示,系统以AT89C51为控制核心,在基于外围采集,控制电路的配合下,完成对温度的控制。
主要的软件模块为,温度采集模块,数码管显示模块,电机控制模块,蜂鸣器报警控制模块。
2.1.2总体方案论证
方案一:
采用传统的模拟控制方法,选用模拟电路,用电位器设定给定值,采用上下限比较电路将实测的温度值与给定的温度值进行比较,决定加热或者降温。
由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得较高,而且不能用液晶显示和键盘设定。
方案一系统框图如图2-2所示:
图2-2方案一系统框图
方案二:
采用单片机为控制核心。
采用了DS18B20芯片对温度进行采集(芯片内部会进行AD转换)通过单片机处理后去控制温度,使其达到稳定。
使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。
方案二系统框图如图2-3所示:
图2-3方案二系统框图
对比方案一,方案二明显的改善了方案一的不足及缺点,并具有控制简单、控制温度精度高的特点,因此设计电路采用方案二。
2.1.3温度采集模块方案论证
方案一:
采用热敏电阻,可满足测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。
方案二:
采用温度传感器AD590K。
AD590K具有较高精度和重复性,良好的非线性保证±0.1℃的测量精度。
加上软件非线性补偿可以实现高精度测量。
AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号,送入A/D转换器,最终送往单片机。
方案三:
采用数字温度传感器DS18B20。
DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量,转换速度快,精度高,可靠性高。
可直接与单片机通信,读取测温数据,电路简单。
经比较,我选择方案三。
3系统硬件电路设计
3.1单片机最小系统
图3-1单片机最小系统
单片机最小系统包括时钟电路、复位电路、及电源电路等几个部分,单片机内部有一个用于构成振荡器的高增益反相放大器,该增益反相放大器的输入端为X1,输出引脚为X2。
两个引脚跨接晶振和微调电阻,就构成一个稳定的自激振荡器。
复位电路采用按键电平复位电路。
通过RST端经电阻与电源Vcc接通而实现。
如图3-1所示:
3.2温度检测电路
在本设计中,选用的是温度测量的专用芯片DS18B20。
DALLAS最新单线数字温度传感器DS18B20为新的“一线器件”体积更小、适用电压更宽、更经济。
图3-2是DS18B20与单片机的连接图:
图3-2DS18B20与单片机的连接图
3.3电机驱动控制电路
本设计中电机驱动采用的是集成直流电机驱动芯片L298,它具有驱动功率大,效率高、可控性好等优点,通过单片机P1.6、P1.7两个IO口可控制电机正反转。
此处电机用于模拟汽车喷油器电磁阀。
L298N与单片机的连接如图3-3:
图3-3L298与单片机连接图
3.4LED显示电路:
单片机对数据进行处理后通过LED进行显示。
LED接成共阴,位选用译码器控制,段选由锁存器锁存,同时考虑的LED的扩流电路。
LED各管脚如图3-12所示,接单片机的P0口和P2口。
图3-12LED显示电路
4软件设计:
本次设计我采用的是汇编语言进行程序代码的编写,编写程序与调试的软件是keiluVision3。
各部分的软件流程图如下:
4.1主程序流程图:
主程序主要完成温度的读取与显示,并判定检测的温度值是否比设定值小,若小于设
定值则驱动电机转动,电机模拟的是汽车上的喷油器电磁阀,否则电机停转。
图4-1主程序流程图
4.2温度检测程序流程图
图4-2DS18B20工作流程图
温度检测程序是严格按照DS18B20单总线温度传感器的时序来写的,因为单总线模式下,数据的读和写都只能通过一条线,因此只能通过严格的时序控制数据的传输。
4.3显示子程序流程图
图4-3显示子程序
4.4电机控制子程序流程图
当温度小于设定值时,电机即正转,否则电机停转。
图4-4电机控制子程序
5系统仿真
5.1Proteus软件环境介绍
本系统的硬件设计首先是在Proteus软件环境中仿真实现的。
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的。
针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。
如果有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。
Proteus建立了完备的电子设计开发环境,尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果。
5.2软件仿真步骤
5.2.1仿真电路的搭建
(1)新建一个工程
图5-1新建工程文件
(2)添加元器件
图5-2添加元器件
(3)连接电路
图5-3连接电路
(4)加载目标代码文件
图5-4加载目标代码
5.2.2系统调试过程
通过上面的硬件设计和软件设计过程,设计的工作已经基本完成,接下来的工作就是对所设计好的应用系统进行调试。
通过调试可以检查出系统出现的一些错误,从而进行下一步的修改。
(1)在Protel99SE中,对硬件电路图进行ERC电气规则检查。
图5-1ERC电气规则检查结果
(2)程序调试
程序经过调试显示“0错误,0警告”。
表示程序调试通过。
图5-2程序调试通过示意图
(3)Proteus调试仿真
图5-3Proteus仿真图
5.2.2仿真结果
(1)冷却液温度高于设定值
图5-5冷却液温度高于设定值
当冷却液温度高于设定下限值时,即表示发动机正常工作,此时代表喷油器的电磁阀的电机不动作,指示灯不亮,如图5-5所示:
(2)冷却液温度低于设定值
图5-6冷却液温度低于设定值
当冷却液温度低于设定的下限值时,会影响发动机正常工作,此时代表喷油器的电磁阀的电机动作,节气门开度加大,发动机转速上升,冷却液温度升高,同时指示灯点亮,提醒驾驶员。
如图5-6所示:
(3)仿真调试
进入调试环境,然后执行下述操作:
1、在proteusISIS界面中,单击
按钮启动仿真。
通过菜单【Debug】→【Debug→WatchWindow】在弹出的观察窗口右击,选择“以观察项的名称添加观察项”,在弹出的对话框中添加累加器ACC和数据指针DPTR.
图4-7程序运行结果
结论
在这次的课程设计中我学到了许多东西,整个做设计的过程是训练我独立进行科学研究的过程。
按照老师给予我们的题目及其要求,可以使我们了解科学研究的过程,掌握如何收集、整理和利用材料;如何观察、如何调查、作样本分析;如何利用图书馆,检索文献资料;如何操作文本及其它一些软件等方法。
整个设计的过程,同时也是专业知识的学习过程,而且是更生动、更切实、更深入的专业知识的学习。
首先,一个设计是结合科研课题,把学过的专业知识运用于实际,在理论和实际结合过程中进一步消化、加深和巩固所学的专业知识,并把所学的专业知识转化为分析和解决问题的能力。
其次,在搜集材料、调查研究、接触实际的过程中,既可以验证学过的书本知识,又可以学到许多课堂和书本里学不到的活生生的新知识。
致谢
在xx老师的指导下,我完成了本次设计。
他们的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。
不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多为人处世的道理。
本设计从选题到完成,每一步都是在他们的指导下完成的,倾注了老师大量的心血。
在此课程设计期间。
xx那严谨求实的治学态度,踏实坚韧的工作精神,使我感触颇深。
彭老师的这种精神使我们都不由自主的更加严格的要求自己,提高自己的标准,同学们一个个都努力的使自己做的更好。
另外,本设计的完成也离不开其他老师和各位同学给我的建议和帮助,是他们让我明白了团队合作的精神。
此时,再多华丽的言语也显得苍白。
在此,谨向xx致以诚挚的谢意和崇高的敬意!
参考文献
[1]蒋辉平.数字PID温度自动控制系统的应用[J].湖南科技学院学报,2005,26(11):
71-72
[2]李晓妮.单片机温度控制系统的设计[J].九江学院学报,2005,2(6):
2O-23
[3]冯博琴.微型计算机原理与接口技术[M].北京:
清华大学出版社,2006.154-193
[4]刘守义.单片机应用技术[M].西安:
西安电子科技大学出版社,2002.260-269
[5]张开生,郭国法.51单片机温度控制系统的设计[J].微计算机信息2005,21(7):
59-61
[6]叶景.基于单片机的温度控制系统的设计[N].中国新通信(技术版)2008.7
[7]明鑫,陈可中等.基于单片机水温控制系统[N].现代电子技术2005.6
[8]胡明.温度控制[EB/OL]
[9]刘绿山,刘建群等.基于AT89S52单片机的温度控制系统[J].微计算机信息 2007,23(6):
98-100
[10]高峰.单片微型计算机原理与接口技术[M].北京:
科学出版社,2005.15-210
[11]耿方志.基于89C51的单片机智能温度控制系统的设计[J].现代电子工程2003,1(45):
45-50
附录A程序代码
程序:
TMPLEQU29H
TMPHEQU28H
FLAG1EQU38H
DATAINBITP3.7
ORG00H
LJMPMAIN1
ORG03H
LJMPZINT0
ORG13H
LJMPZINT1
ORG30H
MAIN1:
SETBIT0
SETBEA
SETBEX0
SETBIT1
SETBEX1
SETBP3.6
SETBP3.2
MOV74H,#0
MOV75H,#0
MOV76H,#9
MOV77H,#0
MAIN:
LCALLGET_TEMPER
LCALLCVTTMP
LCALLDISP1
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
ACALLDISP1
LCALLINIT_1820
MOVA,#0CCH
LCALLWRITE_1820
MOVA,#0BEH
LCALLWRITE_1820
LCALLREAD_1820
RET
WRITE_1820:
MOVR2,#8
CLRC
WR1:
CLRDATAIN
MOVR3,#6
DJNZR3,$
RRCA
MOVDATAIN,C
MOVR3,#23
DJNZR3,$
SETBDATAIN
NOP
DJNZR2,WR1
SETBDATAIN
RET
READ_1820:
MOVR4,#2
MOVR1,#29H
RE00:
MOVR2,#8
RE01:
CLRC
SETBDATAIN
NOP
NOP
CLRDATAIN
NOP
NOP
NOP
SETBDATAIN
MOVR3,#9
RE10:
DJNZR3,RE10
MOVC,DATAIN
MOVR3,#23
RE20:
DJNZR3,RE20
RRCA
DJNZR2,RE01
MOV@R1,A
DECR1
DJNZR4,RE00
RET
CVTTMP:
MOVA,TMPH
ANLA,#80H
JZTMPC1
CLRC
MOVA,TMPL
CPLA
ADDA,#1
MOVTMPL,A
MOVA,TMPH
CPLA
ADDCA,#0
MOVTMPH,A
MOV73H,#0BH
SJMPTMPC11
TMPC1:
MOV73H,#0AH
TMPC11:
MOVA,TMPL
ANLA,#0FH
MOVDPTR,#TMPTAB
MOVCA,@A+DPTR
MOV70H,A
MOVA,TMPL
ANLA,#0F0H
SWAPA
MOVTMPL,A
MOVA,TMPH
ANLA,#0FH
SWAPA
ORLA,TMPL
H2BCD:
MOVB,#100
DIVAB
JZB2BCD1
MOV73H,A
B2BCD1:
MOVA,#10
XCHA,B
DIVAB
MOV72H,A
MOV71H,B
TMPC12:
NOP
DISBCD:
MOVA,73H
ANLA,#0FH
CJNEA,#1,DISBCD0
SJMPDISBCD1
DISBCD0:
MOVA,72H
ANLA,#0FH
JNZDISBCD1
MOVA,73H
MOV72H,A
MOV73H,#0AH
DISBCD1:
RET
TMPTAB:
DB0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
DISP1:
MOVR1,#70H
MOVR0,#74H
MOVR5,#0FEH
PLAY:
MOVP1,#0FFH
MOVA,R5
MOVP2,A
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A
MOVA,R5
JBACC.1,LOOP1
CLRP1.7
CLRP0.7
LOOP1:
LCALLDL1MS
INCR1
INCR0
MOVA,R5
JNBACC.3,ENDOUT
RLA
MOVR5,A
MOVA,73H
CJNEA,#1,DD2
SJMPLEDH
DD2:
MOVA,72H
CJNEA,#0AH,DD3
MOV72H,#0
DD3:
MOVA,76H
CJNEA,72H,DDH
SJMPDDL
DDH:
JNCPLAY1
SJMPLEDH
DDL:
MOVA,75H
CJNEA,71H,DDL1
SJMPLEDH
DDL1:
JNCPLAY1
LEDH:
CLRP3.6
CLRP3.0
CLRP3.1
SETBP3.4
SJMPPLAY
PLAY1:
SETBP3.6
SETBP3.0
CLRP3.1
CLRP3.4
SJMPPLAY
ENDOUT:
MOVP1,#0FFH
MOVP2,#0FFH
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H,0FFH,0BFH
DL1MS:
MOVR6,#10
DL1:
MOVR7,#100
DJNZR7,$
DJNZR6,DL1
RET
ZINT0:
PUSHACC
INC75H
MOVA,75H
CJNEA,#10,ZINT01
MOV75H,#0
ZINT01:
POPACC
RETI
ZINT1:
PUSHACC
INC76H
MOVA,76H
CJNEA,#10,ZINT11
MOV76H,#0
ZINT11:
POPACC
RETI
ZZZ1:
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
RETI
END
附录B电路原理图:
附录C电路PCB图
正面
反面
附录D电路仿真图
温度低于设定值
温度高于设定值