当前位置:文档之家› 恒温箱控制系统的设计毕业设计

恒温箱控制系统的设计毕业设计

??学院

毕业设计(论文)

题目:恒温箱控制系统的设计

年级专业:

学生姓名:

指导教师:

二00八年六月二十八日

??学院

毕业设计任务书

毕业设计题目:恒温箱控制系统设计

题目类型理论研究题目来源学生自选

毕业设计时间从 2008.6.2 至 2008.6.28

1.毕业设计内容要求:

1)温度设定范围为0℃~125℃,最小区分度为1℃,标定温差不超过±1℃

2)采用单片机控制,论文必须附有完整电路图,系统控制流程图(程序框图)

3)设计图纸符号必须符合图形符号的国际规范,论文格式必须符合文字出版物国

家规范。

2.主要参考资料

单片机应用

电子电力技术

测控电路其设置

智能仪器基础

单片机实用技术

指导老师: 文其知教研室主任: 系主任:

[1]题目类型:(1)理论研究(2)实验研究(3)工程设计(4)应用研究(5)软件开发

[2]题目来源:(1)教师科研题(2)生产实际题(3)模拟或虚构题(4)学生自选题

摘要

在日常生活、工业生产和实验室中电热恒温箱的应用随处可以见到。在生活中我们保存食物用到恒温箱,工业生产中一些生产原料的保存用到恒温箱,实验室里,特别是生物的培育实验室,恒温箱的应用更是普遍。

在本设计中,我们针对培养箱而设计的一个恒温系统,在系统里,通过对恒温箱温度的检测与变送传到单片机,与给定值进行比较,单片机对数据进行处理,根据偏差信号的大小输出驱动PWM输出,通过改变PWM输出的周期和幅值,控制发热丝的功率,从而达到恒温箱内温度控制的目的。本设计的单片机为51系列,对数据进行采集、比较、处理与输出,PWM通过单片机的脉冲输出,通过光电隔离输入放大电路对发热丝进行加温,直接对箱子温度进行提升,最终达到控制温度的目的。

关键词:单片机;PWM;数字PID控制

目录

第一章绪论 (1)

第二章总体方案设计 (2)

2.1 方案一 (2)

2.2 方案二 (3)

第三章单元模块设计 (4)

3.1数字温控芯片DS18B20介绍 (4)

3.1.1 DS18B20的内部结构 (5)

3.1.2 DS18B20的外形及引脚说明 (7)

3.1.3 DS18B20温度传感器的存储器 (8)

3.1.4 DS18B20的特性 (10)

3.1.5 DS18B20工作原理 (11)

3.1.6 DS18B20使用中注意事项 (14)

3.2 预置数 (15)

3.2.1 拨码盘介绍 (16)

3.3 时钟 (17)

3.4 复位电路 (18)

3.5 LED显示 (19)

3.6 加热电路 (20)

3.6.1 ULN2003介绍 (21)

3.6.2 IGBT管介绍 (22)

第四章 PID控制 (22)

4.1 PID控制原理 (22)

4.2 PID控制系统框图 (22)

4.3 PID算法 (23)

第五章单片机软件的设计 (26)

5.1 总体软件设计流程图 (26)

参考文献 (28)

附录 (29)

第一章绪论

恒定温度的设备,被广泛地应用于生产、生活、实验等领域。在医用、水产、特种工业、工业探伤、照相等行业,都需要有稳定而精确的温度。在本设计中,我们针对培养箱而设计的一个恒温系统,在系统里,通过对恒温箱温度的检测与变送传到单片机,与给定值进行比较,单片机对数据进行处理,根据偏差信号的大小输出驱动PWM输出,通过改变PWM输出的周期和幅值,控制发热丝的功率,从而达到恒温箱内温度控制的目的。

