空调控制系统设计论文_第1页
空调控制系统设计论文_第2页
空调控制系统设计论文_第3页
空调控制系统设计论文_第4页
空调控制系统设计论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电 子 信 息 与 电 气 工 程 系课程设计报告设计题目: 空调控制系统设计 系 别: 电子系 年级专业: 学 号: 学生姓名: 指导教师: 丁健、干开峰 2009 年 12 月 30 日2006级自动化专业计算机控制技术课程设计任务书论文题目空调控制系统设计设计类型生产实践导师姓名丁健干开峰主要内容及目标设计一空调房间温度控制系统,该系统能准确测量房间温度,并根据设定温度进行有效控制。空调设计变频空调制冷(热)量与压缩机转速有关,通过控制压缩机转速频率来控制所需热量。空调模型相当于一个积分环节与一个惯性环节的串联。房间模型主要考虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气

2、导热延迟,简化为具有一阶惯性环节。设房间热惯性时间常数=450,空气导热延迟=35,选择合适的控制算法进行控制。设计条件1、PC机一台,教学实验箱一台。学生数及任务3人(1):明确课题功能。(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程一、 总体方案设计二、 控制系统的建模和数字控制器设计三、 硬件的设计和实现1、选择计算机字长(选用 51内核的单片机);2、设计支持计算机工作的外围电路(EPROM、RAM、I/O端口、键盘、显示接口电路等

3、);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

4、北京:北京航空航天大学出版社 5、计算机控制技术实验指导书 2009-2010第一学期摘要本文详细叙述了利用51单片机构建了一个空调控制系统。确定了影响室内温度参数检测控制方法,并对其传感器测量电路、控制器执行电路及软件系统进行了设计。用Matlab软件对系统进行仿真,结果表明系统运行稳定,能达到预期的控制要求。关键词: 空调模型 51单片机MATLAB 控制系统目 录1本课程设计的目的与意义41.1 设计的目的41.2 课程设计的与意义42设计任务52.1 设计内容52.2 设计要求53.空调模型53.1模型分析53.2 MATLAB仿真63.3仿真结果64硬件设计64.1硬件系统框图64.

5、2各部分硬件的设计75.软件设计125.1 工作模式分析125.2 系统程序流程图135.3 AD转化程序设计135.4 PID算法设计136.总结147.感谢141本课程设计的目的与意义1.1 设计的目的通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼同学们在微型计算机应用方面的实际工作能力。1.2 课程设计的与意义计算机控制系统课程是我们自动化专业在这个学期学的一门专业课程。通过该课程的学习使我们对微机系统有一个基本的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法。而通过计算

6、机控制系统课程设计还进一步锻炼了同学们在计算机应用方面的实际工作能力。计算机科学在自动化控制应用上得到了飞速发展,因此,学习这方面的知识必须紧密联系实际,掌握这方面的知识更要强调解决实际问题的能力。我们要着重学会面对一个实际问题,如何去自己的收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地提高分析和解决问题的能力。2设计任务2.1 设计内容设计一空调房间温度控制系统,该系统能准确测量房间温度,并根据设定温度进行有效控制。空调设计变频空调制冷(热)量与压缩机转速有关,通过控制压缩机转速频率来控制所需热量。空调模型相当于一个积分环节与一个惯性环节的串联。房间模型主要考

7、虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气导热延迟,简化为具有一阶惯性环节。2.2 设计要求 五、 总体方案设计六、 控制系统的建模和数字控制器设计七、 硬件的设计和实现1、 选择计算机字长(选用 51内核的单片机)2、 设计支持计算机工作的外围电路(EPROM、RAM、I/O端口、键盘、显示接口电路等);3、 设计输入信号接口电路;4、 设计信号输出控制电路;5、 其它相关电路的设计或方案(电源、通信等)。八、 软件设计1、 分配系统资源,编写系统初始化和主程序模块框图;2、 编写A/D转换和位置检测子程序框图;3、 编写控制程序和D/A转换控制子程序模块框图;4、 其它

8、程序模块(显示与键盘等处理程序)框图。五、编写课程设计说明书,绘制完整的系统电路图。3.空调模型3.1模型分析(1)空调模型相当于一个积分环节与一个惯性环节的串联。房间模型主要考虑室内外温度干扰与散热片热量共同作用于具有初始温度房间,经空气导热延迟,简化为具有一阶惯性环节。 (2)由任务书给定条件:房间热惯性时间常数 =450,空气导热延迟=35,通过分析,我们选择PID控制算法进行控制。 3.2 MATLAB仿真图 1 MATLAB仿真3.3仿真结果图 2 MATLAB仿真结果4硬件设计4.1硬件系统框图根据任务书可知,该系统需要人机界面(按键输入LCD1602显示),AD采样,以及单片机控

9、制部分等模块,并且可以得到以下硬件系统框图图 3硬件系统框图4.2各部分硬件的设计(1).a温度传感器选择 根据任务要求我们选择了AT590作为温度传感器,根据电阻分压(如下图左),实现由温度到电压值的转换,因为AT590的温度系数比较大,经计算当温度变化范围是0-99度时,可以不用运放,直接送到AD采样的输入端进行AD采样。 b.温度传感器AD590基本知识 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V30V,检测的温度范围为55150,它有非常好的线性输出性能,温度每增加1,其电流增加1uA,AD590温度与电流的关系如表1所示。摄氏温度AD590电流经10K电压0273

10、.2 uA2.732V10283.2 uA2.832 V20293.2 uA2.932 V30303.2 uA3.032 V40313.2 uA3.132 V50323.2 uA3.232 V60333.2 uA3.332 V100373.2 uA3.732 V表 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组件。它是

11、逐次逼近式A/D转换器,可以和单片机直接接口。a.ADC0809的内部逻辑结构8路模拟量开关8路A/D转换器三态输出锁存器地址锁存与译码器IN0IN1IN2IN3IN4IN5IN6IN7ABCALEVREF(+)VREF(-)OEEOCD0D1D2D3D4D5D6D7CLKST 图 5 ADC0809内部原理由图5可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

12、b.引脚结构(如图6)IN0IN7:8条模拟量输入通道 图6 ADC0809引脚图ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;地址输入和控制线:4条。ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如表2所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表 2数字量输出及控制线:11条ST为转换

13、启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。c.ADC0809应用说明 ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

14、初始化时,使ST和OE信号全为低电平。送要转换的哪一通道的地址到A,B,C端口上。在ST端给出一个至少有100ns宽的正脉冲信号。是否转换完毕,我们根据EOC信号来判断。当EOC变为高电平时,给OE为高电平,转换的数据就输出给单片机了。(3).按键输入因为按键数目不多,所以系统直接采用非编码方式,直接连接单片机I/O口。图7 按键电路(4).显示部分系统采用LCD1602,P0和P3.0-P3.2作为输出口,控制LCD显示器, 如图8。图8 LCD1602(5).输出控制设计使用LCD1602显示当前设定温度和实际测量温度,用两个LED指示当前空调状态(加热或制冷),51单片机的低电平驱动能力

15、较强,LED可以直接连接单片机的I/O口;单片机输出PWM波经驱动电路从而控制压缩机的转速。(6)系统硬件设计图图9 硬件原理图5.软件设计5.1 工作模式分析由系统要求可以列出表3。工作模式设定温度实际温度压缩机制冷25.0度小于25.0度工作制热25.0度小于25.0度工作保持25.0度小于25.0度不工作表 3根据上表,我们列出一系列子程序,再根据当前状况选择相应的子程序。例如控制部分子程序如下:void output(int temp1,int temp2) unsigned char table3; table2=temp1%10; table1=(temp1/10)%10; tab

16、le0=(temp1/100)%10; DisplayString(0,1,Current T:); /显示当前测量温度 DisplayOneChar(10,1,table0+0x30); DisplayOneChar(11,1,table1+0x30); DisplayOneChar(8,1,.); DisplayOneChar(12,1,table2+0x30); DisplayOneChar(13,1,C); table2=temp2%10; table1=(temp2/10)%10; table0=(temp2/100)%10; DisplayString(0,0,SetUp T:);

17、 /显示空调设定温度 DisplayOneChar(10,0,table0+0x30); DisplayOneChar(11,0,table1+0x30); DisplayOneChar(8,0,.); DisplayOneChar(12,0,table2+0x30); DisplayOneChar(13,0,C); if(temp1temp2)motor=0; cold=0;hot=1; /当前温度大于设定温度,制冷 else if(temp1temp2)motor=0; cold=1;hot=0; /当前温度小于设定温度,加热 else motor=1; cold=1;hot=1; /当前

18、温度等于设定温度,保持 5.2 系统程序流程图 图 10 系统流程图5.3 AD转化程序设计(1) 进行A/D转换之前,要启动转换的方法:ABC000选择第一通道。ST0,ST1,ST0产生启动转换的正脉冲信号(2) 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入进行处理。5.4 PID算法设计void pid(void) error=ideal_speed-pulse_speed; d_error = error - pre_error; pre_error = error; pre_d_error = d_error ; PWM+=kp*

19、d_error + ki*error + kd*(error+pre_d_error-2*pre_error); 6.总结经过两周的课程设计,终于完成了空调控制系统的设计。此设计已经达到了最初期望的设计要求,完成了需求。在这次空调控制系统的设计过程中我受到很大启发,体会到了理论与实际结合的重要性,认识到实践中应该更加注重设计的规划及按步骤实施。本次设计是大学所学知识的综合运用,是理论与实践相结合的产物。在此期间,不但巩固了所学的书本知识。而且还学到了许多课堂上和书本上无法学到的实践知识,提高了自学能力,增强了专业技术的水平,为今后从事本专业的工作打下一定的基础。但是,由于时间仓促以及本人水平有

20、限,本系统还有很多不完善之处,也难免存在错漏,以后我回继续完善该系统。7.感谢 经过两个星期的忙碌,本次任务已经接近尾声,作为一个实践经验不足的学生,难免有许多考虑不周全的地方,如果没有老师的指导,队友的努力以及同学们的支持,想要完成这个设计是难以想象的。在此,向他们致以最诚挚的谢意!参考文献1于海生 编著 计算机控制技术. 北京:机械工业出版社,2009 2余锡存 曹国华著 单片机原理与接口技术西安:西安电子科技大学出版社,2003年。3田良 黄正谨著 综合电子设计与实践 南京:东南大学出版社,2007年。4.俊杰编著 检测技术与仪表 武汉:武汉理工大学出版社 2006年附录/* 空调控制系

21、统设计* * Team member 石婷婷 ,孙军, 陈阳 * * (c) Copyright 2009 * File : main.c* By : Chen Yang* Email : sunshinechenyang * time : 2009.12.28* Version : V0.1 */* 函数声明*/#include voidLcd_WriteData(unsignedcharTempData); voidLcd_WriteCmd(unsignedcharTempData,unsignedchar BuysC); void Lcd_ReadStatus(void); void L

22、cd_Init(void); /LCD初始化 unsigned char Lcd_ReadData(void);void DisplayString(unsigned char X, unsigned char Y, unsigned char *DData); void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData); void Delay(unsignedintdelaytime);unsigned int ADC0809();void setup(unsigned char);void outpu

