收藏 分享(赏)

过程控制系统课程设计.doc

上传人:无敌 文档编号:721392 上传时间:2018-04-19 格式:DOC 页数:16 大小:299KB
下载 相关 举报
过程控制系统课程设计.doc_第1页
第1页 / 共16页
过程控制系统课程设计.doc_第2页
第2页 / 共16页
过程控制系统课程设计.doc_第3页
第3页 / 共16页
过程控制系统课程设计.doc_第4页
第4页 / 共16页
过程控制系统课程设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、1绪论在科技高速发展的信息时代,电子技术、微型计算机技术的应用更是空前广泛,伴随着科学技术和生产不断发展,需要对各种参数进行温度测量。在单片机温度测量系统中最关键的是测量温度、控制温度和保持温度,温度测量是对工业对象中主要的被控参数之一,因此单片机测量是对温度的有效的测量,并能在工业生产中得到广泛应用。本次课设所研究的课题是“基于单片机的热水锅炉温度控制系统设计,主要介绍了对热水锅炉的温度显示、控制及报警、实现了温度的实时显示及控制。锅炉水温控制部分采用了 AT89S52 单片机、DS18B20 温度传感器以及步进电机来实现,通过温度传感器 DS18B20 采集环境温度,以单片机为核心控制部件

2、将采集到的温度通过串口通信 MAX232 输入到电脑中,在电脑中通过 C 语言编程来控制单片机的工作方式,将程序下载到单片机中,通过设定温度与给定温度的比较来控制电机的正反转来模拟升温和降温使系统工作在设定的温度范围之内,当温度高于设定值时,通过电机正转来模拟开大冷水阀,进而使水温降低;当温度低于设定值时,通过电机反转来模拟关小冷水阀,进而使水温升高;直到在规定的温度范围内进行恒温加热。本次课设通过 Labview 来绘制人机交互界面设置温度的上下限。并且通过该界面可以实时显示当前的温度值,发出报警信号等,便于操作人员观察。关键词:AT89S52 单片机 DS18B20 温度传感器 串口通讯

3、Labview 步进电机2一 设计任务、要求和技术指标1.1 设计任务系统构成:系统主要由温度传感器,单片机控制系统、锅炉温度对象、执行器(查找资料自己选择)等组成。温度传感器、控制器、执行器可查找资料自行选择,控制器选择单片机为控制器。单片机型号自选写出温度测量与控制过程,绘制温度控制系统组成框图。(1)系统硬件电路设计自选。温度测量程序、温度校准程序、温度控制程序等部分组成。1.2 主要技术指标(1) 温度显示误差不超过 1。(2) 温度显示范围为 099。二、总体设计方案2.1 设计思路本设计方案采用 AT89S52 单片机作为控制器,DS18B20 芯片作为温度传感器,步进电机作为执行

4、器构成过程控制系统,来模拟热水锅炉温度控制系统。通过温度传感器 DS18B20 采集锅炉水温,以单片机为核心控制部件将采集到的温度通过串口输入到电脑中,在电脑中通过 labview 组态软件来显示实时温度和设置预置温度,并根据实时温度与预置温度的偏差大小控制进水阀门的开关,进而达到调节锅灶水温的目的。当实时温度高于设定值时,通过电机正转来模拟开大冷水阀,进而使水温降低;当温度低于设定值时,通过电机反转来模拟关小冷水阀,进而使水温升高;直到在规定的温度范围内进行恒温加热。本次课设通过 Labview 来绘制人机交互界面,设置所需温度值。2.2 系统总体框图32.3 系统框图3、控制器 AT89S

5、523.1 AT89S52 简介AT89S52 是 一 种 低 功 耗 、 高 性 能 CMOS8 位 微 控 制 器 , 具 有 8K 在 系 统可 程 Flash 存 储 器 。 使 用 Atmel 公 司 高 密 度 非 易 失 性 存 储 器 技 术 制 造 , 与 工业 80C51 产 品 指 令 和 引 脚 完 全 兼 容 。 片 上 Flash 允 许 程 序 存 储 器 在 系 统 可编 程 亦 适 于 常 规 编 程 器 在 单 芯 片 上 拥 有 灵 巧 的 8 位 CPU 和 在 系 统 可 编 程Flash, 使 得 AT89S52 为 众 多 嵌 入 式 控 制 应

