过程控制系统课程设计Word格式.docx
《过程控制系统课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《过程控制系统课程设计Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
1.1设计任务
①系统构成:
系统主要由温度传感器,单片机控制系统、锅炉温度对象、执行器(查找资料自己选择)等组成。
温度传感器、控制器、执行器可查找资料自行选择,控制器选择单片机为控制器。
单片机型号自选
②写出温度测量与控制过程,绘制温度控制系统组成框图。
③
(1)系统硬件电路设计自选。
温度测量程序、温度校准程序、温度控制程序等部分组成。
1.2主要技术指标
(1)温度显示误差不超过1℃。
(2)温度显示范围为0℃—99℃。
二、总体设计方案
2.1设计思路
本设计方案采用AT89S52单片机作为控制器,DS18B20芯片作为温度传感器,步进电机作为执行器构成过程控制系统,来模拟热水锅炉温度控制系统。
通过温度传感器DS18B20采集锅炉水温,以单片机为核心控制部件将采集到的温度通过串口输入到电脑中,在电脑中通过labview组态软件来显示实时温度和设置预置温度,并根据实时温度与预置温度的偏差大小控制进水阀门的开关,进而达到调节锅灶水温的目的。
当实时温度高于设定值时,通过电机正转来模拟开大冷水阀,进而使水温降低;
本次课设通过Labview来绘制人机交互界面,设置所需温度值。
2.2系统总体框图
2.3系统框图
3、控制器AT89S52
3.1AT89S52简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程亦适于常规编程器在单芯片上拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash、256字节RAM、32位I/O口线、看门狗定时器,2个数据指针、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口,片内晶振及时钟电路。
另外AT89S52可降至0Hz静态逻辑操作,
支持2种软件可选择节电模式。
空闲模式下,CPU停止工作允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
电路图如下:
4、传感器DS18B20
DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
DS18B20的性能特点如下:
•独特的单线接口仅需一个端口引脚进行通讯
•简单的多点分布应用
•无需外部器件
•可通过数据线供电
•零待机功耗
•测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+2570F,以0.90F递增
•温度以9位数字量读出
•温度数字量转换时间200ms(典型值)
•用户可定义的非易失性温度报警设置
•报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
DS18B20的测温原理如图,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,
图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图3.3.3DS18B20测温原理图
5、接口通讯单元
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行
串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,因此采用专
用芯片MAX232进行转换。
max232资料简介:
该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。
由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。
每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。
主要特点:
1、单5V电源工作
2、LinBiCMOSTM工艺技术
3、两个驱动器及两个接收器
4、±
30V输入电平
5、低电源电流:
典型值是8mA
6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28
7、ESD保护大于MIL-STD-883(方法3015)标准的2000V
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
3、系统总工作原理
工作原理
系统通过DS18B20检测锅炉的水温,DS18B20作为全数字式的温度传感器,将所测温度以数字量形式传给AT89S52单片机,单片机先不直接处理所测温度,而是将温度传给上位机,计算机通过labview对温度信息进行记录和处理然后又发送到单片机通过单片机控制执行器件。
Labview先对温度进行中值滤波以消除随机误差。
然后再与设定温度相减以取得偏差,然后再根据偏差方向控制步进电机的正反转以调节冷水阀的开度。
进而达到控制锅炉水温的目的
七、参考文献
1、马淑华《单片机原理与接口技术》北京邮电大学出版社
2、任彦硕《自动控制系统》北京邮电大学出版社
3、谭浩强《C语言程序设计》清华大学出版社
8、结束语
通过本次课程设计,将之前所学的专业课《单片机原理》、《过程控制系统》、《虚拟仪器》、《C语言》等课程有机的结合到了一起。
将所学的知识付诸于实践是一件很兴奋的事情,这让我明白了自己所学的知识与实际的生产生活有着很大的联系。
但通过本次课设我也发现了自己有很多不足之处,对编程缺乏兴趣、对一些本专业的软件不能熟练的掌握等缺点。
因此,在即将到来的毕业设计中,我要主动去学习一些软件的用法,不拿不敢兴趣为理由,做出一个漂亮的作业。
附录1源程序
/***********************主程序***************************/
#include<
reg52.h>
//包含单片机寄存器的头文件
intrins.h>
//包含_nop_()函数定义的头文件
unsignedcharjieshou;
unsignedcharflag,tltemp;
unsignedcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
unsignedcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
voiddelay1ms()
{
unsignedchari,j;
for(i=0;
i<
4;
i++)
for(j=0;
j<
33;
j++)
;
}
voiddelaynms(unsignedcharn)
{
unsignedchari;
n;
delay1ms();
/*********************步进电机正转***********************/
voidmotor_ffw()
{
unsignedcharj;
for(j=0;
j<
8;
j++)//转1*n圈
if(jieshou==3)
{break;
}//退出此循环程序
for(i=0;
i<
i++)//一个周期转45度
P1=FFW[i];
//取数据