23、t(int temp1,int temp2);unsigned char key_scan();/* 全局变量定义*/ sbitLcd_RS=P30; sbitLcd_RW = P31; sbitLcd_E = P32; #defineLcd_DataP0 sbit ST=P25;sbit EOC=P26;sbit OE=P27; sbit CLK=P24;#define ADC_OUT P1sbit up=P34;sbit down=P35;sbit motor=P20;sbit hot=P21;sbit cold=P22;int setup_t=250;/* 主函数*/void main(

24、void) unsigned int current_t; unsigned char key; Lcd_Init(); / lcd初始化 while(1) current_t=ADC0809(); key=key_scan(); setup(key); output(current_t,setup_t); /* 子函数定义*/unsigned char key_scan()unsigned char temp=0;if(up=0) temp=1; while(!up); else if(down=0) temp=2;while(!down); return(temp); void setup

25、(unsigned char t1) if(t1=1) setup_t+; if(t1=2) setup_t-;void output(int temp1,int temp2) unsigned char table3; table2=temp1%10; table1=(temp1/10)%10; table0=(temp1/100)%10; DisplayString(0,1,Current T:); DisplayOneChar(10,1,table0+0x30); DisplayOneChar(11,1,table1+0x30); DisplayOneChar(12,1,.); /LCD