6、用 系 统 提 供 高 灵 活 、 超 有 效 的 解决 方 案 。 AT89S52 具 有 以 下 标 准 功 能 : 8k 字 节 Flash、 256 字 节 RAM、 32 位 I/O 口 线 、 看 门 狗 定 时 器 , 2 个数 据 指 针 、 三 个 16 位 定 时 器 /计 数 器 、 一 个 6 向 量 2 级 中 断 结 构 、 全 双工 串 行 口 , 片 内 晶 振 及 时 钟 电 路 。 另 外 AT89S52 可 降 至 0Hz 静 态 逻 辑 操 作 ,上位机MAX232 电平转换 芯片 AT89S52越限报警DS18B20 温度芯片数据传输步进电机数据显示U

7、LN20034支 持 2 种 软 件 可 选 择 节 电 模 式 。 空 闲 模 式 下 , CPU 停 止 工 作 允 许 RAM、 定时 器 /计 数 器 、 串 口 、 中 断 继 续 工 作 。 掉 电 保 护 方 式 下 , RAM 内 容 被 保 存振 荡 器 被 冻 结 , 单 片 机 一 切 工 作 停 止 , 直 到 下 一 个 中 断 或 硬 件 复 位 为 止 。 电路 图 如 下 :4、传感器 DS18B20DS18B20 是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单

8、的编程实现 9-12 位的数字值读数方式。DS18B20 的性能特点如下: 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55+125,以0.5递增。华氏器件-67+2570F,以0.90F 递5增 温度以9 位数字量读出 温度数字量转换时间200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。DS18B20 的测温原理如图 3.3.3 所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频

9、率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器 1和温度寄存器中,减法计数器 1 和温度寄存器被预置在-55 所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器

10、2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图 2 中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是 DS18B20 的测温原理。另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化 DS18B20(发复位脉冲)发 ROM 功能命令发存储器操作命令处理数据。6预 置低 温 度 系 数 振 荡 器高 温 度 系 数 振 荡 器斜 率 增 加 器计 数

11、器 1比 较预 置= 0温 度 寄 存 器计 数 器 2= 0Tx加 1停 止 1 2图 3.3.3 DS18B20 测温原理图5、接口通讯单元51 单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一个电平转换电路,因此采用专 用芯片 MAX232 进行转换。max232 资料简介:该产品是由德州仪器公司(TI)推出的一款兼容 RS232 标准的芯片。由于电脑串口 rs232 电平是-10v +10v,而一般的单片机 应用系统的信号电压是 ttl电平

12、 0 +5v,max232 就是用来进行电平转换的,该器件包含 2 驱动器、2 接收器和一个电压发生器电路提供 TIA/EIA-232-F 电平。该器件符合 TIA/EIA-232-F 标准,每一个接收器将 TIA/EIA-232-F 电平转换成 5-V TTL/CMOS 电平。每一个发送器将 TTL/CMOS 电平转换成 TIA/EIA-232-F 电平。主要特点 :1、单 5V 电源工作72、 LinBiCMOSTM 工艺技术3、 两个驱动器及两个接收器4、 30V 输入电平5、低电源电流:典型值是 8mA6、符合甚至优于 ANSI 标准 EIA/TIA-232-E 及 ITU 推荐标准

13、V.287、ESD 保护大于 MIL-STD-883(方 法 3015)标准的 2000V5 1 单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一个电平转换电路,我采用了专用芯片 MAX232 进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。3、系统总工作原理工作原理本设计方案采用 AT89S52 单片机作为控制器,DS18B20 芯片作为温度传感器,步进电机作为执行器构成过程控制系统,来模拟热水锅炉温度控制系统。通过温度

14、传感器 DS18B20 采集锅炉水温,以单片机为核心控制部件将采集到的温度通过串口输入到电脑中,在电脑中通过 labview 组态软件来显示实时温度和设置预置温度,并根据实时温度与预置温度的偏差大小控制进水阀门的开关,进而达到调节锅灶水温的目的。当实时温度高于设定值时,通过电机正转来模拟开大冷水阀,进而使水温降低;当温度低于设定值时,通过电机反转来模拟关小冷水阀,进而使水温升高;直到在规定的温度范围内进行恒温加热。本次课设通过 Labview 来绘制人机交互界面,设置所需温度值。系统通过 DS18B20 检测锅炉的水温,DS18B20 作为全数字式的温度传感器,将所测温度以数字量形式传给 AT

