空调控制系统设计论文.docx
- 文档编号:15917493
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:26
- 大小:270.20KB
空调控制系统设计论文.docx
《空调控制系统设计论文.docx》由会员分享,可在线阅读,更多相关《空调控制系统设计论文.docx(26页珍藏版)》请在冰点文库上搜索。
空调控制系统设计论文
课程设计报告
设计题目:
空调控制系统设计
系别:
电子系
年级专业:
学号:
学生姓名:
指导教师:
2009年12月30日
2006级自动化专业《计算机控制技术》课程设计任务书
论文
题目
空调控制系统设计
设计类型
生产实践
导师姓名
丁健
干开峰
主要内容及目标
设计一空调房间温度控制系统,该系统能准确测量房间温度,并根据设定温度进行有效控制。
空调设计变频空调制冷(热)量与压缩机转速有关,通过控制压缩机转速频率来控制所需热量。
空调模型相当于一个积分环节与一个惯性环节的串联。
房间模型主要考虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气导热延迟,简化为具有一阶惯性环节。
设房间热惯性时间常数
=450,空气导热延迟τ=35,选择合适的控制算法进行控制。
设计条件
1、PC机一台,教学实验箱一台。
学生数及任务
3人
(1):
明确课题功能。
(2):
把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):
存储器资源分配
(4):
编制程序,根据流程图来编制源程序
(5):
对程序进行汇编,调试和修改,直到程序运行结果正确为止。
计划设计进程
一、总体方案设计
二、控制系统的建模和数字控制器设计
三、硬件的设计和实现
1、选择计算机字长(选用51内核的单片机);
2、设计支持计算机工作的外围电路(EPROM、RAM、I/O端口、键盘、显示接口电路等);
3、设计输入信号接口电路;
4、设计输出控制电路;
5、其它相关电路的设计或方案(电源、通信等)。
四、软件设计
1、分配系统资源,编写系统初始化和主程序模块框图;
2、编写A/D转换和位置检测子程序框图;
3、编写控制程序和D/A转换控制子程序模块框图;
4、其它程序模块(显示与键盘等处理程序)框图。
五、编写课程设计说明书,绘制完整的系统电路图(A3幅面)
参考文献
1、于海生计算机控制技术[M]北京:
机械工业出版社,2007.6
2、周荷琴等微型计算机原理及接口技术[M]合肥:
中国科技大学出版社,2008.6
3、李刚民等单片机原理及应用技术[M]北京:
高等教育出版社
4、楼然苗51系列单片机设计实例[M]北京:
北京航空航天大学出版社
5、计算机控制技术实验指导书
2009---2010第一学期
摘 要
本文详细叙述了利用51单片机构建了一个空调控制系统。
确定了影响室内温度参数检测控制方法,并对其传感器测量电路、控制器执行电路及软件系统进行了设计。
用Matlab软件对系统进行仿真,结果表明系统运行稳定,能达到预期的控制要求。
关键词:
空调模型51单片机MATLAB控制系统
目录
1.本课程设计的目的与意义4
1.1设计的目的4
1.2课程设计的与意义4
2.设计任务5
2.1设计内容5
2.2设计要求5
3.空调模型5
3.1模型分析5
3.2MATLAB仿真6
3.3仿真结果6
4硬件设计6
4.1硬件系统框图6
4.2各部分硬件的设计7
5.软件设计12
5.1工作模式分析12
5.2系统程序流程图13
5.3AD转化程序设计13
5.4PID算法设计13
6.总结14
7.感谢14
1.本课程设计的目的与意义
1.1设计的目的
通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。
1.2课程设计的与意义
《计算机控制系统》课程是我们自动化专业在这个学期学的一门专业课程。
通过该课程的学习使我们对微机系统有一个基本的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
而通过《计算机控制系统》课程设计还进一步锻炼了同学们在计算机应用方面的实际工作能力。
计算机科学在自动化控制应用上得到了飞速发展,因此,学习这方面的知识必须紧密联系实际,掌握这方面的知识更要强调解决实际问题的能力。
我们要着重学会面对一个实际问题,如何去自己的收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地提高分析和解决问题的能力。
2.设计任务
2.1设计内容
设计一空调房间温度控制系统,该系统能准确测量房间温度,并根据设定温度进行有效控制。
空调设计变频空调制冷(热)量与压缩机转速有关,通过控制压缩机转速频率来控制所需热量。
空调模型相当于一个积分环节与一个惯性环节的串联。
房间模型主要考虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气导热延迟,简化为具有一阶惯性环节。
2.2设计要求
五、总体方案设计
六、控制系统的建模和数字控制器设计
七、硬件的设计和实现
1、选择计算机字长(选用51内核的单片机)
2、设计支持计算机工作的外围电路(EPROM、RAM、I/O端口、键盘、显示接口电路等);
3、设计输入信号接口电路;
4、设计信号输出控制电路;
5、其它相关电路的设计或方案(电源、通信等)。
八、软件设计
1、分配系统资源,编写系统初始化和主程序模块框图;
2、编写A/D转换和位置检测子程序框图;
3、编写控制程序和D/A转换控制子程序模块框图;
4、其它程序模块(显示与键盘等处理程序)框图。
五、编写课程设计说明书,绘制完整的系统电路图。
3.空调模型
3.1模型分析
(1)空调模型相当于一个积分环节与一个惯性环节的串联。
房间模型主要考虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气导热延迟,简化为具有一阶惯性环节。
(2)由任务书给定条件:
房间热惯性时间常数=450,空气导热延迟τ=35,通过分析,我们选择PID控制算法进行控制。
3.2MATLAB仿真
图1MATLAB仿真
3.3仿真结果
图2MATLAB仿真结果
4硬件设计
4.1硬件系统框图
根据任务书可知,该系统需要人机界面(按键输入LCD1602显示),AD采样,以及单片机控制部分等模块,并且可以得到以下硬件系统框图
图3硬件系统框图
4.2各部分硬件的设计
(1).a温度传感器选择
根据任务要求我们选择了AT590作为温度传感器,根据电阻分压(如下图左),实现由温度到电压值的转换,因为AT590的温度系数比较大,经计算当温度变化范围是0-99度时,可以不用运放,直接送到AD采样的输入端进行AD采样。
b.温度传感器AD590基本知识
AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA,AD590温度与电流的关系如表1所示。
摄氏温度
AD590电流
经10KΩ电压
0℃
273.2uA
2.732V
10℃
283.2uA
2.832V
20℃
293.2uA
2.932V
30℃
303.2uA
3.032V
40℃
313.2uA
3.132V
50℃
323.2uA
3.232V
60℃
333.2uA
3.332V
100℃
373.2uA
3.732V
表1
图4温度传感器电路
(2).AD转换器的选择
因为温度变化范围是-50--50度,理论上AD位数只要7位(128级)就够了,
所以系统采用了经典的ADC0809(8位AD)作为AD采样芯片。
温度的计算公式:
V=5*Rt/(R+R1+Rt)。
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
a.ADC0809的内部逻辑结构
图5ADC0809内部原理
由图5可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
b.引脚结构(如图6)
IN0-IN7:
8条模拟量输入通道图6ADC0809引脚图
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;地址输入和控制线:
4条。
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如表2所示。
C
B
A
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
表2
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
c.ADC0809应用说明
ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
初始化时,使ST和OE信号全为低电平。
送要转换的哪一通道的地址到A,B,C端口上。
在ST端给出一个至少有100ns宽的正脉冲信号。
是否转换完毕,我们根据EOC信号来判断。
当EOC变为高电平时,给OE为高电平,转换的数据就输出给单片机了。
(3).按键输入
因为按键数目不多,所以系统直接采用非编码方式,直接连接单片机I/O口。
图7按键电路
(4).显示部分
系统采用LCD1602,P0和P3.0-P3.2作为输出口,控制LCD显示器,如图8。
图8LCD1602
(5).输出控制
设计使用LCD1602显示当前设定温度和实际测量温度,用两个LED指示当前空调状态(加热或制冷),51单片机的低电平驱动能力较强,LED可以直接连接单片机的I/O口;单片机输出PWM波经驱动电路从而控制压缩机的转速。
(6)系统硬件设计图
图9硬件原理图
5.软件设计
5.1工作模式分析
由系统要求可以列出表3。
工作
模式
设定
温度
实际
温度
压缩机
制冷
25.0度
小于25.0度
工作
制热
25.0度
小于25.0度
工作
保持
25.0度
小于25.0度
不
工作
表3
根据上表,我们列出一系列子程序,再根据当前状况选择相应的子程序。
例如控制部分子程序如下:
voidoutput(inttemp1,inttemp2)
{
unsignedchartable[3];
table[2]=temp1%10;table[1]=(temp1/10)%10;table[0]=(temp1/100)%10;
DisplayString(0,1,"CurrentT:
");//显示当前测量温度
DisplayOneChar(10,1,table[0]+0x30);
DisplayOneChar(11,1,table[1]+0x30);
DisplayOneChar(8,1,'.');
DisplayOneChar(12,1,table[2]+0x30);
DisplayOneChar(13,1,'C');
table[2]=temp2%10;table[1]=(temp2/10)%10;table[0]=(temp2/100)%10;
DisplayString(0,0,"SetUpT:
");//显示空调设定温度
DisplayOneChar(10,0,table[0]+0x30);
DisplayOneChar(11,0,table[1]+0x30);
DisplayOneChar(8,0,'.');
DisplayOneChar(12,0,table[2]+0x30);
DisplayOneChar(13,0,'C');
if(temp1>temp2){motor=0;cold=0;hot=1;}//当前温度大于设定温度,制冷
elseif(temp1 else{motor=1;cold=1;hot=1;}//当前温度等于设定温度,保持 } 5.2系统程序流程图 图10系统流程图 5.3AD转化程序设计 (1)进行A/D转换之前,要启动转换的方法: ABC=000选择第一通道。 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 (2)进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入进行处理。 5.4PID算法设计 voidpid(void) { error=ideal_speed-pulse_speed; d_error=error-pre_error; pre_error=error; pre_d_error=d_error; PWM+=kp*d_error+ki*error+kd*(error+pre_d_error-2*pre_error); } 6.总结 经过两周的课程设计,终于完成了《空调控制系统》的设计。 此设计已经达到了最初期望的设计要求,完成了需求。 在这次《空调控制系统》的设计过程中我受到很大启发,体会到了理论与实际结合的重要性,认识到实践中应该更加注重设计的规划及按步骤实施。 本次设计是大学所学知识的综合运用,是理论与实践相结合的产物。 在此期间,不但巩固了所学的书本知识。 而且还学到了许多课堂上和书本上无法学到的实践知识,提高了自学能力,增强了专业技术的水平,为今后从事本专业的工作打下一定的基础。 但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,以后我回继续完善该系统。 7.感谢 经过两个星期的忙碌,本次任务已经接近尾声,作为一个实践经验不足的学生,难免有许多考虑不周全的地方,如果没有老师的指导,队友的努力以及同学们的支持,想要完成这个设计是难以想象的。 在此,向他们致以最诚挚的谢意! 参考文献 1.于海生编著计算机控制技术.北京: 机械工业出版社,2009 2.余锡存曹国华著单片机原理与接口技术.西安: 西安电子科技大学出版社,2003年。 3.田良黄正谨著综合电子设计与实践.南京: 东南大学出版社,2007年。 4.俊杰编著检测技术与仪表武汉: 武汉理工大学出版社2006年 附录 /* ********************************************************************* *空调控制系统设计 * *Teammember石婷婷,孙军,陈阳 * *(c)Copyright2009 * *File: main.c *By: ChenYang *Email: sunshinechenyang@ *time: 2009.12.28 *Version: V0.1 ********************************************************************* */ /* ********************************************************************* *函数声明 ********************************************************************* */ #include voidLcd_WriteData(unsignedcharTempData); voidLcd_WriteCmd(unsignedcharTempData,unsignedcharBuysC); voidLcd_ReadStatus(void); voidLcd_Init(void);//LCD初始化 unsignedcharLcd_ReadData(void); voidDisplayString(unsignedcharX,unsignedcharY,unsignedchar*DData); voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData); voidDelay(unsignedintdelaytime); unsignedintADC0809(); voidsetup(unsignedchar); voidoutput(inttemp1,inttemp2); unsignedcharkey_scan(); /* ********************************************************************* *全局变量定义 ********************************************************************* */ sbitLcd_RS=P3^0; sbitLcd_RW=P3^1; sbitLcd_E=P3^2; #defineLcd_DataP0 sbitST=P2^5; sbitEOC=P2^6; sbitOE=P2^7; sbitCLK=P2^4; #defineADC_OUTP1 sbitup=P3^4; sbitdown=P3^5; sbitmotor=P2^0; sbithot=P2^1; sbitcold=P2^2; intsetup_t=250; /* ********************************************************************* *主函数 ********************************************************************* */ voidmain(void) { unsignedintcurrent_t; unsignedcharkey; Lcd_Init();//lcd初始化 while (1) { current_t=ADC0809(); key=key_scan(); setup(key); output(current_t,setup_t); } } /* ********************************************************************* *子函数定义 ********************************************************************* */ unsignedcharkey_scan() { unsignedchartemp=0; if(up==0){temp=1;while(! up);} elseif(down==0){temp=2;while(! down);} return(temp); } voidsetup(unsignedchart1) { if(t1==1)setup_t++; if(t1==2)setup_t--; } voidoutput(inttemp1,inttemp2) { unsignedchartable[3]; table[2]=temp1%10; table[1]=(temp1/10)%10; table[0]=(temp1/100)%10; DisplayString(0,1,"CurrentT: "); DisplayOneChar(10,1,table[0]+0x30); DisplayOneChar(11,1,table[1]+0x30); DisplayOneChar(12,1,'.');//LCD显示测量值 DisplayOneChar(13,1,table[2]+0x30); DisplayOneChar(14,1,'C'); table[2]=temp2%10; table[1]=(temp2/10)%10; table[0]=(temp2/100)%10; DisplayString(0,0,"SetUpT: "); DisplayOneChar(10,0,table[0]+0x30); DisplayOneChar(11,0,table[1]+0x30); DisplayOneChar(12,0,'.');//LCD显示测量值 DisplayOneChar(13,0,table[2]+0x30); DisplayOneChar(14,0,'C'); if(temp1>temp2){motor=0;cold=0;hot=1;} elseif(temp1 else{motor=1;cold=1;hot=1;} } voidpid(void)//电机 { error=ideal_speed-pulse_speed; d_error=error-pre_error; pre_error=error; pre_d_error=d_error; PWM+=kp*d_error+ki*error+kd*(error+pre_d_error-2*pre_error); } /* ********************************************************************* *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 空调 控制系统 设计 论文