本设计是对恒温箱进行的温度控制。从箱内温度的检测、变换到信号的转换和传送这一系列的过程都牵扯到很多的知识,在设计过程中我们也遇到很多困难,比如说温度测量器件的选用,变换成电压信号还是电流信号,相应的怎么传送等,都经过了考虑才选择了这个方案。单片机的设计中,单片机外部线路的设计,端口的分配和选用,复位和内部时钟的配合和电路的驱动等方面也遇到了不少问题,经过讨论我们都基本上解决了。加热电路我们选择了IGBT作为开关器件,IGBT 可控而且开关频率很高,适合用在控制频繁通断的场合。

这里利用芯片DS18B20作为恒温箱的温度检测元件。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。单片机从外部设置两位拨码开关进行预置数,读入的数据与预置数进行比较,根据偏差的大小,单片机执行程序对PWM进行控制,经过对PWM的输出脉冲进行放大,也就是对恒温箱内电阻丝的驱动,对恒温箱进行加热,使箱内温度升高,热电偶连续对恒温箱进行温度检测,当偏差存在时单片机就继续驱动后继电路进行加热,直到偏差为零。

第二章总体方案设计

2.1 方案一

图2.1

利用热电偶作为恒温箱的温度检测元件,应用桥式电路对热电偶作为补偿。热电偶出来的电流信号通过转换变成电压信号,再进行A/D转换变换成单片机可以接受的电压信号,在从单片机读入进行数据处理。单片机从外部设置两位拨码开关进行预置数,读入的数据与预置数进行比较,根据偏差的大小,单片机执行程序对PWM进行控制,经过对PWM的输出脉冲进行放大,也就是对恒温箱内电阻丝的驱动,对恒温箱进行加热,使箱内温度升高,热电偶连续对恒温箱进行温度检测,当偏差存在时单片机就继续驱动后继电路进行加热,直到偏差为零。在控

制过程中,存在着检测信号与控制信号之间的滞后关系,因此,在单片机的控制程序里加入了数字PID控制算法,是控制更加的准确。单片机的设计包括外部时钟和上电复位电路计。单片机对温度的检测可以通过两个LED进行显示。

2.2 方案二

图2.2

方案一:用的是热电偶进行温度的测量,热电偶的测量范围和精度要求都符合本设计的需要,在不同的环境下所需要的补偿是不一样的,而且输入单片机要进行模数转换,增加了转换电路即增加了成本,转换还需要时间,那往往就给控制带来了很多麻烦,而且给恒温巷的使用带来一定的局限性,使保温箱不能得到推广,给厂家大批量的生产也带来了很多不便。线性化的处理往往是应用热电偶的约束。而在方案二中,应用的是测量温度的专用芯片,避免了上述的一些问题,而且应用方案二的芯片使测量的灵敏度增加不少。

在方案一中,热电偶测量出来的信号是电流信号,电流信号适合远距离传输,而到单片机的距离不大,电流信号容易受外界的干扰而影响了测量信号,导致测量的误差增加,就算可以用其他方法消除干扰信号,也麻烦。而在方案二中,测

量出来的是电压信号,能直接输入单片机,方便而且准确,不容易受外界干扰。在方案一中,需要进行电流——电压的转换,在经过A/D转换,在经过标准化处理才能的到标准的数字电压向输入单片机,而方案二中却可以直接输入。

综上所述:方案二比方案一有更大的优越性,而且方案二只用一个芯片就可以达到目的,而方案一却要经过多个步骤,从经济角度看,方案二更加经济实惠,且使用性强。因此这个设计决定起用方案二来进行综合设计。

第三章单元模块设计

图3.1

3.1数字温控芯片DS18B20介绍

在本设计中,选用的是温度测量的专用芯片DS18B20。

DALLAS最新单线数字温度传感器DS18B20为新的“一线器件”体积更小、

适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总接独特而且经济的特点,是用户可轻松地组建传感器网络,为测量系统的建构引入全新的概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-50℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。DS1822的精度较差为±2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测量类消费电子产品等。与前一代产品不同,新产品支持3v~5.5v 的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略可存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2℃,适用于对性能要求不高,成本控制严格的应用,是经济型产品。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的、经济的测温系统。

