基于单片机的热处理车间烘房控制系统.docx
《基于单片机的热处理车间烘房控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的热处理车间烘房控制系统.docx(34页珍藏版)》请在冰豆网上搜索。
基于单片机的热处理车间烘房控制系统
基于单片机的热处理车间烘房控制系统
摘要
通过对烘房控制系统的研究和分析,设计了一个基于单片机热处理车间的烘房控制系统。
该系统主要研究如何通过单片机实现对烘房系统的控制。
模拟烘房设计的功能是在程序控制下实现的,该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。
这样有利于程序修改和调试,增强了程序的可移植性。
本设计以单片机技术、数字电路、模拟电路以及C语言相关的知识为理论基础,认真分析设计需求,根据需求对总体方案进行论证,详细的分析每一个功能电路的具体设计方案,给出硬件电路的原理图,并对设计思路和电路的工作原理进行说明,根据硬件电路原理图,采用keil软件开发平台进行单片机的C语言程序设计,并对程序的设计思路和工作流程进行分析,使用protues仿真软件的ISIS仿真环境对设计方案进行仿真,验证了设计方案的正确性和可行性,并分析设计结果。
最后对设计中存在的不足作出总结和分析,并展望后期的工作方向。
利用STC89C52单片机和DS18B20温度传感器对目标温度进行检测,使用了LCD对检测到温度的显示,从而对各烘房温度进行远程实时监控,实现了对烘房门的控制,通过对风机转速的控制实现降温升温功能,并且实现了对工件的运送功能。
本文对各部分的硬件原理图进行了分析,还根据设计的要求进行了软件编程,对各功能程序进行调试。
通过51单片机控制DS18B20实现对烘房的控制,具有硬件电路简单,编程容易,测温准确,稳定等优点,而且可以多点检测。
关键词:
单片机;温控;传感器
Abstract
Throughresearchandanalysisofthedryingroomcontrolsystem,designedachambercontrolsystembasedonsinglechipmicrocomputerheattreatmentworkshop.Thesystemmainlystudieshowtousesinglechipmicrocomputercontrolsystemforthechambersystem.Simulationchamberdesignfunctionsareimplementedunderprogramcontrol,thedesignmethodofthesystemsoftwareandhardwaredesign,accordingtotheoverallfunctionisdividedintoanumberofdifferentprogrammodule,respectively,tocarryonthedesign,programminganddebugging,finally,themainprogramconnecteachmodule.Thisisadvantageoustotheprogrammodificationanddebugging,enhancestheportabilityoftheprogram.Thisdesignwiththesinglechipprocessortechnology,digitalcircuits,analogcircuits,andthetheoreticalbasisofClanguagerelatedknowledge,earnestanalysisanddesignrequirements,accordingtothedemandofoverallscheme,adetailedanalysisofthespecificdesignofeachfunctionalcircuit,givestheprinciplediagramofthehardwarecircuit,andthedesignideasandworkingprincipleofthecircuit,accordingtotheprincipleofhardwarecircuitdiagram,usingkeilsoftwaredevelopmentplatformforMCUClanguageprogramdesign,andtheprogramdesignandworkingprocessareanalyzed,usingprotuessimulationsoftwareofISISsimulationenvironmentdesignschemeforthesimulation,toverifythecorrectnessandfeasibilityofthedesignscheme,andanalysesthedesignresults.Finally,theshortcomingsinthecourseofdesigntomakeasummaryandanalysis,andthedirectionforfutureworkonlater.
UsingSTC89C52MCUandDS18B20temperaturesensortotestthetargettemperature,usedtodetecttheLCDtemperaturedisplay,therebytovariouschambertemperatureforremotereal-timemonitoring,realizethecontrolofthechamberdoor,throughthefanspeedtorealizethecontrolofcoolingheatingfunction,andrealizethetransportfunctionoftheworkpiece.Inthispaper,thehardwareprinciplediagramofeachpartwasanalyzed,andalsoasoftwareprogramming,accordingtotherequirementofthedesignofeachfunctionprogramdebugging.51single-chipmicrocomputercontrolthroughDS18B20thecontrolsystemforthedryer,ithasasimplehardwarecircuit,programmingeasily,temperaturemeasurementaccuracy,stability,etc.Andcanbemoretesting.
Keywords:
singlechipmicrocomputer;Temperaturecontrol;Thesenso
绪论
传统的热处理车间烘房的温度控制通常采用指针式的温度控制来完成的,参数的设定几乎都是有人工操作完成的,对时间的控制全凭操作者的经验和客观的情绪控制来实现的,由此可见这种控制方式比较单一,对时间的控制不精确,也没有干燥过程的监视功能,所以这种控制方式经常出现两种异常结果:
一种是经常需要反复的干燥,二是干燥的质量得不到保证,往往需要增加干燥的时间。
无论出现以上的哪种结果,都会浪费大量的物力和财力,由此可见由传统控制方式实现的这种产品即不经济也不实用。
近年来,随着计算机技术的不断发展,计算机已经渗透到各个领域,从而使单片机的应用也在向各个领域不断深入,并且带动传统控制检测不断更新,甚至成为了人们生活中不可或缺的一部分。
随着社会的发展,科技的进步以及人们生活水平的逐步提高,各种方便与生活的自动控制系统进入人们的生活,以单片机为核心的烘房控制系统就是其中之一。
单片机烘房控制系统的实现是单片机控制的一种简单应用,近几年来单片机因其方便,快捷的优势被广泛应用,并且在自动控制的单片机应用系统中,单片机往往是作为核心来使用的,但是仅仅了解单片机的相关知识是不够的,还应该根据具体的硬件结构和应用的对象所要求的功能与软件相结合,最终实现相关功能。
烘房控制设备是多数工业过程中常用的热能动力设备,工业烘房控制系统是复杂的控制系统。
由于设备相对比较分散、管理不妥善或技术原因,使大部分工业烘房都处于损坏状态,无形之中就增加了锅炉的损耗,降低了效率,从而增加了成本。
为保证烘房能安全,并且能稳定和高效率的生产,因而对烘房本身的温度采集十分重要。
由于烘房的温度调节过程相对比较复杂,并且具有非线性、不稳定性、时滞性等特点,因此对烘房内温度的控制提出了更高的要求。
在本设计中,采用单片机来实现对烘房的设备的控制,不仅具有廉价、配置简单和灵活的优势,而且可以大大提高所测烘房设备的技术指标,从而可以提高产品的工作效率。
单片机因为它具有功能强、高可靠性、体积小、造价便宜和开发周期短这些优势,广泛用于自动化测量和控制系统中,特别是在日常生活中发挥着重要作用。
1方案设计
1.1设计任务要求
本课题所研究的热处理烘房是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:
选用芯片时,应重点考虑功能单片存储、低功耗、抗断电的器件。
根据选用的芯片设计外围电路和单片机的接口电路。
在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。
根据硬件电路图,在开发板上完成器件的焊接。
根据设计的硬件电路,编写控制芯片的单片机程序。
通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。
1.2设计思路
经过实地考察,发现热处理烘房具备如下特征:
可开关自动门、可控速度铁链条传送带、烘房加热装置、烘房定时装置、烘房报警装置。
本设计以单片机作为控制核心,模拟出热处理车烘房系统的运作流程。
可变速风扇模拟可控速度铁链条传送带,继电器模拟烘房的加热装置,时钟电路模拟烘房定时装置,报警电路模拟烘房报警装置。
电路系统构成图框如图1.1所示。
图1.1烘房系统模拟系统结构图
1.3设计方案
1.3.1硬件设计方案
对比单片机元器件功能,使用以下硬件实现具体功能:
传送带:
键盘控制可调节转速风扇,模拟传送带的动力来源,传送带两端的驱动马达,并通过LCD1602实时的反应出来。
烘房加热装置:
键盘控制可开关继电器,模拟烘房的加热系统。
(继电器串联5V加热元器件,即可实现加热)
烘房定时装置:
使用DS1302组成的时钟模块,实现定时功能,并通过LCD1602液晶显示器实时反应出来。
烘房报警装置:
使用蜂鸣器实现功能,达成定时报警功能。
1.3.2软件设计方案
Keil有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值[1]。
能用好这个调试工具对编写单片机程序会有很大的帮助。
同样的,在这里,只对Debug进行简单应用介绍,更详细的使用方法可以参看相关书籍资料。
调试前设置窗口如图1.2所示。
图1.2调试前设置窗口
首先,单击
,弹出如图22所示对话框,在Target页面上设置对应的晶振频率。
其他不用作修改。
设置完成后,单击
,进入调试界面,如图1.3所示。
图1.3Keil调试界面
点击
中对应的工具按钮则可以开始调试。
另外,“View”下的三个工具在调试中会经常用到如.图1.4所示,“DisassemblyWindow”显示C文件的反汇编程序;“Watch&CallStackWindow”可以显示程序中某一变量的值;“MemoryWindow”可以显示内存中某一地址的值。
图1.4三个常用的调试工具
2系统的硬件部分设计
本文为基于单片机的热烘房的设计,使用STC89C52单片机作为控制核心,可调节转速风扇模拟传送带的转速,继电器连接加热装置模拟烘房加热设备,DS1302来完成烘房的定时功能,并通过LCD1602液晶显示器反应出来。
2.1STC89C52单片机
主控模块模块在整个系统中起着统筹的作用,需要检测键盘,风扇转速等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的STC89C52单片机作为系统的主控芯片。
51系列单片机最初是由Intel公司开发设计的,但后来Intel公司把51核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel等大公司。
因此市面上出现了各式各样的均以51为内核的单片机。
这些各大电子生产商推出的单片机都兼容51指令、并在51的基础上扩展一些功能而内部结构是与51一致的。
2.1.1STC89C52单片机的主要特点
STC89C52单片机是一个八位的微处理器(CPU)。
片内数据存储器RAM(128比特),主要用于存放写/读的数据,比如运算的中间结果、最终结果和欲显示的数据等,SST89系列单片机最多提供1字节的片内数据存储器RAM。
片内程序存储器ROM(4字节),主要用于存放程序和一些原始数据以及表格等。
存在一些单片机内部不带ROM/EPROM,比如80C31,8031,8032,系列等。
单片机的发展趋势是将RAM和ROM同时集成在单片机里面以至于方便用户进行设计还提高了系统不受其他硬件的干扰。
有关SST公司推出的89系列单片机,它分别集成了16字节、32字节、64字节的Flash存储器,Flash存储器可供用户根据需要选用。
四个八位并行的I/O接口P0~P3,每个接口可以用作输出也可以用作输入。
拥有两个计数器/定时器,每个计数器/定时器都可以设置成用户自定义计数方式,用它来对外部事件进行计数处理,它还可以设置成定时的方式,并且还可以依据定时或计数的结果实现对计算机控制。
在此为了方便设计串行通信,所以52系列单片机都会提供3个16位定时器/计数器。
单片机具有五个中断源的中断控制系统。
目前新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源,不再是仅仅的五个中断源。
全双工UART(通用异步接收发送器)的串行I/O口,实现微机之间或单机与单片机之间的串行通信。
片内振荡器和时钟产生电路,微调电容以及石英晶体都需要外接。
其不得高于允许振荡频率为12MHz。
SST89V58RD不得高于振荡频率达40MHz,所以才使得大大的提高了指令的执行速度[2]。
硬件原理图如图2.1所示。
图2.1STC89C52单片机硬件原理图
2.1.2最小系统单片机
STC89C52单片机加上时钟电路以及复位电路组成的最小系统单片机在单片机系统中起着至关重要的作用。
单片机内部自带时钟芯片,在XTAL1和XTAL2两个引脚连接12MHZ的晶振,2个30pf负载电容组成时钟电路,52单片机是12分频的,选用12M晶振,单指令周期的语句,正好为1us,其他语句是1us的整数倍,方面计算。
复位电路方面,连接10uf电容,10K电阻,保证上电瞬间RST脚的高电平能持续两个机器周期以上。
2.2时钟模块DS1302
实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,它的主要特点是采用串行数据进行传输,可为在突发情况掉电保护电源提供可编程的供电功能,而且可以关闭其在充电功能。
DS1302采用普通32.768kHz晶振。
2.1.3DS1302工作原理
DS1302由VCC1或VCC2两者中较大者供电。
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。
当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图5所示。
表-1为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。
对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。
控制字节总是从最低位开始输入/输出的。
表-2为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作[3]。
2.1.4DS1302实现寄存器
控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据。
其日历、时间寄存器及其控制字见表2.1。
写寄存器
读寄存器
Bit7
Bit6
Bit5
Bit7
Bit3
Bit2
Bit1
Bit0
80H
81H
CH
10秒
秒
82H
83H
10分
分
84H
85H
12/——24
0
10
时
时
——AM/PM
86H
87H
0
0
10日
日
88H
89H
0
0
0
10月
月
8AH
8BH
0
0
0
0
0
星期
8CH
8DH
10年
年
8EH
8FH
WP
0
0
0
0
0
0
0
表2.1DS1302的日历时间寄存器表
2.1.5DS1302的作用
DS1302的SCLK、VO、CE引脚接于单片机的P32、P33、P34,I/O端口,进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
硬件原理图如图2.2所示。
图2.2DS1302接口电路
2.2显示模块模块选择与介绍
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。
(2行16列)。
日常生活中,液晶显示模块也作为很多电子产品的通过器件,例如从计算器、电子表、万用表等电子产品在中都可以看到,显示的内容主要有图形、数字和专用符号。
一般在单片机的人机交互界面中,输出方式有如下几种:
液晶显示器、发光管、LED数码管等等。
发光管和LED数码管都比较常用,软硬件都比较简单。
晶液显示器在单片机系统中作为输出器件有以下几个优势:
因为液晶显示器的每一个接收点在收到信号后就会保持相同的色彩和亮度,恒定发光,而且不会像阴极射线管显示器那样显示不断刷新新亮点。
所以液晶显示器的画质更高而且不会发生闪烁,这样保证了输出完整性。
液晶显示器目前都是数字式的,这样可以使单片机系统的接口更加可靠简单,操作起来会更加的方便。
液晶显示器可以利用显示屏上的电极控制液晶分子状态从而实现显示的目的,在体积和重量上比同等显示面积的传统显示器要更加具有优势。
相比而言液晶显示器在功耗上,主要消耗的是内部的电极和驱动IC,因此它的耗电量比其它显示器要少很多,所以在耗能上不必提供更多的电能。
字符型液晶显示模块是一种专门用于显示符号、数字、字母等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
2.2.1LCD1602引脚说明
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL是液晶显示器的对比度调整端,当接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时通常通过一个10K的电位器调整它的对比度。
第4脚:
RS是寄存器选择,高电平时选择数据寄存器、低电平时会选择指令寄存器。
第5脚:
R/W为读写的信号线,在高电平时进行读的操作,而在低电平时进行写的操作。
当R/W和RS共同为低电平时既写入指令还可以显示地址,当R/W为高电平,RS为低电平时可以读忙信号,当R/W为低电平,RS为高电平时可以写入数据。
第6脚:
E端是使能端,当E端从高电平跳到低电平时,液晶模块就执行命令。
第7~14脚:
D0~D7为八位双向的数据线。
第15脚:
背光源为正极。
第16脚:
背光源为负极。
2.2.2LCD1602的RAM地址映射
LCD1602液晶模块内部的字符发生存储器,存储了一百六十个不同的点阵字符图形,这些字符图中有:
英文字母、数字的大小写、日文假名以及常用的符号等,每一个字符都具有相对应的固定的编码,例如大写英文字母“A”的代码就是01000001B(41H),在显示时,模块会把地址41H中的点阵字符图形都显示出来,使之呈现出来。
它的读写(输出,输入)操作、光标和屏幕的操作都是通过编程指令来实现的(说明:
1为高电平,0为低电平)。
指令1:
清显示,指令码为01H,光标可以复位到地址00H位置。
指令2:
光标复位,光标返回到地址为00H。
指令3:
显示模式与光标设置为I/D:
光标移动的方向,高电平向右移,低电平向左移。
S:
屏幕上所有文字是否右移或者左移。
低电平表示无效,高电平则表示有效。
指令4:
显示开关的控制。
D:
控制整体显示开关,低电平表示关显示,高电平则表示开显示。
C:
控制光标的开与关,低电平表示无光标,高电平表示有光标。
B:
控制光标是否闪烁,低电平不闪烁,高电平闪烁。
指令5:
光标或者显示移位S/C:
高电平时会移动显示的文字,低电平时会移动光标。
指令6:
功能设置命令为DL:
高电平时为4位总线,低电平时则为8位总线。
N:
高电平时双行显示,低电平则为单行显示。
F:
低电平时会显示5X7的点阵字符,高电平时会显示5x10的点阵字符(有些模块是DL:
低电平时为4位总线,高电平时则为8位总线,)。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM为地址设置。
指令9:
读出忙信号与光标地址。
BF表示忙标志位,高电平表示忙,此时模块不能够接收命令和数据,如果为低电平表示不忙,模块就能接收相应的命令或者数据。
指令10:
写数据。
指令11:
读数据。
2.2.3液晶显示模块的作用
液晶显示模块是一个相比之下慢显示器件,所以在执行每条指令之前,一定要确认模块的忙标志为低电平,表示空闲,否则这个指令是无效的。
要显示字符时首先要先输入显示字符的地址就是模块显示字符地址。
显示模块采用LCD1602液晶显示器,能够清晰的在液晶上显示索要显示的字符和数字,看到能让人感觉直观。
液晶的命令操作脚是RS、RW、EN接在单片机的P3^5、P3^6、P3^7脚。
,数据脚D0~D7分别接单片机的的P1口。
具体电路图如图2.4所示:
图2.4液晶显示电路
2.3按键控制模块选择与介绍
2.3.1按键控制模块选择
方案—:
采用矩阵式的键盘,此类键盘采用矩阵式行列扫描方式,优点是当按键较多时可降低占用单片机的I/O口数目,缺点就是电路变得更加复杂而且会加大编程的难度。
方