26、显示测量值 DisplayOneChar(13,1,table2+0x30); DisplayOneChar(14,1,C); table2=temp2%10; table1=(temp2/10)%10; table0=(temp2/100)%10; DisplayString(0,0,SetUp T:); DisplayOneChar(10,0,table0+0x30); DisplayOneChar(11,0,table1+0x30); DisplayOneChar(12,0,.); /LCD显示测量值 DisplayOneChar(13,0,table2+0x30); DisplayOn

27、eChar(14,0,C); if(temp1temp2)motor=0; cold=0;hot=1; else if(temp1temp2)motor=0; cold=1;hot=0; else motor=1; cold=1;hot=1; void pid(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

28、_error); /* A/D转换程序*/unsigned int ADC0809() unsigned int adc; unsigned longint getdata; ST=0; OE=0; ST=1; ST=0; while(1) CLK=CLK ; if(EOC=1) break; /AD时钟脉冲 OE=1; getdata=ADC_OUT; OE=0; adc=getdata*500/256; return(adc);/* LCD1602驱动程序*/voidLcd_WriteData(unsignedcharTempData)Lcd_ReadStatus(); Lcd_Data

29、= TempData;Lcd_RS = 1;Lcd_RW = 0;Lcd_E = 0; Lcd_E = 0; Lcd_E = 1;Lcd_E = 0;/写指令voidLcd_WriteCmd(unsignedcharTempData,unsignedcharBuysC)if (BuysC) Lcd_ReadStatus(); Lcd_Data = TempData;Lcd_RS = 0;Lcd_RW = 0;Lcd_E = 0;Lcd_E = 0;Lcd_E = 1;Lcd_E = 0;Lcd_E = 0;/读数据unsigned char Lcd_ReadData(void)Lcd_RS = 1;Lcd_RW = 1;Lcd_E = 0;Lcd_E = 0;Lcd_E = 0;Lcd_E =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论