毕业设计之水温控制器Word文档下载推荐.docx
《毕业设计之水温控制器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《毕业设计之水温控制器Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
2.可以通过用键盘人工设定门限温度;
3.用数码管显示设定温度和实际温度。
第二章设计思路
2.1总体设计
此设计一个基于单片机的水温控制电路,需要完成的功能是温度的设定、检测与显示以及的温度的控制和报警等。
当温度小于设定温度时电炉工作,
当温度大于设定温度时电炉不工作。
(1)软、硬件功能划分[4]
在绝大多数单片机应用电路中,电路功能的软、硬件划分往往是由应用电路对控制速度的要求决定的,在没有速度限制的情况下可以考录以软件换取硬件电路的简化,以求降低硬件成本。
速度估算
在不考虑容器热容量和环境温度影响的情况下,水温上升1℃所需的时间达到秒,如果考虑容器热容量和环境温度的影响,时间可能"
title="
下一页"
>
|更长。
由此可见,对于指令执行时间一般为几个微妙的单片机应用电路来说,控制速度几乎没有热核限制。
软、硬件功能划分
为了简化华电路硬、降低硬件成本、提高电路灵活性和可靠性,有关PID运算,输入信号滤波及大部分控制过程都可由软件来完成,硬件的主要功能是温度信号的传感,设定值的键入,数值的显示及输出信号的转换。
2.2简述
首先,要选择一个CPU控制芯片。
由于电路控制方案简单,在运行过程中需要存放的中间变量只有给定温度、实测温度、PI运算中间结果及输出结果等十几个变量,因此选用AT89C51微控制器作为电路的核心,由于AT89C51的片内RAM已能满足存放要求,可不必再扩充外部RAM[4]。
其次,要选择一个温度敏感元件,它能够很灵敏的根据温度变化输出一定的信号。
这样的器件种类很多,本设计选用的数字式集成温度传感器DS18B20。
这是由于本设计中单片机除了要完成数据采集、处理、控制和显示任务外,还要完成按键值得采集、处理。
如果用常规的数字加模拟电路实现就会相对困难一些。
DS18B20是DALLAS半导体公司(现属MAXIM公司)设计生产的单总线数字温度传感器,其测量温度范围为-55℃~+125℃,在-10~+85℃时精度为±
0.5℃,这个精度已可以满足普通型的环境温度控制或测温类消费产品的要求。
这个传感器最大的特点就是能够从一根总线直接输出二进制的温度信号,不需要A/D转换和信号放大。
这样的选择使得整个电路的硬件设计更为简化,节省了单片机的资源[5]。
再次,设计显示部分、按键部分和报警。
显示部分的设计考虑到在软件设计过程中实际温度和设定温度之间会有影响,本设计采用实际温度和门限温度单独显示,各用一组I/O口。
选用的是两组共阴极数码管,采用一块同相器74LS07集成块来驱动。
动态扫描显示。
按键部分的设计考虑到单片机I/O资源不足的缘故,本设计采用三个按键分别用来设定门限值十位、个位和一位小数位。
报警部分就是当设定的门限温度在40~90℃之外,就要报警,用一个发光二极管表示。
最后,控制部分的设计,这一部分主要就是继电器的选择。
本设计选择的是固态继电器。
固态继电器(SolidstateRelay-SSR)是近几年发展起来的一种新型电子继电器,其输入控制电流小,容易驱动,其输出利用晶体管或可控硅驱动,无触点。
与普通的电磁式继电器和磁力开关相比,具有无机械噪声、无抖动和回跳、开关速度快、体积小质量轻、寿命长、工作可靠等特点,并且耐冲击、抗潮湿、抗腐蚀,因此在单片机测控等领域中[6]。
本设计采用同相器74LS07集成块来驱动固态继电器。
另外在选择继电器时还要注意它的供电电压和带负载能力。
本设计中继电器是由单片机控制的所以它的供电电压选择5V直流电。
继电器所带的负载为一个额定功率300W,接220V交流电的电炉。
所以继电器的要选用交流型(AC-SSR),耐压在220V以上,电流为1.5A以上。
本设计选用的是5V供电,2A250VAC的固态继电器。
2.3设计框图
1.设计过程框图如图2-1
图2-1设计过程框图
2.电路框图如图2-2
图2-2水温控制电路总体框图
第三章理论设计
3.1控制部分的设计
3.1.1AT89C51单片机的结构[7]
一.AT89C51结构框图
AT89C51内部结构框图如图3-1
图3-1AT89C51内部结构框图
二.引脚功能说明
AT89C51是双列制插封装形式的器件,其引脚图如图3-2所示。
AT89C51的引脚P00~P07、P10~P17、P20~P27、P30~P37为四个8位并行输入/输出口,其中P3口、P0口、P2口为双功能口,可以作为普通输入/输出口(第一功能),也可以作为特殊输入/输出口。
RST为复位输入线,ALE、EQ\*jc2\*"
Font:
Tahoma"
\*PEQ\*jc2\*"
\*SEQ\*jc2\*"
\*EEQ\*jc2\*"
\*N、EQ\*jc2\*"
\*A为系统扩展控制线,XTAL1和XTAL2为时钟电路输入/输出线,|<
<
<
12345678910>
|VCC、VSS为电源输入线,一般接+5V和地。
3.1.2AT89C51单片机最小系统
最小系统包括单片机的基本供电、时钟电路和复位电路。
一.时钟和时钟电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
AT89C51单片允许的时钟频率的典型值12MHZ,也可以是6MHZ。
本设计采用12MHZ。
单片机时钟电路图如图3-3
图3-3单片机时钟电路
图3-10中晶振频率选择12MHZ。
接到晶振两端的瓷片电容作用是使振荡器起振和对f微调补偿,典型值为30PF,本设计中选用20PF瓷片电容。
当单片机加电以后延迟约10ms的时间振荡器起振产生时钟,不受软件控制(XTAL2输出幅度为3V左右的正弦波。
二.复位和复位电路
计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的复位引脚是RST,当振荡器起振后,该引脚上出现2个周期的高电平,是器件复位,只要RST保持高电平,单片机保持复位状态。
单片机复位方式有二种:
上电复位(如图3-4)、人工复位(如图3-5)。
图3-4上电复位电路图3-5上电复位和开关复位
注:
RST与Vss之间的那个电阻在NMOS型单片机种需要接,但是在CMOS型单片机中不接。
其中电容一般为10UF的电解电容。
三.AT89C51单片机最小系统连接原理图
本设计的AT89C51单片机最小系统原理图。
如图3-6
图3-6AT89C51最小系统连接原理图
3.2显示部分的设计
3.2.1LED显示器接口原理[6]
LED(LightEmittingDiode)是发光二极管的缩写。
LED显示器是由发光二极管构成的。
LED显示器在单片机中的应用非常普遍。
LED显示器的结构
常用的LED显示器为8段(或7段,8段比7段多了一个小数点“dip”段)。
每一个段对应一个发光二极管。
这种显示器有共阴极和共阳极两种,如图3-7所示。
共阴极LED显示器的发光二极管的阴极连结在一起,通常此公共阴极接地。
当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
同样,共阳极LED显示器的发光二极管的阳极连结在一起,通常此公共阳极接正电压,当某个发光二极管的阳极为低电平时,发光二极管点亮,相应的段被显示[11]。
为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同的字型,因此该代码称之为段码(或字型码)。
7段发光二极管,再加上一个小数点位,共计8段。
因此提供给LED显示器的字型码正好是一个字节。
各段与字节中的各位对应的关系如表3-1。
表3-1显示段与代码位的对应关系表
代码位
D7
D6
D5
D4
D3
D2
D1
D0
显示段
dip
g
f
e
d
c
b
a
按照表3-1格式,8段LED显示器的字型码如表3-2所示。
表3-28段LED显示器部分字型码
显示字符
共阴极段码
共阳极段码
3FH
C0H
6
7DH
82H
1
06H
F9H
7
07H
F8H
2
5BH
A4H
8
7FH
80H
3
4FH
B0H
9
6FH
90H
4
66H
99H
“灭”
00H
88H
5
6DH
92H
…
段码是相对的,它由个字段在字节中所处的位决定。
应根据实际情况确定,以上表格用来参考。
二.LED显示器工作原理
LED显示器有静态显示和动态显示两种显示方式。
1.LED静态显示方式[7]
所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。
这种显|<
|示方式的每一个8段显示器需要一个8位输出口控制。
如图3-8用AT89C51单片机控制LED静态显示方式接口
图3-8用AT89C51单片机控制LED静态显示方式接口
2.LED动态显示方式
所谓的动态显示,就是一位一位地轮流点亮各位显示器(扫描)。
在多位LED显示时,为简化硬件电路,节省I/O口资源,通常将所有位的段码线相应的并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。
如图3-9用AT89C51单片机控制LED动态显示方式接口。
图3-9用AT89C51单片机控制LED动态显示方式接口
其中7407是同相器集成块,其内部结构如图3-10,它是用来驱动共阴极数码管的。
在使用动态显示电路的时候,由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。
因此,要在同一时刻,如果各位的位选线都处于选通状态的话,那两位LED将显示相同的字符。
若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。
这样,在同一时刻2位LED中只有选通的那一位显示出字符,而其它的LED则是熄灭的。
同样,在下一时刻,只让下一位的位选线处于选通状态。
也就是说在同一时刻只有选通位才能显示出相应的字符,而其它位是熄灭的。
如此循环下去就可以使各位显示出将要显示的字符。
虽然这些字符是不在同一时刻出现的,但由于LED显示器的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮”的假象,达到同时显示的效果。
这是用软件来实现的。
下面我就来介绍一下LED显示器动态显示的软件子程序清单(以图3-9共阴极2位LED显示器为例):
见附录四(本设计就是采用这种方式显示)。
3.3按键部分的设计
3.3.1键盘接口技术[8]
键盘是一组按键组合,它是最常用的单片机输入设备。
键盘分编码键盘和非编码键盘。
键盘上闭合键的识别由专用的硬件译码器实现,并产生键编码或键值的称为编码键盘。
靠软件识别的称为非编码键盘。
本设计使用非编码键盘,下面主要介绍非编码键盘的原理、接口技术和程序设计。
一.键盘工作原理
键盘中每个按键都是一个常开开关电路,如图3-11所示。
当按键K未被按下时,P3.1输入高线平;
当K闭合时,P3.1输入低电平。
通常按键所用的开关为机械弹性开关,当机械触点端来、闭合时,电压信号波形如图3-12所示。
由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,如图3-12所示。
抖动的时间的长短由按键的机械特性决定,一般为5~10ms。
按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒。
按键抖动会引起一次按键被误读多次。
为确保CPU对按键的一次闭合仅做一次处理,必须去除键抖动。
在键闭合稳定时,读取键的状态,并且必须判别键号;
当键释放稳定后,再做处理。
按键的抖动,可用硬件或软件两种方法消除。
本设计使用的是软件。
如果按键较多,常用软件方法去抖动,及检测出键闭合后执行一个延时程序,产生5~10ms的延时;
让前沿抖动消失后,再一次检测按键的状态,如果仍保持闭合状态电平则确定真正有键按下。
当检测到按键释放后,也要经过5~10ms的延时,待后沿抖动消失后,才能转入该键的处理程序。
二.独立式按键
键盘可分为独立连接式和行列式(矩阵式)两类,本设计使用的是独立连接式,所以这里只介绍独立连接式。
独立式按键是指各按键相互独立地接通一条输入数据线,如图3-13所示。
这是最简单的键盘结构,该电路为查询方式电路。
当任何一个键按下时,与|<
|之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。
要判别是否有键按下,用单片机的位处理指令十分方便。
下面列出以图3-13为例的按键子程序:
见附录五。
3.4前向通道的设计
3.4.1数字温度传感器DS18B20的发展
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"
一线总线"
接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
3.4.2DS18B20的主要特性[9]
(1)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温度范围-55℃~+125℃,在-10~+85℃时精度为±
0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以"
串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
3.4.3DS18B20的外形、内部结构及引脚定义
一.DS18B20的外形及管脚排列。
如图3-14所示
图3-14DS18B20的外形及管脚排列
二.DS18B20的内部结构。
如图3-15所示
图3-15DS18B20的内部结构图
三.DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地线;
(3)VDD为外界供电电源输入端(在寄生电源接线方式时接地)。
3.4.4DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3-16所示。
图3-16DS18B20测温原理
图3-16中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3-3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值[9]。
一.DS18B20有4个主要的数据部件:
(1)光刻ROM中的64位序列号是出厂前被光刻好的,他可以看作是该DS18B20的地址序列码。
64为光刻ROM的排列是:
开始八位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
|<
|用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
DS18B20温度值格式表如表3-3所示
表3-3:
DS18B20温度值格式表
LSByte
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
23
22
21
20
2-1
2-2
2-3
2-4
BSByte
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
S
26
25
24
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;
如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如:
+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
如实际温度值十进制与传感器输出二进制、十六进制对应表3-4所示
表3-4实际温度值十进制与传感器输出二进制、十六进制对应表
Temperature
DigitalOutput
(Binary)
DigitalOutput
(Hex)
+125℃
0000011111010000
07D0H
+85℃
0000010101010000
0550H
+25.0625℃
0000000110010001
0191H
+10.125℃
0000000010100010
00A2H
+0.5℃
0000000000001000
0008H
0℃
0000000000000000
0000H
-0.5℃
1111111111111000
FFF8H
-10.125℃
1111111101011110
FF5EH
-25.0625℃
1111111001101111
FF6FH
-55℃
1111110010010000
FC90H
Thepower-onresetvalueofthetemperatureregisteris+85℃
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和第温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如表3-5所示:
表3-5:
配置寄存器结构
TM
R1
R0
低5位一直都是"
1"
,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如表3-6所示:
(DS18B20出厂时被设置为12位)
表