课程设计题目:单片机恒温箱温度控制系统的设计本课程设计要求:本温度控制系统为以单片机为核心,实现了对温度实时监测和控制,实现了控制的智能化。
设计恒温箱温度控制系统,配有温度传感器,采用DS18B20数字温度传感器,无需数模拟∕数字转换,可直接与单片机进行数字传输,采用了PID控制技术,可以使温度保持在要求的一个恒定范围内,配有键盘,用于输入设定温度;配有数码管LED用来显示温度。
技术参数和设计任务:1、利用单片机A T89C2051实现对温度的控制,实现保持恒温箱在最高温度为110℃。
2、可预置恒温箱温度,烘干过程恒温控制,温度控制误差小于±2℃。
3、预置时显示设定温度,恒温时显示实时温度,采用PID控制算法显示精确到0.1℃。
4、温度超出预置温度±5℃时发出声音报警。
5、对升、降温过程没有线性要求。
6、温度检测部分采用DS18B20数字温度传感器,无需数模拟∕数字转换,可直接与单片机进行数字传输7、人机对话部分由键盘、显示和报警三部分组成,实现对温度的显示、报警。
一、本课程设计系统概述1、系统原理选用AT89C2051单片机为中央处理器,通过温度传感器DS18B20对恒温箱进行温度采集,将采集到的信号传送给单片机,在由单片机对数据进行处理控制显示器,并比较采集温度与设定温度是否一致,然后驱动恒温箱的加热或制冷。
2、系统总结构图总体设计应该是全面考虑系统的总体目标,进行硬件初步选型,然后确定一个系统的草案,同时考虑软硬件实现的可行性。
总体方案经过反复推敲,确定了以美国Atmel公司推出的51系列单片机为温度智能控制系统的核心,并选择低功耗和低成本的存储器、数码显示器等元件,总体方案如下图:图1系统总体框图二、硬件各单元设计1、单片机最小系统电路单片机选用Atmel公司的单片机芯片AT89C2051 ,完全可以满足本系统中要求的采集、控制和数据处理的需要。
单片机的选择在整个系统设计中至关重要,该单片机与MCS-51系列单片机高度兼容、低功耗、可以在接近零频率下工作等诸多优点,而广泛应用于各类计算机系统、工业控制、消费类产品中。
AT89C2051是AT89系列单片机中的一种精简产品。
它是将AT89C51的P0口、P2口、EA/Vpp、ALE/PROG、PSEN口线省去后,形成的一种仅20引脚的单片机,相当于早期Intel8031的最小应用系统。
这对于一些不太复杂的控制场合,仅有一片AT89C2051就足够了,是真正意义上的“单片机”。
AT89C2051为很多规模不太大的嵌入式控制系统提供了一种极佳的选择方案,使传统的51系列单片机12Y112MHz33pF33pF10uFRST+5V+5VR11KR210KRST 1(RXD)P3.02(TXD)P3.13XTAL24XTAL15(INT0)P3.26(INT1)P3.37(T0)P3.48(T1)P3.59GND 10Vcc 20P1.719P1.618P1.517P1.416P1.315P1.214P1.1(AIN1)13P1.0(AIN0)12P3.711*AT89C2051试系统已能满足设计要求,而且降低了成本,结构设计也较精巧。
2、温度传感器采用数字温度传感器DS18B20,与传统的热敏电阻相比, 他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75ms和750ms内完成9位和12位的数字量, 并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线( 单线接口) 读写, 温度变换功率来源于数据总线, 总线本身也可以向所挂接的DS18B20供电, 而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高,成本更低。
测量温度范围为~55℃~+125℃。
C,在一10℃~+85℃。
C范围内,精度为±0.5℃。
DS1822的精度较差为±2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
其引脚分布如图3所示图3 DS18B20引脚图(1) 引脚功能如下:NC(1 、2 、6 、7 、8脚) :空引脚,悬空不使用。
VDD(3脚):可选电源脚,电源电压范围3~5.5V。
DQ(4脚):数据输入/输出脚,漏极开路,常态下高电平。
(2) DS18B20测温原理DS18B20的测温原理如图4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
DS18B20在正常使用时的测温分辨率为0.5℃,如果要更高的精度,则在对DS18B20测温原理进行详细分析的基础上,采取直接读取DS18B20内部暂存寄存器的方法,将DS18B20的测温分辨率提高到0.1~0.01℃。
图4 测温原理图(3) DS18B20与单片机接口电路P1.3口和DSl8B20的引脚DQ连接,作为单一数据线。
U2即为温度传感芯片DSl8B20,本设计虽然只使用了一片DSl8B20 ,但由于不存在远程温度测量的考虑,所以为了简单起见,采用外部供电的方式,如图2.6所示。
测温电缆采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一对接VCC和地线,屏蔽层在电源源端单点接地。
图5 DS18B20与单片机接口电路3、键盘显示电路LED与控制器的连接有并行和串行方式。
由于串行方式占用较少接口,因此得到广泛应用。
显示电路中选用MAX7219作为LED驱动芯片。
MAX7219是一个高集成化的串行输入/输出的共阴极LED驱动显示器。
每片可驱动8位7段加小数点的共阴极数码管。
片内包括BCD译码器、多路扫描控制器、字和位驱动器和8³8静态RAM。
外部只需要一个电阻设置所有LED显示器字段电流。
MAX7219和控制器只需要三根导线连接,每位显示数字有一个地址由控制器写入。
允许使用者选择每位是BCD译码或不译码。
使用者还可以选择停机模式、数字亮度控制、从1~8位选择扫描位数和对所有LED显示器的测试模式。
(1) 引脚功能MAX7219是24引脚芯片,它的引脚排列如图2.7所示。
各引脚功能如下:1) DIN(1脚):串行数据输入端,当CLK为上升沿时数据被载入16位内部移位寄存器。
2) CLK(13脚):串行时钟脉冲输入端,最大工作频率可达10MHz。
3) LOAD(12脚):片选端,当LOAD为低电平时,芯片接收来自DIN的数据,接收完毕,LOAD回到高电平,接收的数据将被锁定。
4) DIG0~DIG7(2、3、5、6、7、8、10、11脚):吸收显示器共阴极电流的位驱动线,最大值可达500mA。
图6 MAX7219引脚图5) SEGA~SEGG、SEGDP(14、15、16、17、20、21、22、23脚):驱动显示器7段及小数点的输出电流,一般为40mA,可编程调整。
6) ISET(18脚):硬件亮度调节端。
7) DOUT(24脚):串行数据输出端;V+,正电源。
8) GND(9脚):接地。
(2)MAX7219与单片机和LED及键盘的接口电路1) MAX7219的3个输入端DIN、CLK和LOAD与单片机的三个I/O口连接,DIG0~DIG7分别与八个共阴极LED的公共端连接,SEGA~SEGG、SEGDP分别与每个LED七段动和小数点驱动端相连。
电路图如图7所示。
2)键盘功能介绍采用独立式按键设计,如图上图所示。
由于只有四个按键,因此按键接口电路的设计比较简单,单片机P1.4~P1.7端口设定为输入状态,平时通过电阻上拉到Vcc,按键按下时,对应的端口的电平被拉到低电平。
这样就可以通过查询P1的高4位来判断有门有按键按下按键各接一根输入线,一根输入线的按键工作状态不会影响其他输入线上的工作状态。
通过读I/O口,判断各I/O口的电平状态,即可识别出按下的按键。
4个按键定如下:A、P1.4:S1功能键,按此键则开始键盘控制。
B、P1.5:S2加,按此键则温度设定加1度。
C、P1.6:S3减,按此键则温度设定减1度。
D、P1.7:S4发送,按此键将传感器的温度传送到上位机。
图7 MAX7219与单片机和LED及键盘的接口电路4、驱动控制电路(1) 热电制冷介绍热电制冷原理:半导体热电偶由N型半导体和P型半导体组成。
当电流的极性如图8所示时,电子从电源负极出发,经连接片、P型半导体、连接片、N型半导体,最后回到电源正极。
N型材料有多余的电子,有负温差电势。
P型材料电子不足,有温差电势;当电子从P型穿过结点至N型时,其能量必然增加,而且增加的能量相当于结点所消耗的能量。
这一点可用温差降低来证明。
相反,当电子从N型流至P型材料时,结点的温度就会升高。
直接接触的热电偶电路在实际的引用中不可用,所以用图8的连接方式来代替,实验证明,在温差电路中引入铜连接片和导线,不会改变电路的特性。
简单地说当一块N型半导体材料和一块P型半导体材料联结成电偶对时,在这个电路中接通直流电流后,就能产生能量的转移,电流由N型元件流向P型元件的接头吸收能量,成为冷端;由P型元件流向N型元件的接头释放热量,成为热端。
吸收和放热的大小是通过电流的大小以及半导体材料N、P的元件对数来决定。
图8 半导体制冷原理图(2) 驱动控制电路光耦合双向可控硅驱动器是一种单片机输出与双向可控硅之间较理想的接口器件,它由入和输出两部分组成,输入部分为砷化镓发光二极管,该二极管在5mA~15mA正向电流作用下发出足够强度的红外光,触发输出部分。
连接电路如图9所示。
输出部分为硅光敏双向可控硅,在红外线作用下可双向导通。
光电耦合器是以光为媒介传输电信号的一种“电-光-电”转换器件。
它由发光源和受光器两部分组成。
把发光源和受光器组装在同一壳体内,彼此间用透明绝缘体隔离。
发光源的引脚为输入部分,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等。
在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了“电-光-电”转换。
在光电耦合器的内部,由于发光管和受光器之间的耦合电容很小,使用共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。