3.1.1 DS18B20的内部结构

1、DS18B20内部结构主要由四个部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校检码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号

位。 表3.1

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8

这是12位转化后得到的12位数据,存储在18B20的两个比特的RAM 中,二进制中的前面5位符号,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度.

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625的数字输出为FF6FH,-55℃的数字输出为FC90H.

表3.2

*The power-on reset value of the temperature register is +85℃

3.1.2 DS18B20的外形及引脚说明

外形如图3.1.2所示。

1(GND ):地

2(DQ ):单线运用的数据输入输出引脚 3(VDD ):可选的电源引脚

3、DS18B20内部结构

DS18B20的内部结构如图3所示。

3.1.3 DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM 和一个非易失性的可电擦的E2RAM,后者存放高温度和低温度触发器TH 、TL 和结构寄存器.

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH 、TL 的易失性拷贝,第五个字节是结构寄存的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。

表3.3DS1820暂存寄存器分布

寄存器内容 字节地址

温度最低的数字位 0 温度最高的数字位 1

高温限值 2 低温限值 3 保留 4 保留 5 计数剩余值 6 每度计数值 7

CRC 校验 8

该字节各位的意义如下

:

TM R1 R0 1 1 1 1 1

低五位一直都是1,TM 是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该设置为0,用户不要去改动.R1和R0用来设置分辨率,如下表所示(DS18B20出厂时被设置为12位)

表3.4分辨率设置

根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM 指令,最后发送RAM 指令,这样才能对DS18B20进行预定的操作.复位要求主CPU 将数据线下拉500微秒,然后释放, DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲

,主CPU 收到此信号表示复位成功.

表3.5

表3.6

3.1.4 DS18B20的特性

DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度,存储在EEPROM,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!

DS1822与DS18B20软件兼容,是DS18B20的简化版本,省略了存储用户定义

报警温度,分辨率参数的EEPROM,精度降低为±2℃。适用于对性能要求不高,成本控制严格的应用,是经济型产品。

表3.7

3.1.5 DS18B20工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因

分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20的读写时序如下:

PROC WRITE

WRITE:MOV R2,#8

CLR C

WR1:CLR DQ

MOV R7,#6

DJNZ R7,$

RRC A

MOV DQ,C

MOV R7,#23

DJNZ R7,$

SETB DQ

NOP

DJNZ R2,WR1

SETB DQ

RET

;读一个字节,出口:A=读入的字节

PROC DREAD

DREAD:MOV R2,#8

READL:CLR C

SETB DQ

NOP

NOP

CLR DQ

NOP

NOP

NOP

SETB DQ

;产生时间片

MOV R7,#7

DJNZ R7,$

MOV C,DQ

MOV R7,#23

DJNZ R7,$

RRC A

DJNZ R2,READL

RET

图3.4 DS18B20工作流程图

图3.5 DS18B20读写时序图

3.1.6 DS18B20使用中注意事项

DS18B20虽然具有测温系统简单,测温精度高,连接方便,占用口线少等优点,但实际应用中也应注意以下几方面的问题:

3.1.6.1 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微

处理器间采用串行数据传送。因此,在对DS18B20进行读写编程时,必须严格地保证读写时序,否则将无法读取测温结果。在使用PL/M,C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。

3.1.6.2在DS18B20的有关资料中,均未提及单总线上所挂DS18B20数量问

题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并未如此。当

单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时,要加以注意。

3.1.6.3 连接DS18B20的总线电缆是有长度限制的,试验中,当采用普通

信号电缆传输长度超过50米时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150米。当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成地。因此,在使用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。

3.1.6.4在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,

程序总要等待DS18B20的返回信号,一但某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给以一定的重视。

3.2 预置数

输入预置数由两个十进制拨码开关来完成,如图7。每一个拨码开关有四位,由0000到1111,取其中的0000到1010就可以实现十进制中0到10的设定,两个就可以构成两位的输入,就可以实现0到100的置数。

相关主题
文本预览
相关文档 最新文档