15、89S52 单片机,单片机先不直接处理所测温度,而是将温度传给上位机,计算机通过 labview 对温度信息进行记录和处理然后又发送到单片机通过单片机控制执行器件。Labview 先对温度进行中值滤波以消除随机误差。然后再与设定温度相减以取得偏差,然后再根据偏差方向控制步进电机的正反转以调节冷水阀的开度。进而达到控制锅炉水温的目的七、参考文献81、马淑华 单片机原理与接口技术 北京邮电大学出版社2、任彦硕 自动控制系统 北京邮电大学出版社3、谭浩强 C 语言程序设计 清华大学出版社8、结束语通过本次课程设计,将之前所学的专业课单片机原理 、 过程控制系统 、 虚拟仪器 、 C 语言等课程有机的

16、结合到了一起。将所学的知识付诸于实践是一件很兴奋的事情,这让我明白了自己所学的知识与实际的生产生活有着很大的联系。但通过本次课设我也发现了自己有很多不足之处,对编程缺乏兴趣、对一些本专业的软件不能熟练的掌握等缺点。因此,在即将到来的毕业设计中,我要主动去学习一些软件的用法,不拿不敢兴趣为理由,做出一个漂亮的作业。附录 1 源程序/*主程序*/#include /包含单片机寄存器的头文件#include /包含 _nop_()函数定义的头文件unsigned char jieshou;unsigned char flag,tltemp;unsigned code FFW8=0x01,0x03,0

17、x02,0x06,0x04,0x0c,0x08,0x09;unsigned code REV8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;void delay1ms()unsigned char i,j;for(i=0;i4;i+)for(j=0;j33;j+); void delaynms(unsigned char n)9unsigned char i;for(i=0;in;i+)delay1ms();/*步进电机正转*/void motor_ffw() unsigned char i;unsigned char j;for (j=0; j8; j+)

18、 /转 1*n 圈 if(jieshou=3)break; /退出此循环程序for (i=0; i8; i+) /一个周期转 45 度P1 = FFWi; /取数据delaynms(4); /调节转速/*步进电机反转*/void motor_rev()unsigned char i;unsigned int j;for (j=0; j8; j+) /转 1n 圈if(jieshou=0)break; /退出此循环程序for (i=0; i8; i+) /一个周期转 45 度P1 = REVi; /取数据delaynms(4); /调节转速/串口初始化void UART_Init(void)SC

19、ON = 0x50; /串口工作方式为 1 , 串行允许接收TMOD = 0x20; /定时器 1 工作在方式 210/PCON = 0x80; /SMOD = 1; 波特率加倍TH1 = 0xfd; /波特率 9600bps fosc=“11“.0592MHzTL1 = 0xfd;ES = 1; /开串口中断TR1 = 1; /允许定时器 1 工作EA = 1; /开总中断/串口发送一个字节void Uart_SendChar(short int dat)SBUF = dat; /待发送的数据写入缓冲区while(!TI); /等待发送完成TI = 0; /清零发送标志位/*以下是 DS18

20、B20 的操作程序 */ sbit DQ=P33;unsigned char time; /设置全局变量,专门用于严格延时/*函数功能:将 DS18B20 传感器初始化,读取应答信号 */bit Init_DS18B20(void)bit flag; DQ = 1; /先将数据线拉高for(time=0;time2;time+) /略微延时约 6 微秒;DQ = 0; /再将数据线从高拉低,要求保持 480960usfor(time=0;time200;time+) /略微延时约 600 微秒; /以向 DS18B20 发出一持续 480960us 的低电平复位脉冲 DQ = 1; /释放数据线(将数据线拉高) for(time=0;time10;time+); /延时约 30us(释放总线后需等待 1560us 让 DS18B20 输出存在脉冲)flag=DQ; /让单片机检测是否输出了存在脉冲(DQ=0 表示存在) for(time=0;time200;time+) /延时足够长时间,等待存在脉冲输出完毕;return (flag); /返回检测成功标志/*函数功能:从 DS18B20 读取一个字节数据出口参数:dat*/ unsigned char ReadOneChar(void)

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

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报