课程设计温度控制器1文档格式.docx

上传人:b****1 文档编号:5236311 上传时间:2023-05-04 格式:DOCX 页数:23 大小:891.70KB
下载 相关 举报
课程设计温度控制器1文档格式.docx_第1页
第1页 / 共23页
课程设计温度控制器1文档格式.docx_第2页
第2页 / 共23页
课程设计温度控制器1文档格式.docx_第3页
第3页 / 共23页
课程设计温度控制器1文档格式.docx_第4页
第4页 / 共23页
课程设计温度控制器1文档格式.docx_第5页
第5页 / 共23页
课程设计温度控制器1文档格式.docx_第6页
第6页 / 共23页
课程设计温度控制器1文档格式.docx_第7页
第7页 / 共23页
课程设计温度控制器1文档格式.docx_第8页
第8页 / 共23页
课程设计温度控制器1文档格式.docx_第9页
第9页 / 共23页
课程设计温度控制器1文档格式.docx_第10页
第10页 / 共23页
课程设计温度控制器1文档格式.docx_第11页
第11页 / 共23页
课程设计温度控制器1文档格式.docx_第12页
第12页 / 共23页
课程设计温度控制器1文档格式.docx_第13页
第13页 / 共23页
课程设计温度控制器1文档格式.docx_第14页
第14页 / 共23页
课程设计温度控制器1文档格式.docx_第15页
第15页 / 共23页
课程设计温度控制器1文档格式.docx_第16页
第16页 / 共23页
课程设计温度控制器1文档格式.docx_第17页
第17页 / 共23页
课程设计温度控制器1文档格式.docx_第18页
第18页 / 共23页
课程设计温度控制器1文档格式.docx_第19页
第19页 / 共23页
课程设计温度控制器1文档格式.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计温度控制器1文档格式.docx

《课程设计温度控制器1文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计温度控制器1文档格式.docx(23页珍藏版)》请在冰点文库上搜索。

课程设计温度控制器1文档格式.docx

1.2系统结构框图1

2.硬件设计2

2.1元器件的选择2

2.1.1单片机的选择2

2.1.2传感器的选择2

2.2单片机控制模块3

2.3温度采集模块4

2.4时间产生模块4

2.5显示模块5

2.6报警模块5

2.7控制模块6

3.软件设计7

3.1主程序流程图7

3.2按键程序和主程序7

4.系统调试13

4.1测量方法13

4.2测试结果13

5.设计总结15

6.参考文献15

附录16

前言

在工业生产过程中为了高效地进行生产,必须对生产工艺过程中的主要参数,如温度,压力,流量,速度等进行有效的控制。

其中温度的控制在生产过程中占有相当大的比例。

准确测量和有效控制温度是优质,高产,低耗和安全生产的重要条件。

在工业的研制和生产中,为了保证生产过程的稳定运行并提高控制精度,采用微电子技术是重要的途径。

它的作用主要是改善劳动条件,节约能源,防止生产和设备事故,以获得好的技术指标和经济效益。

作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、传感器原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。

能够提高学生的对所学知识的综合运用能力,

更能锻炼学生的团队协作能力。

本课题采用51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标。

另外,温度传感器方面,选用了DS18B20,它属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。

具有体积小,接口方便,传输距离远等特点。

DS18B20采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)很好地实现本系统对温度的测量。

1.总体设计方案

1.1系统设计方案论证

方案一,采用纯硬件的闭环控制系统。

该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。

且要实现题目所有的要求难度较大。

方案二,FPGA/CPLD或采用带有IP内核的FPGA/CPLD方式。

即用FPGA/CPLD完成采集,存储,显示及A/D等功能,由IP核实现人机交互及信号测量分析等功能。

这种方案的优点在于系统结构紧凑,可以实现复杂的测量与与控制,操作方便;

缺点是调试过程复杂,成本较高。

方案三,单片机与高精度温度传感器结合的方式。

即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。

这种方案克服了方案一、二的缺点,所以本课题任务是基于单片机和温度传感器实现对温度的控制。

1.2系统结构框图

系统主要包括数据采集模块,单片机控制模块,显示模块,温度设置模块和时钟产生模块,驱动电路六个部分。

系统框图如图1所示。

图1系统框图

