您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 恒温箱自动控制系统设计报告
恒温箱自动控制系统设计组员:院系:指导教师:【摘要】本组设计的恒温箱自动控制系统主要由中央处理器、温度传感器、半导体制冷器、键盘、显示、声光报警等部分组成。处理器采用AVRMega128单片机,温度传感器采用DS18B20,利用半导体制冷片一面制冷一面发热的工作特性进行升降温,用LCD12864作为显示输出。温度传感器检测到温度数据传送给单片机,单片机再将温度数据与给定值进行比较,从而发出对半导体制冷器的控制信号,使温度维系在给定值附近(偏差小于±2℃),同时单片机将数据送与显示器。【关键字】单片机温度传感器半导体制冷器控制一、设计方案比较1.1总体设计方案这里利用DS18B20芯片作为恒温箱的温度检测元件。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。单片机从外部的两位十进制拨码键盘进行给定值设定,读入的数据与给定值进行比较,根据偏差的大小,采用闭环控制的方法使控制量更加精准。控制结果通过液晶显示器LCD12864予以显示。系统整体框图如图一所示:图一、系统整体框图1)温度检测元件的选择:方案一:这里所设计的是测温电路,因此可以采用热敏电阻之类的器件利用其感温效应,检测并采集出随温度变化而产生的电压或电流,进行A/D转换后送给单片机进行数据处理,从而发出控制信号。此方案需要另外设计A/D转换电路,使得温测电路比较麻烦。方案二:上网查得温度传感器DS18B20能直接读出被测温度,并可根据实际要求通过简单的编程实现9~12位的数字值读取方式,它内部有一个结构为8字节的高速暂存RAM存储器。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。与方案一比较更加简单实用,因此我们选择方案二。2)显示方案选择:方案一:温度的显示可以用数码管,但数码管只能显示简单的数字,它有电路复杂,占用资源较多,显示信息少等缺点。方案二:LCD12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字,128个字符及64×256点阵显示RAM。可显示内容:128列×64行,多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。我们设计的系统需要显示更多的信息,所以考虑显示功能更好的液晶显示,要求能显示更多的数据,增强显示信息的可读性,看起来更方便。所以选择方案二。LCD12864接线方法如图二所示:图二、LCD12864接线图3)声光报警系统采用蜂鸣器及三色LED组成声光报警系统。制冷时LED为红色,温度达到控制要求且上下浮动在1℃以内时为绿色,升温时为黄色。温度到达给定值的同时,蜂鸣器发出报警提示音。二、理论分析与计算实现温度的实时显示是由计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符显示。因为DS18B20的转换精度为9-12位可选的,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。计算温度子程序流程图如图三:图三、温度子程序流程三、系统硬件电路设计首先确定系统总体结构,再逐个设计所需电路。10×10(mm)恒温室,为是室内温度与外界隔绝好,我们采用厚泡沫板做箱体,温度传感器嵌入箱内并固定在箱内中间位置;单片机主控电路模块;单片机最小系统接线如图四:开始高于设定值制冷加热等于设定温度停止加热或制冷返回NOYesYesNO图四、单片机最小系统接线图电源电路模块,设计有5V,6V,9V,12V等不同输出电压以满足各部分电压需求;控制制冷片工作的继电器模块;键盘输入模块,可输入二位十进制数,输入范围为5~35,超出范围时会给出错误提示;输出显示模块;声光报警系统,蜂鸣器接线图如图五:图五、蜂鸣器接线图程序下载电路如图六示:图六、下载电路四、系统软件程序设计4.1主程序系统主程序首先对系统进行初始化,包括设置定时器、端口;开机画面显示系统程序不断循环执行显示效果:#includeiom128v.h#includemacros.h#include12864.h#includedelay.h#include18B20.h#includeAVR_128.h#includekey_scan.h#defineWATERONPORTE|=0x01;#defineWATEROFFPORTE&=~0x01;#defineWIND_FREEZEONPORTE|=0x02;#defineWIND_FREEZEOFFPORTE&=~0x02;#defineHEETONPORTE|=0x04;#defineHEETOFFPORTE&=~0x04;voidmain(){uintwendu;ucharaa,bb,a1=0,a2=0,b1=0,b2=0,b3=0,m1=0,n1=0,a,b,c;DDRA=0xf0;PORTA=0xff;DDRG=0xff;PORTG=0xff;DDRE=0xff;PORTE=0xf0;PORT_Init();//端口初始化Lcd_Init();//初始化LCDClear_All();TCCR1B=0X05;//1024分频TCNT1H=0Xc2;//设定初值,定时一分钟TCNT1L=0Xf6;TIMSK|=BIT(2);Write_LCD(0,1,当前温度:);Write_LCD_lib(4,1,a);//显示转换的结果在12864上表示出来Write_LCD_lib(5,1,b);Write_LCD(6,1,.);Write_LCD_lib(7,1,c);WATERON;}}}五、测试方法与实验数据5.1硬件和软件的调试1、硬件调试时,可先检查印制板及焊接的质量是否符合要求,有无虚焊点及线路间有无短路、断路。然后用万用表检测,检查无误后,可通电检查LCD液晶显示器亮度情况,一般情况下取背光电压为4~5.5V即可得到满意的效果,再依次检查各部分结构安装是否牢固。2.软件调试是在ICCAVR编译器下进行,源程序编译及仿真调试应分段或以子程序为单位逐个进行,最后结合硬件实时调试。子程序调试包括:1).LCD12864显示程序;2).延时函数子程序;3).DS18B20读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序。5.2实验数据及结果分析1、实验数据降温过程:温度范围(℃)33~2828~2323~1818~1313~8变化时间(S)2126375785稳定在5℃时,一分钟内温度浮动最大为0.7℃。升温过程:温度范围(℃)5~1010~1515~2020~2525~30变化时间(S)1823345274稳定在30℃时,一分钟内温度浮动最大为0.9℃。2、结果分析升、降温过程中每变化15℃所用时间均未超过3分钟,满足设计要求,但是从数据可以看出,温度在向室温方向变化时的速度要快于背离室温变化时的速度,说明外界温度对恒温箱内温度还是有一定的影响,不可消除。六、报告总结本恒温箱的温度可调范围:3~35℃,温度误差小,温度显示稳定。可显示当前温度、设定温度、温度差值;设定温度通过3×4矩阵键盘输入,当温度达到设定值时启动蜂鸣器,指示灯变为绿色。【参考文献】1.单片机原理与控制技术(第二版)张志良主编2.单片机机开发技术与实训黄庆华、张永格、主编3.高频电路原理与分析(第二版)曾兴雯、刘乃安、陈键、编著4.电子线路设计·实验·测试(第二版)谢自美、主编5全国大学生电子设计竞赛获奖作品汇编(06/07/08年)6电子线路设计应用手册张友汉主编7单片机基础.李广弟主编
本文标题:恒温箱自动控制系统设计报告
链接地址:https://www.777doc.com/doc-2438403 .html