基于单片机的温度控制系统的方案设计书.docx
《基于单片机的温度控制系统的方案设计书.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统的方案设计书.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的温度控制系统的方案设计书
基于单片机的温度控制系统的设计
单片机正朝着高性能和多品种的方向发展,它具有低功耗、小体积、大容量、高性能、低价格和外部电路内装化等几个方面的发展特点。
采用单片机来控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
温度控制系统采用STC89C52RC单片机作为主控芯片,温度传感器采用DS18B20来采集温度发,显示模块采用LED数码管以动态扫描方式实现温度动态显示,以矩正键盘实现温度设定,程序员设定温度控制电路的输入接口,蜂鸣器实现高、低温的报警,提醒人们作适当的温度调节。
【关键词】:
STC89C52RC单片机、传感器DS18B20、LED数码管
ABSTRACT
SCMareheadingforhigh-performanceandmanyvarietiesthedirectionofdevelopment,ithasalowpowerconsumption,smallvolume,highcapacity,highperformance,lowpriceandanexternalcircuitinsideoutfitchangefromseveralaspectssuchasthedevelopmentfeatures.Bysinglechipmicrocomputertocontrolhasnotonlyconvenientcontrol,simpleandflexiblewaitforanadvantage,butalsocangreatlyimprovethetechnicalindexaccusedoftemperature,thusgreatlyimproveproductqualityandquantity.TemperaturecontrolsystemadoptsSTC89C52RCmicrocontrollerasthemasterchip,temperaturesensorDS18B20miningtocollecttemperaturetemperaturedisplaymoduleUSESLEDdigitaltubewithdynamicscanningmode,inordertorealizethedynamicdisplaytemperaturetorqueiskeyboardrealizetemperaturesetting,theprogrammerissetfortemperaturecontrolcircuitofinputinterface,hightemperature,lowtemperaturealarmbuzzerrealizeremindertomakethesuitabletemperatureregulation.
【KEYWORD】:
STC89C52RCmicrocontroller,sensorDS18B20,LEDdigitaltube
引言
二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。
因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制也在各行各业中也发挥着重要的作用。
如在日趋发达的工业中,利用测量与控制温度来保证生产的正常运行。
在农业中,用于保证蔬菜大棚的恒温保产等。
蔬菜是人们日常生活中不可缺少的副食品,大棚蔬菜满足了人们能一年四季能吃到新鲜蔬菜的愿望,以单片机为主的温度控制系统可对大棚内部的温度和蔬菜所需的正常温度进行比较,以人性化的方式向大棚管理人员提供温度调节的信息,帮助农民提高作物的产量,减少农民的工作量。
本设计所采用的温度控制系统以STC89C52RC单片机为核心,蔬菜大棚的温度经过温度传感器采样后变换成模拟电压信号,经低通滤波后滤掉干扰信号后送放大器,信号放大后经数字温度传感器DS18B20内部集成的A/D转换器转换成数字信号传送给单片机,单片机根据输入的温度得出结果,经过数码管显示温度值,超过温度的设定值范围时,报警电路会报警,及时提醒农民作出适当的温度调节。
一、总体设计
温度控制广泛应用于人们的生产和生活中,单片机控制系统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。
本设计选用STC89C52RC芯片,其功能强大,兼容性好。
1.温度传感器的选择
方案一:
测温电路选用热敏电阻器件作为感测温度的核心元件,由于温度变化引起热敏电阻的变化,从而导致输出电压的微弱变化,再将其采集到A/D转换芯片ADC0809进行A/D转换,将模拟信号转化为数字信号后,送入单片机进行数据处理,利用显示电路把被测温度显示出来。
方案二:
使用数字集成温度传感器DS18B20作为感测温度的元件,直接输出数字温度信号给单片机进行处理,显示出被测温度值。
方案比较:
对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,而且在人体所处环境温度变化过程中难以检测到小的温度变化。
对于方案二,由于数字集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述方案的原理有着本质的不同,使得其温度分辨率极高。
温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术,与单片机的接口变得发出简洁,抗干扰能力高。
比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故设计中采用方案二。
2.显示电路的选择
方案一:
采用共阳数码管显示温度。
方案二:
采用液晶显示屏LCD显示温度。
方案比较:
对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看到,功耗极低,显示驱动程序的编写也相对简单。
缺点是扫描时会有闪烁,可利用人眼的视觉惰性,将扫描频率增大来消除闪烁感。
对于方案二,液晶显示屏既能显示字符又能显示图形,但是液晶显示屏价格昂贵,驱动程序复杂。
比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。
3.显示方式的选择
方案一:
采用静态显示方式。
方案二:
采用动态显示方式
方案比较:
对于方案一,每个数码管的段选必须接一个8位数据线来保持显示的字形码。
当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。
其优点是占用CPU时间少,显示便于监测和控制。
缺点是硬件电路比较复杂,成本较高。
对于方案二,它将所有位数码管的段选线并联在一起,由位选线控制时那一位数码管有效。
选亮数码管采用动态扫描显示,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻式应略小于静态显示电路中的。
比较以上两种方案,从简单实用的原则综合考虑,本方案采用方案一。
二、硬件设计
(一)硬件总体框图
图2.1硬件总体框图
温度控制系统总体框图如图2.1所示。
本系统的主要组成部分:
STC89C52单片机、温度采集器DS18B20、键盘电路、温度显示电路、报警电路、电源电路等。
(二)工作原理
程序员通过键盘电路设定控制温度,系统工作时,由DS18B20温度传感器采集温度信号送入单片机处理,当温度超过设定范围时,报警电路自动提醒人们作出适当的温度调节。
同时,温度显示模块利用LED数码管以动态扫描方式显示温度。
(三)部分元器件介绍
1.STC89C51RC单片机
本设计使用的是STC公司生产的STC89C52RC单片机,它是一款性价比非常高的单片机,它完全兼容ATMEL公司的52单片机,有无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等很多特点。
其次STC89C52RC单片机内部资源比起ATMEL公司的单片机来要丰富的多,STC89C51RC单片机内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD,片内自带EEPROM、双数据指针等。
STC89C52RC有PDIP封装和PLCC封装,本设计采用PDIP40封装型号。
I/O口引脚为P0口、P1口、P2口和P3口。
(1)电源和时钟引脚:
VCC(40脚)和GND(20脚)常压为+5V,低压为3.3V。
(2)XTAL1(19脚)XTAL2(18脚)——外接时钟引脚
XTAL1为片内振荡电路的输入端。
XTAL2为片内振荡电路的输出端。
8052系列的时钟有两种方式,一种是片内振荡方式,需要在这两个引脚接石英晶体和振荡电容,振荡电容的值一般选择为10P~30P。
另一种外部时钟方式即XTAL1接地,外部时钟信号从XTAL2脚输入。
(3)RST(9脚)——单片机的复位引脚
P0口(39脚~32脚)——双向8位I/O口。
每个口可以独立控制。
52系列单片机P0口内部没有上拉电阻,为高祖状态,所以不能正常的输出高低电平,因此该组I/O口在使用的时候务必要接上拉电阻,一般我们采用接入10K的上拉电阻。
P1口(1脚~8脚)——准双向8位I/O口。
每个口可以独立操作控制,内带上上拉电阻,这种接口没有高阻状态,输入页不能锁存,固然不是真正的双向I/O口,之所以称它为“准双向”时因为该口在座位输入使用前要先向该口进行写一操作,然后单片机内部才能正确地读出外部信号,页就是要使其先要有个准备过程,所以才称为准双向口。
对52单片机的P1.0引脚的第二功能为T2定时器的外部输入,P1.1引脚的第二功能为T2EX捕捉,重装触发,即T2的外部控制器。
P2口(21脚~28脚)——准双向8位I/O口。
每个口可以独立操作控制,内带上上拉电阻,与P1口相似。
P3口(10脚~17脚)——准双向8位I/O口。
每个口可以独立操作控制,内带上上拉电阻,作为第一功能使用时就当作普通I/O口,与P1相似。
作为第二功能使用时,个引脚的定义如表2-1所示,值得强调的是,P3口的每一个引脚均可以独立定义为第一功能的输入、输出或第二功能。
表2-1P3口第二功能定义
标号
引脚
第二功能
说明
P3.0
10
RXD
串行输入口
P3.1
11
TXD
串行输出口
P3.2
12
/INT0
外部中断0
P3.3
13
/INT1
外部中断1
P3.4
14
T0
定时器/计数器0外部输入口
P3.5
15
T1
定时器/计数器1外部输入口
P3.6
16
/WE
外部数据存储器写脉冲
P3.7
17
/RD
外部数据存储器读脉冲
STC89C52RC有40个引脚,引脚排列如图2.2所示。
图2.2STC89C52RC引脚排列
2.温度传感器DS18B20
本设计采用DS18B20芯片,如图2.3所示,具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
图2.3温度芯片DS18B20
美国DALLAS半导体公司的数字化温度传感器DS1820是世界上第一个支持“一线总线”接口的温度传感器,其内部使用了再板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络。
DS18B20因为其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度转换时的精度损失,使得测量更加精确。
DS18B20的特性:
(1)适应电压范围更宽,电压范围为3.0V~5.5V,寄生电源方式下可由数据线提供,无需外部工作电源,也可由外部电源供电,零待机功耗,不需备份电源。
(2)独特的单总线接口方式,DS18B20在微处理器连接时,仅需要一个I/O引脚即可实现与DS18B20的双向通讯,无需变换其它电路,直接输出被测温度值的数字信号,通过编程可实现9~12位的数字读数方式,温度数字量转换时间为200ms(典型值)。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点功能。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)DS18B20提供了9位摄氏温度测量,具有非易失性、上下触发门限用户可编程的报警功能,警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况),应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。
(6)DS18B20测量温度的工作范围为-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(7)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(8)在9位分辨率时最多在93.75ms内把温度转换为数字,在12位分辨率时最多在750ms内吧温度值转换为数字,速度更快。
(9)DS18B20的测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(10)DS18B20具有负压特性,当电源极性接反时,芯片不会因为发热而烧毁。
(11)每片DS18B20具有唯一的64位序列码,这些码允许多片DS18B20在同一条总线上工作,因而可方便地使用单个微处理器控制分布在大范围内的多片DS18B20器件。
DS18B20的内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、高速暂存器。
DS18B20的引脚定义:
(1)DQ:
数字信号输入/输出端,该脚为漏极开路输出,常态下呈高电平。
(2)GND:
电源地。
(3)VDD:
外界供电电源输入端,可选用,不用时应接地。
3.74HC245
74HC245是一款高速CMOS器件,74HC245引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC245八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出。
74HC245输出使能端(OE)用于实现轻松级联,而发送/接收端(DIR)用于控制方向。
OE控制输出,使得总线被有效的隔离。
74HC245特性如下:
(1)八路双向总线接口
(2)正相三态输出
(3)可选多种封装类型
(4)兼容JEDEC标准no.7A
(5)ESD保护
①HBMEIA/JESD22-A114-B超过2000V
②MMEIA/JESD22-A115-A超过200V
(6)温度范围
①-40~+85℃
②-40~+125℃
74HC245管脚如图2.3所示:
图2.374HC245管脚图
4.74HC573八进制三态非反转透明锁存器
74HC573是一款高性能硅门CMOS器件,它的输入和标准CMOS输出是兼容的。
加上拉电阻,它们能和LS/ALSTTL输出兼容。
其特点如下:
(1)三态总线驱动输出。
(2)置数全并行存取。
(3)缓冲控制输入。
(4)使能输入有改善抗扰度的滞后作用。
原理说明:
74HC573的八个锁存器都是透明的D型锁存器,当锁存使能段为高时,输出将随数据(D)输入而变。
当锁存使能为低时,输出将锁存在已建立的数据电平上。
输出控制不影响锁存器的内部工作,甚至输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口,特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。
74HC573管脚排列如图2.4所示:
图2.474HC573管脚排列图
74HC573真值表如表2-2所示:
表2-274HC573真值表
输入
输出
输出使能
锁存使能
D
Q
L
H
H
H
L
H
L
L
L
L
X
不变
H
X
X
Z
X=不用关心
Z=高阻态
(四)各模块电路设计及分析
1.电源电路
电源是系统硬件设计的重要组成部分之一,这部分的设计直接影响系统的精度和可靠性。
电源电路的设计有如下要求:
电源电路的输出质量要高,输出纹波电压要小、稳压效果要好。
本设计控制系统部分电源采用5V直流电源供电,因此,系统需要提供5V电压。
电源电路的结构如图2.5所示,将电网电压接入的220V电压送到变压器降压。
将降压后的交流电压送到整流电路变成直流电压。
再通过低通滤波电路滤波,使平滑的电压输出到稳压电路中,得到稳定性足够高的5V直流电,将处理后的电压送入后面的控制电路。
图2.5电源电路
2.温度设定电路
单片机应用系统中除了有专门的复位电路外,其他的按键或键盘都是以开关状态来设置控制功能或输入数据。
本设计采用软件方法消除抖动,当检测到有键按下时,执行一个10ms的演示程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正的按键状态,从而消除了抖动影响。
键盘处理程序首先执行等待按键,并确认有无按键按下。
当确认有按键按下后,下一步就要识别时哪一个按键按下。
对照如图2.6所示的4X4键盘,说明线反转法工作原理。
首先辨别键盘中有无按键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:
向行线输出全扫描字00H,把全部列线置为低电平,然后列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个按键按下是通过将列线逐列置低电平后,检查输入状态来实现的。
方法是:
依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
键盘共有16个按键,用于方便设定温度,具体如下:
数字0~9:
数字按键;
确认:
修改设置温度时进行确认;
消除:
修改设置温度时进行删除;
开启:
打开电源;
关闭:
关闭电源;
F1:
显示及设置转换到温度点1,按此键后,显示预设置温度的数码管闪烁;
F2:
显示及设置转换到温度点2,按此键后,显示预设置温度的数码管闪烁。
键盘的按键分布如表2-3:
表2-3键盘的按键分布
P2.0
0
1
2
3
P2.1
4
5
6
7
P2.2
8
9
F1
F2
P2.3
清除
开启
关闭
确定
P2.4
P2.5
P2.6
P2.7
3.单片机接口电路设计
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种时寄生电源供电方式,如图2.7所示,此时为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET和单片机的P1.0来完成对总线的上拉,本设计采用电源供电方式,P1.1口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET和单片机的P1.0来完成对总线的上拉。
当DS18B20处于写存储器操作哦温度A/D操作时,总线必须有强的上拉,上拉开启时间最大为10us。
采用寄生电源供电方式是VCC和GND均接地。
由于单线制只有一根线,因为此发送接口必须是三状态的。
主机控制DS18B20完成温度转换必须经过3个步骤:
(1)初始化;
(2)ROM操作命令;
(3)存储器操作命令。
DS18B20
P1.0
2
DQ
1
GND
3
VCC
图2.7DS18B20与单片机的接口
(1)晶振电路
单片机晶体振荡电路分为串联型与并联型振荡电路,图2.8的电路是并联型振荡电路,单片机XTAL1和XTAL2分别接30pF的电容,中间再并接一个12MHZ的晶振,形成单片机的晶振电路。
其主要作用是产生正弦信号,振荡由谐振回路的参数决定,晶体作为一个等效的电感,它的L很大,使得Q值很大,其他元件和杂散参数对振荡影响很小,所以稳定性很高。
图2.8晶振电路
(2)串口引脚
P0口接9个2.2K的排阻,然后接到显示电路上。
P1.0接到温度传感器DS18B20上。
P1.1和P1.2引脚接到继电器电路的4.7K电阻上。
P2.5接蜂鸣器电路,其他引脚悬空。
P3中P3.5、P3.6、P3.7接到按键电路。
(3)其他引脚
ALE悬空,复位引脚接到复位电路,VCC接电源,VSS接地,EA接电源。
4.温度显示电路
本设计采用七段数码管和移位寄存器芯片74LS164。
单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码管的显示,从而实现移位寄存点亮数码管显示。
由于单片机时钟频率达到12M,移位寄存器的移位速度相当快,从视觉角度上看,就像是全部数码管同时显示一样。
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B中任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态,74LS164引脚分配图如图2.9所示。
图2.974LS164引脚分配图
引出端说明:
CLOCK:
时钟输入端;
CLEAR:
同步清零输入端(低电平有效);
A,B:
串行数据输入端;
QA-QH:
输出端。
74LS164真值表见表2-4:
表2-4真值表
INPUTS
OUTPUTS
CLEAR
CLOCK
AB
QAQB…QH
L
H
H
H
H
X
L
↑
↑
↑
XX
XX
HH
LX
XL
LL…L
QA0QB0…QH0
HQAn…QGn
LQAn…QGn
LQAn…QGn
温度显示电路如图2.10所示,采用LED数码管以动态扫描方式实现温度动态显示。
本设计中所涉及数码管皆采用共阳极数码管,显示电路为动态扫描式。
图2.10温度显示电路
5.温度测试电路
采用温度芯片DS18B20。
使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。
电路如图2.11所示:
图2.11温度传感器电路
6.温度调节控制电路
单片机通过三极管控制继电器的通断,最后达到控制加热器的目的。
继电器电路如图2.12所示。
当温度未达到所要求的温度范围时,单片机发送高电平信号使时三极管饱和导通,继电器让电源与加热器接通,加热器加热,温度慢慢升高。
当温度上升到预定温度时,单片机发送低电平信号进入截止状态,继电器的弹片打到另一侧,使加热器与电源断开,加热器停止加热。
图2.12继电器电路图
7.复位电路设计
为了确保电路稳定工作,复位电路时必不可少的一部分,当单片机在系统运行中,受到环境干扰出现程序跑飞时,按下复位按钮,内部的程序自动从头开始执行。
复位电路工作原理如图2.13所示,VCC上电时,C充电,在电阻上电流降为0,电压也为0,使得单片机进入工作状态。
工作期间,按下S,C放电。
S松开,C又充电,在电阻上出现电压,使得单片机复位。
几个毫秒后,单片机进入工作状态。
电容