其中数据采集模块负责实时采集温度数据,采集到的温度数据传输到单片机,由单片机处理后的数据送显示部分显示。

设置模块可设置预定温度,当检测到的温度低于设定温度时,单片机控制驱动电路启动加热,并发出报警声;

当检测温度高于设定温度时,停止加热。

时钟模块是采用专用的实时时钟芯片,通过单片机来读取数据送显示部分显示。

2.硬件设计

2.1元器件的选择

2.1.1单片机的选择

单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择AT89S51作为主控芯片。

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51单片机引脚图如图2所示

图2单片机引脚图

2.1.2传感器的选择

本系统采用DALLAS半导体公司生产的一线式数字温度传感器DS18B20采集温度数据,DS18B20属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。

它具有体积小,接口方便,传输距离远等特点。

DS18B20的性能特点:

第一,采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位);

第二,测温范围为-55℃-+125℃,测量分辨率为0.0625℃;

第三,内含64位经过激光修正的只读存储器ROM;

第四,适配各种单片机或系统机;

第五,用户可分别设定各路温度的上、下限;

第六,内含寄生电源。

DS18B20内部结构主要由四部分组成:

64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。

DS18B20的管脚排列如图3所示。

图3DS18B20引脚分布图

2.2单片机控制模块

控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。

本控制模块由单片机AT89S51及其外围电路组成,电路如图4所示。

图4单片机控制模块

2.3温度采集模块

温度由DALLAS公司生产的一线式数字温度传感器DS18B20采集。

DS18B20测温范围为-55°

C~+125°

C,测温分辨率可达0.0625°

C,被测温度用符号扩展的16位补码形式串行输出。

CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

本设计采用三引脚PR-35封装的DS18B20。

Vcc接外部+5V电源,GND接地,I/O与单片机的P2.1(T0)引脚相连。

图5温度采集模块

2.4时间产生模块

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

图中显示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;

其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向)。

SCLK始终是输入端。

图6时间产生模块

2.5显示模块

 本系统使用LCD1602作为显示器。

单片机通过采集温度传感器和实时时钟的数据,然后处理,把处理后的数据送到显示器显示。

图7显示模块

2.6报警模块

报警电路是由蜂鸣器加一个三极管组成的,当温度超过设定值时,通过单片机向三极管基极发送低电平,让三极管导通。

从而驱动蜂鸣器发声,起到报警的作用。

图8报警模块

2.7控制模块

控制电路是通过一个继电器来控制外围电器。

当温度低于预设值,单片机就发送指令来控制继电器导通。

当温度高于设定值时,则反之。

图9控制模块

3.软件设计

3.1主程序流程图

大于

小于

图10主程序流程图

3.2按键程序和主程序

#include<

regX52.h>

intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

#include"

lcd1602.h"

ds1302.h"

ds18b20.h"

voidkeyscan();

voidwenduxianshi();

voidbuzzer();

voidjidianqi();

voiddelay(uintz);

ucharl=0,temp=40;

sbitk2=P3^0;

sbitk3=P3^1;

sbitk4=P3^2;

sbitt=P2^0;

sbitb=P2^2;

voiddelay(uintz)

{

uinti,j;

for(i=0;

i<

=z;

i++)

for(j=0;

j<

=500;

j++);

}

voidkeycan()

