《计算机控制课程设计基于单片机恒温箱设计.doc》由会员分享,可在线阅读,更多相关《计算机控制课程设计基于单片机恒温箱设计.doc(14页珍藏版)》请在三一办公上搜索。
1、计算机控制技术与应用课程设计 课 题: 基于单片机恒温箱设计 专 业: 电气工程与自动化 姓 名: 来永亮 学 号; B12040524 摘要恒温箱控制系统是通过采集温度,将温度反馈给系统,与系统所设的温度进行比较,通过判断决定进行加热或制冷工作。本设计采用单片机控制整个系统,通过按键设置温度范围,由温度传感器DS18B20采集箱中空气的温度,并反馈给STC89C51单片机,与设置的温度进行比较,决定要进行加热或制冷工作。用半导体制冷片进行加热、制冷工作,通过STC89C51给出指令控制两个继电器开关,以改变电流的正负极,实现半导体的加热、制冷工作,同时在半导体制冷片上配以风扇,当半导体朝向箱
2、内的一面进行制冷工作时,风扇可将朝向箱外加热的一面的热量散开,以防影响箱内制冷效果。 【关键字】STC89C51;DS1820;半导体制冷片;恒温箱 目录第一章 绪论3第二章 系统方案设计3 2.1系统功能3 2.2系统设计方案3第三章 系统硬件设计4 3.1总体设计框图4 3.2系统主要部分设计方案论证53.2.1单片机控制模块53.2.2温度采集器件的设计方案53.2.3显示方案的设计63.2.4加热或制冷方案设计7 3.3各部分设计模块介绍83.3.1温度传感器DS18B2083.3.2显示电路LCD160293.3.3 继电器控制电流正负极原理93.3.4半导体制冷片的介绍9第四章 系
3、统软件设计10 4.1系统程序设计主流程图10 4.2 DS18B20温度采集流程图11 4.3 LCD1602显示流程图11第五章 调试与仿真12 5.1软件调试13 5.2仿真电路图14 第一章 绪论随着社会经济的进一步发展,能源、环境问题日益突出,节能、环保已成为当今社会关注的重点。在生产、生活、军用、工业探伤等领域,甚至检测疾射的学术研究和实验使用中,我们经常需要一个相对特定且稳定的温度环境。基于恒温箱的广泛使用,本作品以此为基点,设计制作小型恒温箱控制系统。本设计以单片机STC89C51为核心,对恒温箱进行控制。利用温度传感器DS18B02作为恒温箱的温度检测元件,DS18B02可以
4、直接把测量的温度值变换成单片机可读取的标准电压信号而用户无需进行任何操作。LCD显示屏可显示空气温度及通过按键所设置的温度范围。根据温度传感器DS18B20反馈给单片机STC89C51的温度与设置的温度进行比较,判断进行加热或制冷工作,同时蜂鸣器发出“嘀嘀”响声报告箱内温度在设置范围之外。单片机STC89C51给予指令控制两个继电器,以改变电流的正负极,使系统进行加热或制冷操作。当在箱内的半导体的一面进行制冷在箱外的一面进行加热时,放置在箱外半导体一面的风扇便会工作,将该面的热量散去,以防影响箱内半导体一面的制冷效果,并且在加热或制冷过程中,LCD可及时显示恒温箱内的温度进行监控。 第二章 系
5、统方案设计 2.1系统功能本设计基于温度传感器DS18B20采集箱内的温度反馈给单片机STC89C51,而单片机STC89C51判断,并给予指令控制两个继电器,以控制继电器的电流正负极,以决定半导体加热或制冷,而不管进行加热还是制冷工作,蜂鸣器都会发出“嘀嘀”的响声以报告此时箱内的温度在设置的范围之外。当采集的箱内温度低于设置的最低温度TL,则半导体朝向箱内的一面加热,朝向箱外的一面制冷;反之,当采集的箱内温度高于设置的最高温度TH,则半导体朝向箱内的一面制冷,朝向箱外的一面加热,同时朝向箱外一面上的风扇工作,将朝外一面加热的热量尽快散开,防止影响朝向箱内一面的制冷效果。由此反复工作,以使箱子
6、达到恒温的效果。 2.2系统设计方案本设计的目的在于使箱内有一个恒温环境,当温度过高时要使温度能够降低,当温度过低时要使温度能够升高。温度传感器DS18B20是“一线总线”接口,且可以直接读出被测温度,测温范围大1,因此选择DS18B20来采集温度,。半导体制冷片是用直流电流使其运转的,可以连续的工作,且既有加热和制冷两种功能2,使用两个继电器改变半导体的电流方向以实现加热(制冷)工作。显示方面则选用LCD1602,可以显示英文及数字,质量轻,耗电小,而且显示内容多3。整个系统选择由STC89C51最小系统控制,STC89C51系列单片机具有强抗干扰、高速、低功耗的功能,且指令代码完全兼容传统
7、8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择4。 第三章 系统硬件设计 3.1总体设计框图 总体设计框图 3.2系统主要部分设计方案论证本系统模块主要包括MCU处理模块,稳压模块,键盘和显示模块,温度采集模块,半导体制冷或加热模块。 3.2.1单片机控制模块本设计使用STC89C51控制整个电路,STC89C51系列是从引脚到内核都完全兼容标准8051的单片机,如图2所示,TC系列单片机,可靠性高,性价比高,选用40脚的单片机确保了I/O能够满足系统需要;具有看门狗保护功能,当系统发生故障,电路中看门狗将通过RESET 信号向CPU 做出反应,保密性能佳;只需使用MAX232
8、芯片进行电平转化,通过串口将单片机与PC机连接,通过下载助手可以容易的将程序载进单片机内部。图为STC89C51外部框图。主要特性4:与MCS-51 兼容8K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定512内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 3.2.2温度采集器件的设计方案温度采集器件使用温度传感器,温度传感器包括热电偶、热敏电阻、RTD和IC温度传感器等几种,本设计中采用DS18B20温度传感器,该温度传感器应用时不需要任何外部器件即可实现
9、测温电路,只通过一条数据线即可实现通信,精度可达到0.0625,测量温度可从-55+125,且内部设有温度上、下限告警功能5。设计如图所示: 温度采集设计图 3.2.3显示方案的设计显示方式可选择LED数码管,也可选择字符型LCD显示。本设计采用LCD1602液晶显示,LCD1602不仅质量轻,体积、功耗小,而且显示的内容丰富,可以显示英文和数字。设计如图5所示: 显示设计图 3.2.4加热或制冷方案设计 本设计采用半导体制冷片实现系统的加热和制冷。MCU通过继电器控制电流的正负极来控制制冷片的工作,通过电流方向控制从而使半导体制冷片实现切换于制冷与加热的状态。由于半导体制冷片没有任何滑动部件
10、,所以它的静音效果特别好,降温时不使用任何化学添加剂,也不产生氟利昂6。该方案选择半导体制冷片不仅环保,而且温控范围广。设计图如图6所示: 3.3各部分设计模块介绍 3.3.1温度传感器DS18B20温度传感器DS18B20是数字式温度传感器,是一种改进型的只能温度传感器,“一线总线”接口,相对于传统温度传感器精度高、稳定性好、电路简单、控制方便。能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式5。DS18B20的性能特点5:可通过数据线供电,电压范围:3.05.5V; 测温范围:-55+125;无须外部器件,独特的单线接口仅需要一个端口引脚进行通信; 多个DS
11、18B20可以并联在唯一的三线上,实现多点组网功能;零待机功耗;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625;负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的引脚图和内部结构分别如图所示: DS18B20的引脚图 DS18B20的内部结构 DS18B02内部结构由64位光刻ROM、温度传感器、非挥发的温度报警器TH和TL、配置器四个部分组成。温度的测量是:当温度转换命令执行后,经转换而获得的温度值以二字节补码形式存放在高
12、速暂存存储器的第0和第1个字节。单片机通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625/LSB形式表示。对应的温度计算:当符号位S=0时,表示测得的温度值为正值,可直接将二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变为原码,再计算十进制值。 DS18B20完成温度转换后,将测得的温度值与RAM中的TH、TL字节内容进行比较。如果TTH,或者TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根据ROM的前56位来计算CRC值,并存入DS18B20的CRC值作
13、比较,以判断主机收到的ROM数据是否正确。 3.3.2显示电路LCD1602本设计中显示部分采用的是LCD1602液晶显示模块,具有体积小,功耗低,显示内容丰富,超薄轻巧7等优点,在袖珍式仪表和低功耗应用系统中得到广泛的运用。字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。LCD1602液晶显示屏不仅可以显示两行,每行16个字符,采用单+5V电源供电,而且外围电路配置简单,价格便宜,具有很高的性价比。 LCD1602外观如图所示:RS R/W E DB0DB7 V0 Vss Vdd LEDA LEDK 4 5 6 714 3 1 2 15 16 图9 LCD1602外观图液晶显示
14、的原理是利用液晶的物理特性,通过电压对其显示的区域进行控制,有电通过的地方就会显示,而没电通过的地方则就不会显示,这样即可显示出相应的图形。LCD1602液晶模块内部的存储器存储了160个不同的点阵字符图形,而这些字符每一个都有一个固定的代码,只要将字符的代码即地址发送我们便可看到相应的点阵字符7。 3.3.3 继电器控制电流正负极原理继电器一共有五个引脚,其中一边有三只脚,中间是输出出点的公共端子,另外两个引脚是线圈引脚,即接驱动端,还有两个脚分别是常开和常闭点。将公共端子和常开或常闭引脚连接,即可控制继电器的开关8。通过控制与两个继电器连接的两个单片机引脚的高低电平即可实现电流正负极的改变
15、。 3.3.4半导体制冷片的介绍半导体制冷片也叫热电制冷片,是一种热泵,他的工作原理是用直流电源,它既可制冷又可加热,通过改变直流电流的极性来决定该半导体制冷片两面哪面加热哪面制冷,而这个结果的产生采用的就是通过热电的原理。半导体制冷片的优点是不需要任何的制冷剂,没有污染源,没有滑动部件,是一种固体片件,工作是没有噪音、振动,寿命长,安装容易。半导体制冷片虽然可以进行制冷工作,又可以进行加热工作,但是制冷效率一般不高,而制热效率比较高,一般都大于1。它的温差范围可以从-130到+90。半导体制冷片的工作原理是:当一块N型半导体材料和一块P型半导体材料联结成电偶对时,在这个电路中接通直流电流后,
16、就能产生能量的转移,电流由N型元件流向P型元件的接头吸热热量,成为冷端,由P型元件流向N 型元件的接头释放热量,成为热端。吸热和放热的大小则是通过电流的大小以及半导体材料N、P的元件对数来决定9。 半导体制冷片的特点9:a、 不需要任何制冷剂,可连续工作,没有污染源没有旋转部件,不会产生回转效应,没有滑动部件,是一种固体片件,工作时没有振动、噪音、寿命长、安装容易。b、 半导体制冷片具有两种功能,既能制冷。又能加热,制冷效率一般不高,但制热效率很高,永远大于1。因此使用一个片件就可以代替分立的加热系统和制冷系统。c、 半导体制冷片是电流换能型片件,通过输入电流的控制,可实现高精度的温度控制,再
17、加上温度检测和控制手段,很容易实现遥控、程控、计算机控制,便于组成自动控制系统。 第四章 系统软件设计 4.1系统程序设计主流程图系统程主流程图如图所示: 系统程序设计主流程图如图所示,本设计中控制模块采用STC89C51,将DS18B20所采集到的温度和按键所设置的温度送到LCD显示出来,同时判断DS18B20所采集的温度是否在设置的温度范围之内,并比较大小,给出指令以控制半导体加热或制冷工作。 4.2 DS18B20温度采集流程图DS18B20温度采集流程图如图11所示: DS18B20温度采集流程图DS18B20从测温结束到将温度转化为数字量需要一定的转化时间,所以要保证足够的延时时间以
18、保证转换结果的正确性。4.3 LCD1602显示流程图LCD1602显示流程图如图所示: 第五章 调试与仿真5.1软件调试将写好的程序进行编译,编译成功后下载至实验板上,发现未能实现预期的功能,LCD1602上显示的温度固定在85,分析可能是因为延时不够导致,检查程序延时时间是足够的。重新尝试,结果一样,将DS18B20温度传感器子程序载入单片机,LCD显示的还是一样的结果,始终保持不变的温度,温度传感器DS18B20虽然可以工作,但是可能由于某方面的原因无法正常工作。重新换一个DS18B20温度传感器发现温度可以正常显示。通过按键设置温度范围,当箱内的温度在设置的温度范围内时,蜂鸣器不会发出
19、“嘀嘀”声响,并且温度半导体不会进行工作,而当温度不在设置的温度范围内时,蜂鸣器便会发出“嘀嘀”的声响,以示警告,并且半导体进行加热和制冷工作。当箱内的温度高于设置的最高温度时,半导体箱内的一面会进行制冷,箱外的一面则进行加热工作,同时风扇也开始工作。相反当箱内的温度低于设置的最低温度时,半导体箱内的一面会进行加热工作,箱外的一面进行制冷工作,此时风扇停止工作。发现当半导体箱内的一面进行加热工作时,温度升得很慢。将半导体拿下直接用直流稳压电源,电压用12v同时将电流慢慢增加,发现半导体加热的一面温度升得很快。分析结果是因为用12v直流电源直接从插头引出的电压虽然足够达到12v但是电流太小,导致半导体加热的一面工作效率不高,温度上升得比较慢。 5.2 仿真电路 心得 本次设计是硬件与软件的相结合,让我学到了很多以前所没学到的,这次用的器件部分是以前没用过的,我翻阅了很多相关书籍,这不仅让我学习到了更多的知识,同时也让我懂得了更好的学习方法。在这以前我的软件编程一直很差,通过这次的设计,我的软件编程能力有了一定的提高。整个设计做下来,虽然碰到不少问题,但都一一解决,在检测自己所学知识的掌握情况的同时也提高了自己的分析问题能力以及解决问题的能力。