- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
恒温箱自动控制系统设计报告_精品
恒温箱自动控制系统设计
【摘 要】
本组设计的恒温箱自动控制系统主要由中央处理器、温度传感器、半导体制冷器、键盘、显示、声光报警等部分组成。处理器采用AVR Mega128单片机,温度传感器采用DS18B20,利用半导体制冷片一面制冷一面发热的工作特性进行升降温,用LCD12864作为显示输出。温度传感器检测到温度数据传送给单片机,单片机再将温度数据与给定值进行比较,从而发出对半导体制冷器的控制信号,使温度维系在给定值附近(偏差小于±2℃),同时单片机将数据送与显示器。
【关键字】
单片机 温度传感器 半导体制冷器 控制
一、设计方案比较
1.1总体设计方案
这里利用DS18B20芯片作为恒温箱的温度检测元件。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。单片机从外部的两位十进制拨码键盘进行给定值设定,读入的数据与给定值进行比较,根据偏差的大小,采用闭环控制的方法使控制量更加精准。控制结果通过液晶显示器LCD12864予以显示。
系统整体框图如图一所示:
图一、系统整体框图
1)温度检测元件的选择:
方案一:这里所设计的是测温电路,因此可以采用热敏电阻之类的器件利用其感温效应,检测并采集出随温度变化而产生的电压或电流,进行A/D转换后送给单片机进行数据处理,从而发出控制信号。此方案需要另外设计A/D转换电路,使得温测电路比较麻烦。
方案二:上网查得温度传感器DS18B20能直接读出被测温度,并可根据实际要求通过简单的编程实现9~12位的数字值读取方式,它内部有一个结构为8字节的高速暂存RAM存储器。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。与方案一比较更加简单实用,因此我们选择方案二。
显示方案选择:
方案一:温度的显示可以用数码管,但数码管只能显示简单的数字,它有电路复杂,占用资源较多,显示信息少等缺点。
方案二:LCD12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192个中文汉字,128个字符及64×256点阵显示RAM。可显示内容:128列×64行,多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。我们设计的系统需要显示更多的信息,所以考虑显示功能更好的液晶显示,要求能显示更多的数据,增强显示信息的可读性,看起来更方便。所以选择方案二。
LCD12864接线方法如图二所示:
图二、LCD12864接线图
声光报警系统
采用蜂鸣器及三色LED组成声光报警系统。制冷时LED为红色,温度达到控制要求且上下浮动在1℃以内时为绿色,升温时为黄色。温度到达给定值的同时,蜂鸣器发出报警提示音。
二、理论分析与计算
实现温度的实时显示是由计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符显示。因为 DS18B20 的转换精度为 9-12 位可选的,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以 0.0625,就是实际的十进制温度值。
计算温度子程序流程图如图三:
图三、温度子程序流程
三、系统硬件电路设计
首先确定系统总体结构,再逐个设计所需电路。
10×10(mm)恒温室,为是室内温度与外界隔绝好,我们采用厚泡沫板做箱体,温度传感器嵌入箱内并固定在箱内中间位置;
单片机主控电路模块;
单片机最小系统接线如图四:
图四、单片机最小系统接线图
电源电路模块,设计有5V,6V,9V,12V等不同输出电压以满足各部分电压需求;
控制制冷片工作的继电器模块;
键盘输入模块,可输入二位十进制数,输入范围为5~35,超出范围时会给出错误提示;
输出显示模块;
声光报警系统,
蜂鸣器接线图如图五:
图五、蜂鸣器接线图
程序下载电路如图六示:
图六、下载电路
四、系统软件程序设计
4.1主程序
系统主程序首先对系统进行初始化,包括设置定时器、端口;开机画面显示系统程序不断循环执行显示效果:
#includeiom128v.h
#includemacros.h
#include12864.h
#includedelay.h
#include18B20.h
#includeAVR_128.h
#includekey_scan.h
#define WATERON PORTE|=0x01;
#define WATEROFF PORTE=~0x01;
#define
文档评论(0)