1引言
恒温箱智能控制系统已广泛应用于社会和生活中的各个领域,在恒温箱的发展过程过程中,温度控制对恒温箱的设计是人类长期以来研究的重要课题。此论文主要研究恒温箱温度控制,硬件采用Proteus ISIS 7.8进行仿真,程序采用Keil进行仿真。最后,硬件仿真与程序仿真结合便测试出所设计的效果。
1.1 研究背景及现状
温度控制是恒温箱的重要环节,对温度智能控制系统有重大意义。在日常生活中,可以用来保存食物;在工业中,可以保存工业原料以及一些产品的测试,其控制效果的好坏会对产品有直接影响;在农牧业中,可以育苗,可以饲养生物;在科研机构可以培养细胞;在生物研究中,可以为无菌试验创造有利的条件;一些高端电子设备的正常运行需要一定的温度环境。
上世纪70年代,温度控制系统在国外开始被研究。大约在80年代,国外温度控制系统发展迅猛,智能化等在科技中也有较大的成就。程美枫2014年在干燥箱温度中系统误差的分析中提出了用一定的方法发现和减小或消除系统误差
[1]
;李颖2015年在0℃恒温装置的设计中提出一种便携式无线监控0℃恒温箱[2];
孙宏健2016年在一种数字温度计的设计和校准中提出了由单片机与温度传感器组成的硬件设计方案[3];王一帜2017年在便携智能恒温箱的设计中研究了半导体制冷材料以及单片机的相互连接与信号转换,实现恒温控制及温度显示功能。
[4]
;赵静2018年在一种外循环式温度恒温箱设计中提出了用微小压力流体压强
原理进行测量水介质外循环控温的恒温箱[5]。
本论文重点研究恒温箱温度的智能控制,首先对器件进行选择,然后通过仿真,分析恒温箱温度的设计以及应用领域。在研究温度控制系统时,对温度的参数设置进行分析对比,以达到最优效果。 1.2 本人主要工作
本论文首先对恒温箱硬件和软件的器件进行了选择。然后,选择并使用合适的软件进行温度测量,通过Proteus ISIS和Keil仿真,并对比温度的参数,来回控制,使温度控制在设置温度的上下。
1
1.3 论文组织与结构
第一部分介绍了论文研究背景及框架设计。 第二部分是有关恒温箱的概述。 第三部分是单片机整体设计方案。 第四部分是硬件各模块元器件的介绍。 第五部分是软件程序的介绍。 第六部分是电路整体测试与仿真。 最后是本论文的总结。
2
2恒温箱概述
2.1 恒温箱介绍
恒温箱是在设定的温度上下限数值内,用来培养生物或细胞的一种箱子形状的器具。在我们的生活中应用非常广泛,在日常生活中,工业生产中,农业种植中,医疗器械中都被广泛应用。在当今信息化发展迅猛的时代,恒温箱的发展也逐渐小型化、智能化,在质量方面有所提高,性价比方面有所优化。在我们身边的很多领域,都需要恒温箱。因此在恒温箱的发展中也让科学家们投入了不少心血。
本论文研究恒温箱温度智能控制系统的设计,首先通过热敏电阻Pt100对温度进行测量,根据温度变化值传达到信号处理器,在将处理好的信号递给A/D模数转换器。由模数转换器传给单片机,由单片机给温度信息做出反应。 2.2 恒温箱研究的内容
本毕业设计的主要内容是;本次设计的以AT89C52单片机为核心,LTC1864模数转换器和LED数码管为主的硬件电路。用C语言编写程序为软件。做成一个自动控制的恒温箱。其主要功能是实时测量箱内的温度,并及时的显示。测量时,在恒温箱内放入Pt100温度传感器,Pt100开始检测箱子内的温度,检测到的温度具体变化再传送给信号处理器,然后信号处理器将处理好的信号再次传送给A/D数模转换,也就是ad芯片。由ad采样芯片采集Pt100的阻值变化,转换成温度数据传给单片机,由单片机给温度信息做出反应驱动数码管显示。在控制面板上,可以用按键设置需要的温度,如果温度高于设置的温度,则报警灯亮,蜂鸣器报警。根据恒温箱恒温的安全灯来控制温度设置的幅度变化。
3
3系统总体设计方案
3.1恒温箱的结构设计方案
课题设计分为硬件设计和软件设计。硬件设计选择AT89C52单片机,用Pt100热敏电阻作温度传感器,通过LTC1864模数转换器采集数据,使用LED数码管做显示器等。软件设计用C语言编写计算检测的数据和数码管显示的C语言程序,并且需要对按键电路如何设定温度变化值的范围编写相应的控制程序。然后通过硬件模块的连接与软件程序的控制,组成一个可以设定温度值范围也可以实时测量温度的恒温箱。其主要功能是实时测量箱内的温度,并及时的显示。测量时,运用运放组成恒流源给Pt100温度传感器供电,AT89C52单片机通过ad采样芯片LTC1864采集Pt100的阻值变化,转换为温度数据,驱动LED数码管显示,然后通过按键,设定高温、低温区间,来驱动工作,结构如下图3-1所示。
前置处理 温度传感器 A/D 转换器 AT89C52 单片机 按键 图3-1 恒温箱框架图
报警灯 显示
3.2 AT89C52单片机简介
我设计的智能恒温箱选择的单片机是AT89C52 ,选择它的原因是高性能、低电压且具有标准的C51内核,它的引脚如下图3-2所示。通过与ad芯片连接检测温度传感器检测的温度、与按键电路连接通过按键程序控制调节温度上下限变化范围、与报警电路连接若检测到的温度超过预设定的数值则发出报警信号、最后通过与数码管连接来显示检测到的温度,当然也可以通过显示来调节温度数值大小。这便基本组成了由AT89C52为中心的硬件电路。
4
图3-2AT89C52引脚图
3.3 A/D模数转换简介
ADC,一种模数转换,也称A/D转换,有多种叫法。它是一种电子元器件,是把输入的电压信号转变为一种数字信号然后输出去,本设计采用的是LTC1864,它是16位A/D转器,采用单5V工作电源,和微机接口相当方便。LTC1864的引脚如下图3-3所示。
图3-3 LTC1864引脚图
5
3.4 恒流源及Pt100传感器简介
设计除了恒流源与LTC1864ad芯片以外,还包含了其他的电路模块,例如电源模块选择的是恒流源,前置放大电路选择的是OP07、温度传感器选择的是Pt100传感器,报警电路选择蜂鸣器等。下面介绍这些外围硬件。 3.4.1恒流源选择与简介
恒流源采用OP07放大器和三极管组成压控恒流源,易于实现,电路相对简单,是用电压控制电流的变化,更能适应系统对输出电流大小和精度的要求。电路如图3-4所示。
图3-4 恒流源
3.4.2 Pt100传感器
常见的温度监测仪由感温元件帮助完成检测。我设计的温度传感器是选用的Pt100温度传感器。
Pt100是一种含有热电阻的温度传感器温度计,它的电阻值会随温度的升高而升高,随温度的降低而降低,然后根据温度的变化去测量具体的温度值。我这次设计的传感器Pt100温度检测范围是0℃到600℃,选则的热敏电阻传感器是金属铂制作而成。对应于本次设计的要求,选择Pt100作为热电阻传感器比较合适,如下图3-5。热电阻的阻值变化公式如下:
RtR0(1A*1B*t*t) (3-1)
RtR0[1A*tB*t*tC(t100)*t*t*t] (3-2)
6
3.5 前置放大电路
图3-5 Pt100
这是一种双运算放大器,LM358具有放大电压信号,价格便宜等特点,适用于本设计中电源电压范围很宽的单电源使用。电路引脚如图3-6所示。
图3-6 LM358前置放大电路
7
4硬件系统设计
4.1 电源模块
采用VSINE正弦波交流电压,(振幅为310Hz,频率为50Hz)连接到TRAN-2P2S的功率电源变压器,其中功率电源变压器采用了二极管桥式整流电路,它是由四个二极管组成,作用是转变为所需要的交流电压。然后与三端稳压集成电路7805相连接,它的优点是短路保护,热过阻保护,使用比较方便。如图4-1所示。
图4-1 电源连接图
4.2 报警输出控制电路
此电路由BUZZER蜂鸣器、LED、滑动变阻器、电阻等元器件构成,如图4-2所示,蜂鸣器通过直流电压供电,用电磁线圈和磁铁周期性地振动发声,当检测温度不在设定范围内,就会报警。检测范围是0℃-600℃。
图4-2 报警输出控制电路
4.3 加放大器电路
我们自己设计的电路中有些输入的信号特别小,所以此时电路加放大器发挥了作用,把输入的信号通过电路加放大器放大,使输出得信号放大为以前的好多倍。所以我选择了超低失双路运算放大器OP07。它还具有噪声低的特性。OP07
8
引脚如下图4-3所示。图4-4所示的是OP07放大电路和温度传感器连接的原理图。
图4-3 OP07管脚图 4-4 传感器电路设计
4.4 数码管的显示
显示器有数码显示管和液晶显示器。由于这次设计的是个简单,且体积小的恒温箱.所以选用数码显示管。LED数码管8只发光二极管,分别记作a, b.c、d. e. f、g dp, 其中dp为小数点。如图4-5所示。
图4-5 数码显示管
4.5 按键电路
由三个BUTTON开关组成按键电路,分别为set进入参数设定,up加一指令,down减一指令。
图4-5 按键电路图
9
5软件的设计
5.1主程序设计
通过C语言编程,对数码管引脚,ad芯片LTC1864,延时控制,按键电路等进行编程,来控制数码管显示温度的变化值。通过寄存器初始化,定时器初始化,A/D数模转化采集数据,计算出当前Pt100温度传感器的温度值,判断是否在设定的温度值的上下限范围,再通过按键检测出当前设定的参数值,以实现要达到的温度效果。主程序流程如下图5-1所示。
上电开机 寄存器初始化 定时器初始化 ad采集数据 计算当前温度 大于温度检测范围 判断温度范围 报警输出 检测按键 无按键 参数设定
图5-1 主程序流程图
10
5.2 按键电路程序设计
通过编写C语言程序设定ad芯片LTC1864引脚和按键开关set,up,down三个引脚还有报警电路与AT89C52单片机端口的连接。
将ad芯片的sdo端接P1口0位端,sck端接P1口1位端,conv端接P1口3位端。将按键开关set端接P1口5位端,up端接P1口6位端,down端接P1口7位端。将报警电路接P3口7位端。
可以通过按键电路中,按键set设定数值,按set键第一下,数码管显示L表示最低温度,然后通过按键up调高温度,每按一次温度值加一,通过按键down降低温度,每按一次温度值减一;按set键第二下,数码管显示H表示最高温度,然后通过按键up调高温度,每按一次温度值加一,通过按键down降低温度,每按一次温度值减一。以此来设定温度的上下限。若超过上下限预设温度值范围,则报警灯亮且蜂鸣器发出报警声音。程序框图如下图5-2所示。
开始 按set设定数值 数码管显示L 数码管显示H 按up键 按up键 加一 加一 按down减一 结束 按down减一 图5-2 按键结构图
11
6系统测试
5.3显示程序设计
通过C语言程序设定数码管管脚与AT89C52单片机端口的连接来定义发光二极管的灯亮或者灯灭。
将发光二极管led1接P2口0位端,控制led1灯的亮灭,led2接P2口1位端,控制led2灯的亮灭,led3接P2口2位端,控制led3灯的亮灭,led4接P2口3位端,控制led4灯的亮灭,led5接P2口4位端,控制led5灯的亮灭,led6接P2口5位端,控制led6灯的亮灭。
通过按键设定,数码显示管显示六位数值,第一位为L或者H,分别表示对温度值的最低温度和最高温度进行设定。当第一位数为L时,通过按键down和up设定数值;当第一位数为H时,同样也通过按键down和up设定数值,设定好上下限范围后,按set键返回,Pt100在设定范围内则数码管显示温度值。
12
6.1Proteus与Keil
Proteus ISIS 7.8是一款通过连接原理图来代替实物的仿真与电路显示软件。我是在Window7操作系统下运用此软件,在元件库中查找所需要的元器件,连接原理图,然后调试便可代替实物进行仿真。Proteus ISIS 7.8软件是我们平时学习实验中常用的原理图仿真软件。本次设计采用Proteus ISIS7.8来仿真恒温箱硬件。
Keil Software为51系列兼容单片用机,是根据C语言程序进行编译运行调试的一款实用性很强的软件。在Keil软件中,新建一个项目文件,在新建一个文件并保存,在新建的文件中输入相应的程序,保存文件名为main.c,然后把此文件添加到项目文件中,进行运行调试,生成hex文件,保存此文件为后来的硬件仿真做铺垫。 6.2 Keil与Protuse连接
为检测恒温箱的设计效果,需将Keil 4与Proteus 7.8连接在一起仿真,第一步需在Proteus中打开仿真文件界面,然后将鼠标放在AT89C52单片机中间,双击鼠标左键,弹出对话框后点击文件夹图标后选择在Keil软件中生成的程序文件(后缀名为.hex),选择好后点击ok即可。选择好仿真程序进行仿真便可观察工作界面现象。 6.3仿真
仿真图上调节Pt100热敏电阻,可以看到数码管温度跟随显示,如图6-1是检测恒温箱内热敏电阻的温度;假设检测到的温度是203℃,如图6-2所示。
图6-1 Pt100 图6-2 显示203℃的温度
还可以通过按键电路中的开关设定温度,set按键设定,up加一,down减一。如图6-3是设定温度的开关,图6-4是设定的温度。
13
6-3 设定温度的开关 6-4 设定的温度210℃
L表示最低温度设定,因为设定的温度超过范围,所以报警器BUZ1发出报警声音且LED2灯亮,如图6-5所示。
图6-5 BUZ1和LED2
H表示最高温度设定,如图6-6所示,若超过设定范围,则报警灯和蜂鸣器上图6-5所示,发出报警信号。
图6-6 设定的温度1010℃
14
7结束语
从2019年3月,开始着手撰写我的毕业论文,论文总体分为7个章节,其中第一章是引言,最后一章是结束语,中间六章是内容的具体设计及概述。中间部分包括恒温箱概述、总体设计方案、硬件系统设计、软件系统设计、还有系统测试。
我的恒温箱是从两大部分设计的,分别包括硬件和软件组成。硬件:有电源模块、报警输出控制模块、Pt100传感器模块、还有按键电路模块等做成;软件:由数码管管脚程序、ad芯片、延时程序等,和主程序构成。通过Pt100温度传感器采集传送温度到达前置放大电路LM358放大电压信号,再通过ad芯片即A/D数模转换器LTC1864转变为需要的数字信号,通过控制按键电路中的三个按键,将信号传给AT89C52,单片机通过与数码管连接,温度数值将在数码管上显示,若超过设定数值范围,则报警电路发出报警信号。
最后通过在keil软件的编程运行下得到hex文件,然后在proteus 7.8软件中将原理图进行仿真,通过按键设定温度值,观察数码显示管,从而达到预设效果。
通过这几个月做毕业论文,我学到了很多东西,也发现了很多不足之处,这个课题的毕业论文对我还是有一定的挑战性,一开始连单片机引脚都分不清楚的情况下,更不知到做一个仿真图需要什么元器件。经过这段时间的学习,我了解了AT89C52,知道了ad芯片,学会了keil运行程序和proteus仿真,也体会到了C语言的奥妙,也明白了恒温箱在生活中是如何应运的。感觉自己专业知识相差甚远,要学的东西还有很多。以后还要勤奋学习,刻苦专研。
15
因篇幅问题不能全部显示,请点此查看更多更全内容