{

if(k2==0);

delay(12);

if(k2==0)

l++;

if(l==7)

{l=0;

switch(l)

case0:

if(k3==0);

if(k3==0)

(times[1])++;

if((times[1])==60)

{(times[1])=0;

write_1302(0x82,times[1]);

if(k4==0);

delay(10);

if(k4==0)

(times[1])--;

if((times[1])==0)

{(times[1])=60;

}}

break;

case1:

(times[2])++;

if((times[2])==24)

{(times[2])=0;

write_1302(0x84,times[2]);

if(k4==0)

(times[2])--;

if((times[2])==0)

{(times[2])=24;

case2:

{if(k3==0);

{(times[3])++;

if((times[3])==31)

{(times[3])=0;

write_1302(0x86,times[3]);

(times[3])--;

if((times[3])==0)

{(times[3])=31;

case3:

{(times[4])++;

if((times[4])==12)

{(times[4])=0;

write_1302(0x88,(times[4]));

(times[4])--;

if((times[4])==0)

{(times[4])=12;

write_1302(0x88,times[4]);

case4:

{(times[6])++;

write_1302(0x8c,times[6]);

(times[6])--;

case5:

{(times[5])++;

if((times[5])==8)

{(times[5])=1;

write_1302(0x8a,times[5]);

{(times[5])--;

if((times[5])==0)

{(times[5])=7;

write_1302(0x8a,times[5])}

case6:

temp++

temp--;

default:

break;

voidwenduxianshi()

{LCD_command(0xcb);

LCD_write_string("

k"

);

LCD_dat(l%10+0x30);

"

LCD_dat(temp/10+0x30);

LCD_dat(temp%10+0x30);

voidbuzzer()

{if(temp==x1)

{b=0;

delay(200);

b=1;

voidjidianqi()

{if(temp==x1)

t=0;

voidmain(void)

{init_1302();

LCD1602_init();

settime_1302(inittime);

while

(1)

{keycan();

Display();

xianshi();

wenduxianshi();

jidianqi();

buzzer();

}}

4.系统调试

4.1测量方法

系统温度测量的准确度。

我们将标准温度计和温度控制系统的探头放在一起,选定若干不同温度点,记录下标准温度计的温度和温度控制系统测量显示的温度进行比较。

设定开启加热温度,改变环境温度,验证检测到的温度高于设定温度时是否停止加热,检测到的温度小于设定温度时是否启动加热。

4.2测试结果

第一,本系统测量显示温度与标准温度计测量温度对比如表6所示。

表6温度测量准确度

标准温度计测量温度(℃)

本系统测量显示温度(℃)

23

25

30

40

45

60

根据温度测量数据的对比可知,本系统能够准确地测量并显示环境温度。

第二,设定不同的开启加热温度,改变环境温度,系统工作情况如表7所示。

7

表7系统加热测量

设定温度(℃)

环境温度(℃)

发光二极管(亮/灭)

15

10

20

24

39

50

发光二极管亮表示启动加热,灭表示停止加热。

根据表7可知,系统可以自由设定不同的加热温度,温度设定当环境温度低于设定温度时系统启动加热,当环境温度高于或等于设定温度时,系统停止加热。

经过反复测试,系统温度设定范围为0~120℃,最小区分度为1℃,温度控制的误差≤1℃;

能够测量并用数码管显示当前实际温度值;

通过复位键可以使系统设定温度还原默认值,通过加一键和减一键可以以1℃步进设置预定温度;

环境温度低于设定温度时,启动加热,红色发光二极管点亮,环境温度高于或等于设定温度时,停止加热,红色发光二极管灭。

达到了课题要求的技术指标。

5.设计总结

在这两周的课程设计期间(我主要负责电路设计,画电路图,PCB图和编程),使我对我们所学过的专业知识更加熟悉。

如:

Altium软件,C语言编程,一些基本的数电和模电知识。

这次课程设计是五人一组,从中我学到一些团队合作经验,为以后我们组队参加电子设计大赛打下一定的基础。

在此我要特别感谢学院给我们提供这次专业综合课程设计的机会,并免费提供元件,给我们一个自己动手制作产品的机会。

还要感谢我的理论指导教师×

和指导老师×

给予我专业知识上的指导。

最后,向×

老师和×

老师致以真诚的感谢!

6.参考文献

[1]童诗白,华成英模拟电子技术基础[M].北京:

高等教育出版社,2006.123-128

[2]张齐,杜群贵单片机应用系统设计技术[M]. 北京:

电子工业出版社,2007.89-95

[3]中国机械工业教育协会组编.《单片机原理与应用》.机械工业出版社.2001.112-115

[4]求是科技单片机通信技术与工程实践[M].北京:

人民邮电出版社,2005.68-72

[5]郭永贞主编数字电子技术[M]西安电子科技大学出版社,2000.93-97

[6]李广弟单片机基础[M],北京:

北京航空航天大学出版社,2001.45-48

[7]张洪润电子线路与电子技术[M].清华大学出版社[M],2005.62-64

[8]张齐,杜群贵单片机应用系统设计技术[M].电子工业出版社,2004.185-190

附录

附录1系统仿真图

附录2系统PCB图

附录3实物图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2