生物样品室温控系统Word格式文档下载.docx
《生物样品室温控系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《生物样品室温控系统Word格式文档下载.docx(51页珍藏版)》请在冰点文库上搜索。
5.4结果分析22
5.5实物演示23
第六章结束语24
参考文献25
附录1整体电路原理图26
附录2部分源程序27
外文资料39
中文翻译44
摘要
在我们所进行的科学实验中,尤其是有关生物学的试验中,实验往往要求一个接近于体温的恒温环境,这样既有利于生物样品的保存,也有利于得到精确的实验结果。
普通的加热系统难以精确的控制温度,使得实验难以得出正确的结论,所以我们要转而讨论一种更加智能精确的温度控制系统。
单片机利用C语言进行编程有很多优点,例如:
能够快捷、方便的调用各种函数等、便于移植、句法语句容易检查、拥有丰富的头文件类型。
本论文使用STC89C52单片机作为系统的控制核心,编程采用C语言,设计了一套可以精确控制温度的实验室生物样品室温控系统。
温度设定采用键盘按键,其温度的精度可以达到0.1摄氏度,同时设定的温度由八段数码管显示。
温度采集系统使用DS18B20温度传感器,同样由八段数码管显示采集到的实时温度,可以精确的显示出样品室内的实时温度。
当采集到的样品室内温度低于设定温度,单片机会控制继电器的开关闭和从而启动加热系统;
当样品室内温度高于设定温度,单片机会控制继电器断开开关从而关闭加热系统。
这样基本实现了样品室内温度的智能控制。
关键字:
18B20、STC89C52、温控系统、生物样品室
ABSTRACT
Inscientificexperimentswehaveconducted,particularlyconcerningbiologytest,thetestoftenrequireaconstanttemperatureclosetothetemperatureoftheenvironment,bothforthepreservationofbiologicalsamples,butalsoconducivetogetaccurateresults.Conventionalheatingsystemisdifficulttoaccuratelycontrolthetemperature,sotheexperimentisdifficulttodrawtherightconclusions,sowehavetoturntoamoreintelligentprecisetemperaturecontrolsystem.
MCUClanguageprogramminghasmanyadvantages,suchas:
theabilitytoquickly,easilyaccessthevariousfunctions,etc.,portable,easytocheckthesyntaxstatementwithextensiveheadfiletype.Inthispaper,usingSTC89C52microcontrollerasthecontrolsystemprogrammingusingClanguage,wedesignedalaboratorycanaccuratelycontrolthetemperatureofthebiologicalsamplechambertemperaturecontrolsystem.Temperaturesettingusingthekeyboardkeys,theaccuracyofthetemperaturecanreach0.1degreesCelsius,whilethetemperaturesetbytheeightdigitaltubedisplay.TemperatureAcquisitionSystemDS18B20temperaturesensor,alsomadeeightdigitaldisplaycollectedreal-timetemperature,canaccuratelyshowthereal-timetemperatureofthesamplechamber.Whenthecollectedsamplechambertemperaturebelowthesettemperature,themicrocontrollerwillcontroltherelayswitchisclosedandtherebystartheatingsystem;
whenthesamplechambertemperatureishigherthanthesettemperature,themicrocontrollerwillcontroltherelayoffswitchtoclosetheheatingsystem.Thusthebasicrealizationofintelligentcontrolsampleroomtemperature.
Keywords:
DS18B20、STC89C52、TemperatureControlSystem
第一章绪论
1.1本设计的背景
社会日益发展,市场对生产提出了越来越高的要求,在恒温控制领域也是如此。
为了满足市场的要求,设备的控制系统应该具有高度的的可靠性、灵活性,可编程控制器恰恰顺应了这种要求。
同时温度传感器的发展也是是日新月异,这对恒温控制起到了巨大的影响。
利用随温度变化的物质的物理性质变化规律把温度信息转换为电信号的传感器是温度测量的核心部分,种类繁多。
随着科学的进步,越来越多的科学实验特别是有关生物学的科学实验需要生物样品处于一个稳定并且健康的状态,这就要求在进行需要生物样品的实验时,样品室内有一个较为适宜并且较为稳定的温度环境,这样才能得到正确、精确的实验结果促进科学的进步与发展。
恒温控制对国家的科技水平更加高新、民生健康等方面显现着其重要性。
为此我们有必要在恒温控制的研究应用上花费应有的人力物力财力。
1.2本设计的目的及意义
恒温控制系统大多应用于是在生物学实验室、工业生产、医药研制中。
在实验室中,特别是生物实验室,为了得到正确以及更加准确的实验数据,需要生物样品处于一个稳定的状态下,也就需要生物样品处于一个稳定的温度环境下。
所以对于用到生物样品的实验来说,恒温控制系统是十分重要以及必要的,恒温环境对于生物实验的试验过程以及试验结果将产生巨大的影响。
得到正确的试验结果我们的实验才有意义,同时更加准确的结果也有利于我们将试验成果更好更快的应用于实际生产应用中,从而产生积极的作用。
对于我们的生物、农业、渔业的发展产生巨大的推进作用。
1.3本设计的主要内容
本论文设计了一种基于STC89C52单片机的生物样品室恒温控制系统,包括温度控制、温度采集以及加热等模块,其主要内容有:
(1)生物样品室温度控制系统的设计方案
(2)温度采集及温度控制系统的硬件设计
(3)生物样品室加热系统的硬件设计
(3)温度控制系统的软件设计
(4)系统的整体试验和调试
第二章生物样品室温度控制系统的设计方案
2.1生物样品室温度控制系统的设计方案
基于STC89C52单片机的生物样品室恒温控制系统是由STC89C52,DS18B20温度采集模块,按键控制模块,加热模块,继电器以及供电系统构成其系统框图如
图2-1所示。
图2-1基于单片机的生物样品室温控系统系统组成框图
该系统的工作过程是DS18B20温度采集模块将采集到的温度传输给单片机,单片机通过所接收到的温度与之前预设的温度进行对比,如果温度达到所需温度控制继电器断开开关停止加热,如果温度低于预设温度,则控制继电器闭合开关使加热系统开始工作直到达到预热温度。
2.2主控制器模块
本论文设计的生物样品室温控系统使用STC89C52单片机作为系统的控制核心,达到我们的设计目的。
生物样品室的温控系统,系统的主要目的在于实现样品室内部的温度的自动控制,为了实现这个目的,单片机具有其独特的优势——可编程,易于控制,方便调试、调整。
单片机系统具有十分丰富的系统资源,并且易于控制,还可以进行位寻址操作,在市场上的售价也相对低廉。
STC89C52单片机拥有8K字节程序存储空间,512字节数据存储空间,内带4K字节EEPROM存储空间,可直接使用串口下载;
2.3温度采集模块
生物样品室温控系统需要对温度进行控制和显示,多以采集到的温度信号最好可以是数字信号,在本模块有以下两种方案:
方案一:
使用数字温度传感器DS18B20采集样品室内实时温度。
DS18B20温度传感器的温度输出为数字信号,可以直接传输到单片机进行处理,这样就免除了搭建外围电路的麻烦。
同时,DS18B20温度传感器的物理化学特性十分稳定,已经大量应用于工业测温,整体稳定性很高。
此外DS18B20温度传感器的线形性能较好。
在零到一百摄氏度的范围内,它的线性偏差最大小于1摄氏度,具有较好的精确性。
DS18B20温度传感器的数据采用单总线传输,这是DS18B20的显著优点之一。
使用单片机STC89C52和温度传感器DS18B20构成温度采集模块,可以直接输出温度的数字信号,可以直接与其他设备连接。
使用这种方法构建温度采集系统可以使系统整体的结构简单明了,整体体积小。
与单片机结合,系统的编程简单,系统软件拥有很高的自由度,可以通过软件的设计来进行多种多样的逻辑运算。
除此之外,DS18B20和STC89C52在工业生产中早已广泛应用,各种使用条件都很成熟。
图2-2DS18B20的外部封装模式及传感器电路图
方案二:
温度采集模块采取热电偶温差电路,热电偶温差电路的结构如下图所示,其中包含两个焊接好的异金属导线,使用低温热偶作为样品室内温度采集部分。
热电偶温差电路因温度变化可以产生电信号,其产生的电势由两部分组成,一部分是两种金属接触时产生的接触电势,另一部分是同一导体自身产生的温差电势。
在测量时,在样品室外固定一个温度已知参考点,然后采集该点的电压数据,由这两个数据就可以推测出样品室内部的温度,由此达到测量温度的目的。
但得到的电压信号并不能直接给单片机使用,需要经过A/D转换后交给单片机处理,这就要求数据采集模块需要搭建一个A/D转换电路将温度变化引起的电压和电流变化转化成数字信号,最后交给单片机处理。
热电偶温差电路的优势在于它有非常大的测量范围,整个采集系统的硬件体积也比较小,但是,在实际应用中,它特别容易受到干扰,输出电压特别小,漂移比较大,同时需要比较复杂的外围电路,系统坐下来比较麻烦。
图2-3热电偶电路图
从以上两种方案,容易看出方案一的温度采集模块在整体结构,应用方法,数据处理,软件设计等方面都比较简单,并且可以符合我们的设计要求,方案二的线性误差较大。
故本次设计采用了方案一。
2.4温度设置模块
该模块主要是进行温度的设定,同时也有两种方案:
方案1:
采用按键输入的方式,直接在电路板上焊接按钮,作为键盘使用,在整个生物样品室温控系统中,我们一共需要四个按键,它们分别是:
单片机最小系统的复位键、温度设定键、温度+键、温度-键,这样设计,结构简单,没有硬件浪费,且软件驱动也相对简单。
方案2:
4乘4矩阵键盘,这种键盘是一种可以充分利用单片机I/O口的键盘,在需要较多按键指令时使用矩阵键盘可以减少键盘对单片机I/O的数量,提高单片机的使用效率,但是在本设计中,仅仅需要四个按键就可以完成对系统的操作和控制不需要较多的按键。
综合以上各种优缺点,我们选择使用直接焊接按钮作为温度设定的输入。
2.5显示模块
显示模块的作用是将单片机得到的温度信息显示出来,并且配合温度设定模块显示出当前设定的温度,初步设想方案也有两种:
采用八段数码管进行显示,数码管有两种,共阴数码管和共阳数码管,数码管可以清晰明了的显示数字等信息,在生物样品室的温控系统中,我们所要显示的也仅仅是数字,所以该方案是适用的。
同时,数码管早已得到了广泛的应用,使用起来也比较简单和成熟。
方案2:
适用LCD液晶显示,LCD显示器可以显示文字,字母,数字,甚至图形等发杂图案,可以从中获得丰富的信息,但是相对于数码管来说,LCD的软件设计要较为繁琐,同时价格也较贵,而在我们的生物样品室温控系统中只需要显示温度即可,所以如果使用LCD是对硬件的浪费。
综合以上方案的优缺点,我们才用数码管作为显示模块。
2.6电源模块
在生物样品室的温控系统中,单片机以及加热系统都需要供电,所以供电系统也设计了两种方案。
使用变压器接普通交流电源进行供电,这种供电方式电压,电流都较为稳定,驱动能力比较强,同时通过使用这种供电方案可以配合加热模块的功率调节,使得温度更加稳定。
除此之外,生物样品室的位置相对固定,所以即使该方案灵活性并不高也可以应用到本系统中。
使用输出电压为1.5V的电池进行供电,这样整个系统灵活性就很高,在本系统中各个元件的工作电压在四到五伏,所以该方案要使用3节干电池作为电源,在实际应用中虽然在驱动芯片以及传感器等方面群没有问题,但在长期使用中还是会出现电流电压不稳定,驱动能力较差等问题,而该方案最大的优点--灵活性高,在本系统中的实际用途也比较小。
综合两种方案的优缺点,我们选用方案一。
第三章温度采集、温度控制系统以及加热系统的硬件设计
3.1主控制器模块
主控制器模块选用的是STC89C52单片机,他的工作需要一个最小系统来支持,STC89C52单片机的最小系统电路图如下:
图3-1STC89C52的最小系统原理图
STC89C52单片机的最小系统包括一个复位电路和一个晶振,复位电路可以为整个系统提供复位功能,晶振电路为系统提供基准时钟,这样连接后,单片机就可以进行最近本的工作。
3.2显示模块
显示模块使用四位八段数码管,其工作过程是,4位数码管依次收到位选信号,当选中某一位时,单片机把要显示的段码送给数码管,依次对4为进行这个操作,当操作的时间间隔较低(低于10ms)时,人眼就无法分辨出数码管的间断打开,就如同四位同时显示。
数码管在工作时需要外接电阻,显示模块的基本电路图如下图所示:
图3-2数码管基本电路
数码管的工作需要外接驱动电路,一般采用三极管8550进行驱动,电路简单且制作方便,驱动电路如下图所示:
图3-3数码管驱动电路
3.3温度采集(DS18B20)模块
3.3.1DS18B20基本介绍
DS18B20是现在我们所可以应用到的一块非常方便、易用的温度传感器,它的易用之处在于它的数据传输使用“一线总线”接口,这样的设计使得我们在实际应用中可以使用市面上大多数型号的微处理器,数据传输方面也直接可以将温度信号转化为数字信号送给微处理器。
在使用DS18B20进行温度测量时,为了确保温度测量和装换的精确性,单片机的I/O口必须为温度传感器提供充足的能量,所以实际应用中要求如果只使用上拉电阻进行驱动,那么同一I/O线上只能够搭载一个温度传感器,这样才能保证温度输出的准确性。
下图所示,是DS18B20的一种使用方式,其要求工作电压为五伏,且只能使用一个DS18B20进行单点的温度测量,稳定的电源电压是这种电路输出正确温度的保证和前提,在本设计中电源电压,以及样品室内的温度采集都符合该电路的使用。
图3-4DS18B20的电路图
3.3.2DS18B20控制方法
DS18B20有六条控制命令:
图3-5DS18B20的控制方式
3.3.3DS18B20供电方式
DS18B20温度传感器的供电方式有两种:
电源供电和寄生供电。
在实际应用中寄生电源可能会出现一些问题,所以本设计采用了电源供电的方法。
使用外服电源供电的电路如下图:
图3-6DS18B20外部电源供电电路图
主机控制DS18B20完成温度转换必须经过3个步骤:
●初始化。
●ROM操作指令。
●存储器操作指令。
3.4继电器控制及加热模块
继电器的使用是为了根据采集到的温度控制加热系统的开关及功率,在温度低于设定温度较多时,会采用大功率加热,距离设定温度较近时,会采用较低的温度加热,这样能保证温度的基本稳定。
继电器电路如下图所示:
图3-7继电器控制电路
第四章温度控制系统的软件设计
4.1系统软件结构分析
在生物样品室的温控系统中,除了主程序外,还应有四个子程序,首先是温度采集和控制子程序,对DS18B20采集到的温度信号进行识别和处理;
显示模块子程序,这个子程序主要是控制数码管的显示,显示实时样品室内部温度以及设定的温度;
按键控制子程序,这一段程序主要的功能是进行整个系统温度的设置;
最后是继电器控制子程序,作用是根据当前样品室内部温度以及设定的温度控制继电器电路的闭合与断开。
4.2系统软件程序流程图
系统的主程序的功能是通过调用各个子程序,以及接受到的温度信号,对样品室内部的温度进行判断,结合设定好的温度,控制加热系统的开关和加热功率,最后达到生物样品室内的温度稳定在设定温度范围内,并将实时温度和设定问杜通过调用显示模块子程序实时的显示在数码管中。
4.2.1主程序流程图
主程序的流程图如图4-1所示:
图4-1温度装换流程图
4.2.2DS18B20初始化流程图
DS18B20温度传感器在使用之前需要进行初始化,其初始化的流程图如图4-2所示:
图4-2DS18B20的初始化流程图
4.2.3读取温度子程序流程图
在系统工作时需要从DS18B20温度传感器中读取温度,将读取到的温度值存入温度暂存中,该段程序的流程图如图4-3所示:
图4-3温度读取子程序流程图
4.3系统程序的编写和调试
4.3.1Keil简介
本设计编程所使用的编译器软件是Keil,Keil是一种C语言编程软件开发系统,Keil的51系列支持51类单片机的开发和调试,与汇编语言相比,C语言是一种更加高级的语言,C语言在各个方面都拥有比较大的优势,这使得C更加容易学习,读取和使用,KeilC51软件提供了丰富的库函数和功能强大的集成开发调试工具,在我们日常使用中很轻松就可以上手,其编译过程十分快捷,编译后产生的代码也十分简介紧凑,可以充分的看出C语言相对于汇编语言的优势。
图4-4KeilC51工具包整体结构图
4.3.2继电器控制程序
voidclock_h_l()
{
staticucharvalue1,value2;
if((temperature<
=t_low))
{
value1++;
if(value1>
=2)
{
relay=0;
}
}
else
value1=0;
if(temperature>
=t_high)
value2++;
if(value2>
{
relay=1;
value2=0;
}
}
该段程序的主要功能是根须实时采集到的温度和设定的温度,控制两个继电器的闭合与断开,调整系统加热系统的加热功率或加热系统的开关,使样品室内部问杜稳定而精确地到达设定温度。
4.3.3温度读取程序
uintread_temp()
uintvalue;
ucharlow;
init_18b20();
write_18b20(0xcc);
write_18b20(0x44);
delay_uint(50);
EA=0;
write_18b20(0xbe);
low=read_18b20();
value=read_18b20();
EA=1;
value<
<
=8;
value|=low;
value*=0.625;
returnvalue;
该程序的功能是,在系统开机后,对DS18B20进行初始化并开始进行温度信号转换,将采集到的温度值存入预设变量,使得单片机可以对采集到的温度信号进行处理。
4.3.4独立按键程序
ucharkey_can;
//按键值
voidkey()//独立按键程序
staticucharkey_new;
key_can=20;
P2|=0x07;
if(key_500ms==1)//连加
key_500ms=0;
key_new=1;
if((P2&
0x07)!
=0x07)
delay_1ms
(1);
if(((P2&
=0x07)&
&
(key_new==1))
{
key_new=0;
switch(P2&
0x07)
{
case0x06:
key_can=3;
break;
/
case0x05:
key_can=2;
case0x03:
key_can=1;
}
flag_lj_en=1;
}
if(key_new==0)
key_new=1;
write_eeprom();
flag_lj_en=0;
flag_lj_3_en=0;
flag_value=0;
key_time=0;
}
}
此程序的主要功能是读取按键模块的按键值,并对按键信号进行处理,达到对系统温度设定的控制以及显示模块对实时温度和是定温度的切换。
第五章系统的整体试验和调试
5.1系统硬件的安装与焊接
5.1.1元件的检测
在元件购买后首先要检测元件时候损坏和元件的参数是否与原理图一致这样可以避免在焊接完成