您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > swust恒温箱满分
西南科技大学计算机控制系统报告设计名称:恒温箱温度计算机控制系统设计姓名:***学号:2010****班级:自动10**班指导教师:聂诗良起止日期:2012.10.15--2012.11.25西南科技大学信息工程学院制2设计任务书学生班级:自动1004学生姓名:杨文超学号:20105789设计名称:恒温箱温度计算机控制系统设计起止日期:10月15日——11月25日指导教师:聂诗良设计要求:(1)温度采集传感器采用热电阻或热电偶,或一体化数字温度传感器DS18B20。(2)控制灯泡亮度或发热量,采用继电器开关控制或用可控硅平滑控制。(3)采用单片机或PLC作为控制器。(4)采用LED或LCD或PC机的液晶显示器作为显示器,同时显示给定温度和实际温度。(5)采用自制按键或PC机的键盘作为温度给定值输入。(6)恒温箱实际温度达到给定值时(误差要求±1℃)需声光提示,声音时延5秒后停止。(7)恒温箱最高温度≤50℃。3恒温箱温度计算机控制系统设计摘要:本设计采用体积小、精度高的数字式温度传感元件DS18B20作为温度采集器,选择性价比高的AT89S52单片机作为主控芯片,微功耗龙丘小液晶作为显示器,通过单片机驱动MOC3021光耦实现对晶闸管BT137的开关控制来调节灯泡亮度,实现了对箱体温度的实时测量显示与恒定控制。关键词:恒温箱,AT89S52单片机,龙丘小液晶,晶闸管ThedesignofincubatortemperaturecomputercontrolsystemAbstract:ThisdesignofincubatortemperaturecomputercontrolsystemusesdigitaltemperaturesensorDS18B20astemperaturecollectorsinceithasadvantageofsmallsizeandhighprecision.IchooseAT89S52microcomputerasmaincontrolchip,themicropowerconsumptionLongqiuLCDasamonitor.AT89S52controldriverMOC3021tocontrolthyristorBT137asaswitchtoadjustthelampbrightness,achievedthedetectionandshowingofcurrenttemperatureandthenconstantcontrolthetemperatureofthebigbox.Keyword:Thermostat;AT89S52;LongqiuLCDmonitor;thyristorBT13741设计目的和意义利用AT89S52对温度进行控制,采用单总线传输方式读取DS18B20当前温度值并用龙丘小液晶显示,使用按键更改设定温度,使用PID算法控制箱体温度到一个恒定值,这样一个控制系统涵盖了以计算机控制系统课程为核心的单片机原理及应用、自动控制原理等相关课程知识,提供了真正将理论课程所学的知识应用于实践的平台。从硬件的搭建到软件算法的探索都需要扎实的理论基础。在涉及光耦驱动晶闸管电路的设计过程中还考察了器件选型的重要性,对于箱体的设计还考察了学生对于实际的考虑。整个设计过程需要工程的思想,正是迎合了我自动化专业优秀学生所必须具备的知识与能力!2系统总体结构2.1温度控制方案选择该温度控制系统的控制对象是箱体内的温度,但是温度这个量的控制必须借助其他产热原件才能实现。经过多方调查,我总结到可行又比较简单的方案大体都是使用灯泡发光产热来改变箱体内温度,控制灯泡产热的方案分别如下所述:方案一:采用继电器作为程控开关,控制灯泡的开或关,进而控制其产热。这种方案简单易行,但是继电器控制的频率一般只有10Hz左右,不能在50Hz交流电的每个周期都控制灯泡开关一次,也就是只能控制灯泡的亮或灭,不能调节灯泡的亮度。方案二:采用开关器件晶闸管作为控制灯泡亮度的执行部件,由于晶闸管的开关速度可以达到很快,因而可以控制灯泡的亮度。由于本装置要求控制调节控制温度的精度要达到1°C,用继电器方案也可以达到要求,但是不能实现平滑控制灯泡发热量的要求。为了能够平滑控制灯泡亮度,最终选定使用晶闸管控制方案,即方案二。2.2主控芯片的选择对于本系统这样一个典型而又全面的控制系统来说,用八位的51单片机或者AVR单片机就可以满足控制要求。方案一:采用51系列单片机,有两个外部中断口、3路定时器、4路8位I/O口,资源丰富,编程简单。方案二:使用AVR系列的ATMEGA16单片机,除了拥有一般的中断、定时、输入输出功能外,还有PWM输出功能,JTAG等外加功能,但是需要烧写熔丝位,编程相对复杂些,而且价格要高出好多。综合考虑到价格因素以及资源需求,最终选定AT89S52单片机作为主控芯片。2.3过零检测方案的选择方案一:正如《计算机控制系统》课程上老师所讲的方案,采用光耦作为过零检测原件,在交流电过零点的时候,会产生一个矩形小脉冲,进而产生中断。该方案稳定性好,原理简单,但是由于光耦本身的管压降比较大(大于0.7V),会导致过零检测电路脉冲时延太长,控制不精确。5方案二:采用单个三极管作为过零检测信号产生电路,压降小,信号输出小脉冲,用来触发中断准确度高。最终我也选择了这个方案,具体原理在硬件设计部分再做详细阐述。2.4液晶显示方案选择方案一:使用的最为广泛的方案也就是使用1602字符型液晶显示器,该液晶价格便宜,编程简单,但是只能显示两行16个字符以内的英文字符。方案二:使用龙丘小液晶,分辨率128*64,可以显示不同大小的汉字和字符,功耗很低,采用3.3V供电。由于本系统使用便宜的7805线性稳压芯片供电,其发热功率与输入与输出电压差以及负载电流的大小乘积正相关。而我买到的变压器是交流12V输出,经整流滤波以后得到17V的直流电压输入给7805降压稳压,压差很大,如果负载电流也比较大的话,会有很大的发热功耗,这也是很多使用1602液晶方案的人说7805发烫的原因。由于手上有微功耗的龙丘小液晶,所以我的设计使用了这款小液晶。确定了最终各个模块的方案以后,我绘出了系统的总体方案图如下图:图1系统原理总框图3分模块系统设计从上面的系统总体框图可以看出,该系统以AT89S52单片机小系统为核心,包括龙丘小液晶显示模块、声光报警器模块、DS18B20温度采集模块、键盘输入设定温度模块、可控硅驱动模块。下面将详细介绍各个模块电路原理分析以及相应的软件设计。3.2系统电源模块设计电源是整个系统工作的基础,所有的功能实现都是基于稳定的电源。本系统电源有两部分,单片机、DS18B20、光耦、过零检测都是用的5V标准的TTL电平逻辑,只有小液晶单独用了3.3V电源,这在后面液晶显示部分介绍。这里给出使用L7805产生5V电源的电路。图27805产生5V电源电路小液晶显示模块声光报警模块DS18B20温度模块AT89S52单片机键盘输入设定温度模块可控硅驱动模块灯泡6L7805是非常普通的线性稳压芯片,其输出最大电流为1.5A,但是由于它是线性电源,其发热功率与输入与输出电压差以及负载电流的大小乘积正相关。为了尽量减小功耗,在输入和输出端都使用了一个1000uF大电容滤波,抑制电压电流的波动。3.2AT89S52单片机小系统模块设计3.2.1AT89S52单片机简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2.2单片机最小系统电路单片机工作的基本要求包括必要的5V电源(40引脚),接地(20引脚),晶振电路(18、19引脚),复位电路(9引脚)以及使用内部存储器需要给31脚接高。图3AT89S52最小系统电路图73.3龙丘小液晶显示模块设计龙丘OLED小液晶是龙丘智能科技有限公司自主开发的分辨率128*64像素点的微功耗小液晶,实验室做智能车比赛的时候买了很多,所以这次设计我也使用了这款高性能液晶。3.3.1小液晶电源电路市面上稳压产生3.3V电源的芯片种类有很多,实验室用的比较多的是LT1963-3.3线性降压型稳压芯片。其最大输出1.5A电流,纹波可以做到2mv以内,性能相当优秀。图43.3V电源电路3.3.2小液晶与单片机连接电路该款小液晶与单片机通信属于串行口数据通信方式,可以直接与单片机引脚连接,接受5V电平逻辑,我将其4个数据口分别与单片机P0.0--P0.4连接,如下图所示:图5小液晶连接电路3.4声光报警模块设计课程要求在温度达到设定值的时候要用声光报警器做指示,所以设计了如下图所示的声光报警器电路。8图6声光报警电路由该图分析可知,当我们给beep端高电平的时候,三极管8550不导通,蜂鸣器也就不叫;相反,我们给beep端低电平的时候,三极管导通,蜂鸣器也就发出叫声。如果beep端是一定频率的PWM波信号,则蜂鸣器叫声的频率也会随之改变,于是就有了用蜂鸣器做的音乐播放器。3.5DS18B20温度采集模块设计3.5.1DS18B20简介DS18B20数字温度计是Dallas公司生产的1-Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。通过编程,DS18B20可以实现9~12位的温度读数。3.5.2温度检测部分电路温度检测部分很简单,因为信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线就可以正常工作,这里我还是给它接入了电源线。9图7温度检测部分电路3.6键盘输入温度设定模块设计为了简便,我只使用了3个独立按键作为按键输入,分别作为设置键(移位键)、增加键、减小键。最开始在板子上用了4个按键,有一个没有用。图8按键检测电路3.7可控硅驱动模块设计可控硅使用的型号是BT137,配合使用光耦MOC3021驱动它,MOC3021又用了一个PNP三极管来驱动,这里也就是运用了两级驱动来控制强电的灯泡亮灭,完全隔离保证安全。10图9可控硅驱动部分电路4系统软件设计整个软件系统的流程图绘制在下面图中。YNNYY图10软件流程图检测温度=设定温度系统初始化液晶显示开中断读一次温度显示当前温度和设定温度重设温度PID调光再读一次温度判断正确性并显示现实判断是否按键重设温度声光报警114.1液晶显示程序设计该龙丘小液晶可以显示不同字号的汉字或者字符,但是比较麻烦的是,该液晶没有解码汉字的芯片,所以要输出显示都要先使用一款“汉字取模软件”。这也使得我在程序中加入汉字取点的数组以后,程序体积增大了很多,最终代码段接近8K。液晶程序结构如下:先定义各端口为sbitLCD_RST=P0^2;//复位,0复位P3^1sbitLCD_DC=P0^3;//1写数据,0写指令P3^0sbitLCD_SDA=P0^1;//数据P3^6sbitLCD_SCL=P0^0;//时钟P3^7*/con
本文标题:swust恒温箱满分
链接地址:https://www.777doc.com/doc-1917140 .html