欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    恒温箱温度计算机控制系统设计大学论文.docx

    • 资源ID:13617173       资源大小:166.19KB        全文页数:41页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    恒温箱温度计算机控制系统设计大学论文.docx

    1、恒温箱温度计算机控制系统设计大学论文西南科技大学计算机控制系统报告设计名称: 恒温箱温度计算机控制系统设计 姓 名: 孙兰 学 号: 2 0 1 21856 班 级: 自动1201 班 指导教师: 聂诗良 起止日期: 2015.9.15-2012.12.25 西南科技大学信息工程学院制设 计 任 务 书学生班级: 自动1201 学生姓名: 孙兰 学号: 20121856 设计名称: 恒温箱温度计算机控制系统设计 起止日期: 9月15日12月25日 指导教师: 聂诗良 设计要求: (1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。(2)控制灯泡亮度或发热量,采用继电器

    2、开关控制或用可控硅平滑控制。(3)采用单片机或PLC作为控制器。(4)采用LED或LCD或PC机的液晶显示器作为显示器,同时显示给定温度和实际温度。(5)采用自制按键或PC机的键盘作为温度给定值输入。(6)恒温箱实际温度达到给定值时(误差要求1)需声光提示,声音时延5秒后停止。(7)恒温箱最高温度50。恒温箱温度计算机控制系统设计摘要:本设计的温度测量及加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘及显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DS18B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对

    3、当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定在这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论上的控制算法,使控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控简便。关键词:单片机 恒温控制 模糊控制Abstract: The design of the temperature measurement and heating control systems to AT89S52 m

    4、icrocontroller core component, plus the temperature acquisition circuit, keyboard and display circuit, heating circutal temperature sensor DS18B20, and the determinant of the keyboard and dynamic display in order to easily control the solid-state relays for heating control of the switching device. T

    5、his works both on the current temperature in real-time display of temperature can be controlled in order to enable users to reach the required temperature, and make it constant at this temperature. Humanized design keyboard determinant temperature easy Express, the two decimal integer, a display sho

    6、ws a higher accuracy. Set up in the fuzzy control theory, control algorithms, so that the control accuracy can meet the general requirements of social production. Through the system software and hardware design of rational planning, exert their own single-chip integration of many system-level functi

    7、onal unit of the advantages, does not reduce the functions at the premise of effectively reducing the cost of hardware, the system easy to manipulate. Key words: microcontroller, temperature control, fuzzy control1 设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式读取DS18B20当前温度值并用龙丘小液晶显示,使用按键更改设定温度,使用PID算法控制箱体温度到一个恒

    8、定值,这样一个控制系统涵盖了以计算机控制系统课程为核心的单片机原理及应用、自动控制原理等相关课程知识,提供了真正将理论课程所学的知识应用于实践的平台。从硬件的搭建到软件算法的探索都需要扎实的理论基础。在涉及光耦驱动晶闸管电路的设计过程中还考察了器件选型的重要性,对于箱体的设计还考察了学生对于实际的考虑。整个设计过程需要工程的思想,正是迎合了我自动化专业优秀学生所必须具备的知识与能力!2 系统总体结构2.1 总体方案设计系统整体框图如下图:图1 系统原理总框图上面的系统总体框图中,该系统中微控制器采用AT89S52单片机小系统,温度显示采用龙丘小液晶显示模块、声光报警器模块、DS18B20温度采

    9、集模块、键盘输入设定温度模块、继电器驱动模块。2.2 温度控制方案选择该温度控制系统的控制对象是箱体内的温度,但是温度这个量的控制必须借助其他产热原件才能实现。经过多方调查,我总结到可行又比较简单的方案大体都是使用灯泡发光产热来改变箱体内温度,控制灯泡产热的方案分别如下所述:方案一:采用继电器作为程控开关,控制灯泡的开或关,进而控制其产热。这种方案简单易行,但是继电器控制的频率一般只有10Hz左右,不能在50Hz交流电的每个周期都控制灯泡开关一次,也就是只能控制灯泡的亮或灭,不能调节灯泡的亮度。方案二:采用开关器件晶闸管作为控制灯泡亮度的执行部件,由于晶闸管的开关速度可以达到很快,因而可以控制

    10、灯泡的亮度。由于本装置要求控制调节控制温度的精度要达到1C,用继电器方案也可以达到要求,但是不能实现平滑控制灯泡发热量的要求。为了能够平滑控制灯泡亮度,最终选定使用晶闸管控制方案,即方案二。2.3 主控芯片的选择对于本系统这样一个典型而又全面的控制系统来说,用八位的52单片机或者AVR单片机就可以满足控制要求。方案一:采用52系列单片机,有两个外部中断口、3路定时器、4路8位I/O口,资源丰富,编程简单。方案二:使用AVR系列的ATMEGA16单片机,除了拥有一般的中断、定时、输入输出功能外,还有PWM输出功能,JTAG等外加功能,但是需要烧写熔丝位,编程相对复杂些,而且价格要高出好多。综合考

    11、虑到价格因素以及资源需求,最终选定AT89S52单片机作为主控芯片。2.4 液晶显示方案选择方案一:使用的最为广泛的方案也就是使用1602字符型液晶显示器,该液晶价格便宜,编程简单,但是只能显示两行16个字符以内的英文字符。方案二:使用龙丘小液晶,分辨率128*64,可以显示不同大小的汉字和字符,功耗很低,采用3.3V供电。由于本系统使用便宜的7805线性稳压芯片供电,其发热功率与输入与输出电压差以及负载电流的大小乘积正相关。所以采用LCD1602字符型液晶继电器,选择方案一。3 系统模块设计3.1 系统电源模块设计电源是整个系统工作的基础,所有的功能实现都是基于稳定的电源。本系统电源单片机、

    12、DS18B20用的5V标准的TTL电平逻辑,这里给出使用L7805产生5V电源的电路。 图2 7805产生5V电源L7805是非常普通的线性稳压芯片,其输出最大电流为1.5A,但是由于它是线性电源,其发热功率与输入与输出电压差以及负载电流的大小乘积正相关。为了尽量减小功耗,在输入和输出端都使用了电容滤波,抑制电压电流的波动。3.2 AT89S52单片机小系统模块设计3.2.1 AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上

    13、Flash允许程序存储器在系统可编程,亦适于常规编程器。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2.2 单片机最小系统电路单片机工作的基本要求包括必要的5V电源(

    14、40引脚),接地(20引脚),晶振电路(18、19引脚),复位电路(9引脚)以及使用内部存储器需要给31脚接高。 图3 AT89S52最小系统电路图3.3 LCD1602液晶显示器显示模块设计该款液晶显示器与单片机通信属于串行口数据通信方式,可以直接与单片机引脚连接,接受5V电平逻辑。 图4 小液晶连接电路3.4 DS18B20温度采集模块设计3.4.1 DS18B20简介DS18B20数字温度计是Dallas公司生产的1Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精

    15、度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现912位的温度读数。3.4.2 温度检测部分电路温度检测部分很简单,因为信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线就可以正常工作,这里我还是给它接入了电源线。图5 温度检测部分电路3.5 键盘输入温度设定模块设计为了简便,我只使用了3个独立按键作为按键输入,分别作为设置键(移位

    16、键)、增加键、减小键。最开始在板子上用了4个按键,有一个没有用。图6 按键检测电路3.6 可控硅驱动模块设计可控硅使用的型号是BT137,配合使用光耦MOC3021驱动它,MOC3021又用了一个PNP三极管来驱动,这里也就是运用了两级驱动来控制强电的灯泡亮灭,完全隔离保证安全。图7 可控硅驱动部分电路4 系统软件设计整个软件系统的流程图绘制在下面图中。 Y N N Y Y图8 软件流程图4.1 液晶显示程序设计该龙丘小液晶可以显示不同字号的汉字或者字符,但是比较麻烦的是,该液晶没有解码汉字的芯片,所以要输出显示都要先使用一款“汉字取模软件”。这也使得我在程序中加入汉字取点的数组以后,程序体积

    17、增大了很多,最终代码段接近8K。液晶程序结构如下:先定义各端口为sbit lcdrs=P20;/定义lcdrs脚sbit lcdwr=P21;/定义lcdwr脚sbit lcde=P22;/定义lcde脚uchar tm=0123456789;/定义字符数组uchar no=now temp=;uchar set=set temp=;/定义字符串显示uchar sn=input st=;/定义设置时字符串 void write_com(uchar com) P0=com;/将数据送入P2口,即写入指令或地址 lcdrs=0; lcdwr=0;/根据规定,RS和R/W同时为低电平时,可以写入指令

    18、 delaynms(5); lcde=0; delaynms(5); lcde=1;/*函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:dat(为字符常量)*/void write_dat(uchar dat) P0=dat;/将数据送入P2口,即将数据写入液晶模块 lcdrs=1; lcdwr=0;/RS为高电平,RW为低电平时,可以写入数据 delaynms(5); lcde=0; delaynms(5); lcde=1;/*函数功能:对LCD的显示模式进行初始化设置*/4.2 温度检测程序设计DS18B20采集温度的精度可以设置,我们使用了最高精度的模式,也就是12位。其

    19、源码在官方资料上以及网上随处可见,经过修改后,该模块简化程序如下。uchar ds18b20_temp()/18B20读温度函数 uchar temp=0,temph=0,templ=0; ds18b20_reset();/将DS18B20初始化 ds18b20_write(0xcc);/ 跳过读序号列号的操作 ds18b20_write(0x44);/ 启动温度转换 delaynms(10); /转换一次需要延时一段时间 ds18b20_reset();/将DS18B20初始化 ds18b20_write(0xcc);/跳过读序号列号的操作 ds18b20_write(0xbe);/读取温度

    20、寄存器,前两个分别是温度的低位和高位 templ=ds18b20_read();/将读取到的温度的低位存在templ中 temph=ds18b20_read();/高位存在temph中 temp=temph*16+templ/16;/读出温度整数部分,2位 xs=(templ%16)*10/16;/读出温度的小数部分,1位 return temp;/返回温度的整数部分5 心得体会 通过本次制作恒温箱,对于计算机控制系统有更实际的了解,以前学习的知识,都是基于理论,就算是实验课,器材也是学校已经弄好了,我们做实验基本就是连接线路,也根本了解的不深入。但是,这次的课程设计,不但要我们自己买器材,更

    21、要我们设计电路、画出电路图、画出PCB、最终焊接成一块板子,然后调试板子,板子硬件调试差不多了又要设计程序。这样一个控制系统涵盖了以计算机控制系统课程为核心的单片机原理及应用、自动控制原理等相关课程知识,提供了真正将理论课程所学的知识应用于实践的平台。从硬件的搭建到软件算法的探索都需要扎实的理论基础。在涉及光耦驱动晶闸管电路的设计过程中还考察了器件选型的重要性,对于箱体的设计还考察了学生对于实际的考虑。整个设计过程需要工程的思想。恒温箱顾名思义就是要让温度基本恒定在一个我们期望的值,所以在设计程序时,就要想一个算法来控制单片机,使之能够恒定温度。当然对于这种控制,最好的算法莫过于PID算法,因

    22、为此法简单而有效,工业上也有很多的应用,如果需要更精确的控制,可以再PID的基础增加一些算法,比如模糊控制、鲁棒控制等。 通过这次的设计制作,我学习到了如何把理论上的东西运用到实践当中,并且对于PID参数的调整有了更加深入的理解,体会颇深,对于以后做项目又增加了不少经验。参考文献1 单片机原理与应用/戴胜华等-北京:清华大学出版社;北京交通大学出版社,2005.4 2 51单片机快速入门/徐玮等-北京:机械工业出版社,2011.113 C 语言程序设计/戴胜华等-北京:清华大学出版社,2004 单片机原理与应用/戴胜华等-北京:清华大学出版社;北京交通大学出版社,2005.4 5 计算机控制系

    23、统/高金源等-北京:清华大学出版社,2007.1附录一 电路原理图附录二 主函数完整程序/*恒温箱系统程序*/*工作流程:通过按键输入设定希望达到的温度值,确定后单片机输出脉冲控制灯泡加热,期间DS18B20不断检测温度并将之显示在LCD1602液晶屏上,同时液晶屏也显示设定的温度值,当实际温度和给定温度误差在0.1度范围内一段时间后,LED发光,蜂鸣器发出一定频率的声音,表示系统已达到平衡,经过大概5s后停止发光和鸣叫;重新设定给定后,重新达平衡则再次发光和鸣叫。恒温箱内温度保持在给定值加减允许的误差范围内。*/#include /包含单片机寄存器的头文件#include /包含_nop_(

    24、)函数定义的头文件#define uchar unsigned char/宏定义uchar#define uint unsigned int/宏定义uintsbit CF=P24; /定义触发脉冲发送引脚 /*以下是延时函数模块*/*函数功能:延时1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i4;i+) for(j=0;j33;j+) ; /*函数功能:延时若干毫秒入口参数:n*/void delaynms(unsigned int n) unsigned int i;

    25、for(i=0;in;i+) delay1ms();/*以下是DS18B20的操作程序 */ sbit DQ=P23;/定义18B20数据引脚uchar time;/设置全局变量,专门用于严格延时uchar xs;/存放读取温度的小数位/*函数功能:将DS18B20传感器初始化*/void ds18b20_reset()/18b20复位函数 while(1) DQ=1; DQ=0; time=250; /540us延时,当delay=1时延时为2us ,T=2*x while(-time); DQ=1; time=25; while(-time); while(DQ=0) time=220;

    26、while(-time); if(DQ) break; time=150; while(-time); break; /*函数功能:向DS18B20写入一个字节数据入口参数:dat*/ void ds18b20_write(uchar dat)/18B20写函数 uchar i=0; for (i=0; i8; i+) DQ=0;/将数据线从高拉低时即启动写时序 DQ=dat&0x01;/利用与运算取出要写的某位二进制数据, /并将其送到数据线上等待DS18B20采样 for(time=0;time=1;/将dat中的各二进制位数据右移1位 for(time=0;time25;time+);/稍作延时,给硬件一点反应时间 /*函数功能:从DS18B20读取一个字节数据出口参数:dat*/uchar ds18b20_read()/18B20读函数 uchar i=0,dat=0;/储存读出的一个字节数据 for (i=0;i8;i+) DQ=1; DQ=0; _nop_(); _nop_();


    注意事项

    本文(恒温箱温度计算机控制系统设计大学论文.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开