ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:200.01KB ,
资源ID:5998490      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5998490.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(恒温箱说明说.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

恒温箱说明说.docx

1、恒温箱说明说测控技术课程设计说 明 书设计题目 恒温控制系统的设计 姓 名 贺莲花1106054114米兰1106054110 陶成堂06054110张金晨1106054119班 级 测控一班 专 业 测控技术与仪器 指导教师 刘源 赵金才 董桂梅 吴海云 常若葵 完成日期 2014年9月12日 提交日期 2014年9月19日 目 录1 概述12 单片机人机接口系统的软件设计12.1系统组成12.2 基本要求23 温度测量模块的设计23.1 DS18B20介绍 23.2 DS18B20的驱动程序 44温度控制模块设计84.1光电隔离控制电路的设计842风扇PWM驱动/制冷片的控制以及程序设计9

2、5温度测量试验与分析105.1温度测量实验105.2数据处理与误差分析106温度控制试验与分析116.1升温 116.2恒温117 总结12参考文献X附录X1.概述恒温控制在工业生产过程中举足轻重,温度的控制直接影响着工业生产的产量和质量。本设计是基于AT89C51单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:温度传感器、显示、控制和报警的设计;软件包括:键盘管理程序设计、显示程序设计、控制程序设计和温度报警程序设计。编写程序结合硬件进行调试,能够实现设置和调节初始温度值,进行数码管显示,当加热到设定值后立刻报警。另外,本系统通过软件实现对按键误差、加热过冲的调整,以提高系统

3、的安全性、可靠性和稳定性。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,数码管作为显示输出,实现了对温度的实时测量与恒定控制。关键词 单片机;温度传感器;恒温;控制;报警The Design of Refrigerator Door Shell Shaping Control System Based on Siemens WINCCElectronicInformationEngineeringWANGFengAbstract: The system makes use of the single chip A

4、T89C51 as the temperature controlling center, uses numeral thermometer DS18B20 which transmits as 1-wire way as the temperature sensor, through the pressed key, the numerical code demonstrated composite of the man-machine interactive connection ,to realize set and adjust the initial temperature valu

5、e. After the system works, the digital tube will demonstrate the temperature value, when temperature arriving to the setting value, the buzzer will be work immediately. In addition, the system through the software adjusting to the pressed key error, and the excessively hutting. All of these are in o

6、rder to enhance the systems security, reliability and stability.Keywords: DS18B20;MCU;Constant temperature control; 1-wire transmission2.单片机人机接口系统的软件设计恒温控制系统是一种广泛用于工业、农业、医疗和科研项目的温度控制设备,它可以根据实际的工作需要实现升温、保温、降温等控制,从而实现物料的烘干和产品的老化等功能。本课程设计采用数字式温度传感器DS18B20和半导体制冷片构成温度测量与加/降温系统,实现温度控制的智能化和自动化,系统的基本框图如下:2.

7、1 系统组成如图1所示,系统由温度检测电路、单片机系统和温度控制电路三部分组成。其中,温度检测电路采用数字式温度传感器,温度控制电路采用场效应管驱动制冷片加热或者降温,单片机系统不仅能够完成温度信号的采集和控制信号的输出,而且还能够实时显示温度值,通过键盘实现温度值和工作方式的设定(详细内容见设计指导书)。2.2 基本要求2.1 温度测量精度:1;2.2 制冷片输出功率可调;2.3 测量温度值在数码管上显示出来;2.4 控制温度值可通过键盘设定,并在数码管上显示;3. 温度测量模块的设计3.1 DS18B20介绍美国Dallas 半导体公司的数字化温度传感器DS1820 是世界上第一片支持 一

8、线总线接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20 批量采购价格仅10 元左右。3.1.1 DS18B20的主要特征(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电;(2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯;(3)

9、DS18B20 支持多点组网功能,多个DS18B20 可以并联在唯一的三线上,实现组网多点测温;(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5)温范围55125,在-10+85时精度为0.5;(6)可编程的分辨率为912 位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;(7)在9 位分辨率时最多在93.75ms 内把温度转换为数字,12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC 校验码,具有极

10、强的抗干扰纠错能力;9.负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 3.1.2 DS18B20的内部结构与外形DS18B20 内部结构主要由四部分组成:64 位光刻ROM、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。DS18B20 的管脚排列如图1所示:图1 DS18B20 引脚排列图DS18B20 引脚定义:(1) GND为电源地;(2) DQ为数字信号输入/输出端;(3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。3.1.3DS18B20的引脚及功能介绍DS18B20的外形及TO92封装引脚排列见左图,其引脚功能描述见表1,实测温度和数字

11、输出的对应关系见表2.表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。表2 温度值分辨率配置表温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 1000000

12、8H00000 0000 0000 0000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H 3.1.4DS18B20的使用方法 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因

13、此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序,见图3图3 DS18B20的复位时序图置总线为低电平并保持至少480us,然后拉高电平,等待从端重新拉低电平作为响应,则总线复位完成。DS18B20的读时序,见图4。图4 DS18B20的读时序图对于DS

14、18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 ,见图5。图5 DS18B20的写时序图对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。

15、 DS18B20在电路中的连接,见图6。wire总线支持一主多从式结构,硬件上需外接上拉电阻。当一方完成数据通信需要释放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。图6 DS18B20测温电路3.1.5 DS18B20工作原理 DS18B20 测温原理如图2所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2 的脉冲输入。计数器1 和温度寄存器被预置在55所对应的一个基数值。计数器1 对低温度系数晶振产生的脉冲信号进行减法计

16、数,当计数器1 的预置值减到0 时,温度寄存器的值将加1,计数器1 的预置将重新被装入,计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1 的预置值。图2 DS18B20 测温原理框图3.2 DS18B20的驱动程序#include #define uchar unsigned char#define uint unsigned intsbit DS=P22; /define interfaceuint temp;

17、/ variable of temperatureuchar flag1; / sign of the result positive or negativesbit dula=P26;sbit wela=P27;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef;void delay

18、(uint count) /delay uint i; while(count) i=200; while(i0) i-; count-; void dsreset(void) /send reset and initialization command uint i; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-;bit tmpreadbit(void) /read a bit uint i; bit dat; DS=0;i+; /i+ for delay DS=1;i+;i+; dat=DS; i=8;while(i0)i-; retur

19、n (dat);uchar tmpread(void) /read a byte date uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在DAT里 return(dat);void tmpwritebyte(uchar dat) /write a byte to ds18b20 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; e

20、lse DS=0; /write 0 i=8;while(i0)i-; DS=1; i+;i+; void tmpchange(void) /DS18B20 begin change dsreset(); delay(1); tmpwritebyte(0xcc); / address all drivers on bus tmpwritebyte(0x44); / initiates a single temperature conversionuint tmp() /get the temperature float tt; uchar a,b; dsreset(); delay(1); t

21、mpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); b=tmpread(); temp=b; temp0;a-) for(b=60;b0;b-); void display(uint temp) /显示程序 uchar A1,A2,A2t,A3,ser; ser=temp/10; SBUF=ser; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10; dula=0; P0=tableA1; /显示百位 dula=1; dula=0; wela=0; P0=0x7e; wela=1; wela=0;

22、 delay(1); dula=0; P0=table1A2; /显示十位 dula=1; dula=0; wela=0; P0=0x7d; wela=1; wela=0; delay(1); P0=tableA3; /显示个位 dula=1; dula=0; P0=0x7b; wela=1; wela=0; delay(1);void main() uchar a; do tmpchange(); / delay(200);for(a=10;a0;a-) display(tmp(); while(1);4.温度控制模块设计4.1 光电隔离控制电路的设计光耦合器一般由三部分组成:光的发射、光的

23、接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。4.2 风扇PWM驱动程序/制冷片的控制以及程序设计sbit ge=P20;sbit he=P10

24、;void main() uchar a,key,i,j=0,t=1,1,s=0,s3,m,n; he=1; ge=1; do tmpchange(); display(tmp(); key = key_scan();/*当按下按键不松手时,程序会停在key_scan()子程序中;六个数码管的最右边 一个显示上次的数字,其他5个全灭,这是因为:六个数字是动态显示的,每一时刻只能有一个显示, 又由于显示程序中最后点亮的是最右边的一个,所以其显示的数字保持到下一次显示前。*/ if(key=11)j=!j; if (16 != key&j) for (i=4; i6; i+) table_buff

25、er0+i = table_buffer1+i; table_buffer5 = tablekey;/更新缓冲数组的最右边的值,即当前按下的键号。 s3=key*ts; if(key=10&j) table_buffer4=0x40; table_buffer5=0x40; s2=s2*10+s3; s=s+1; if(s=2) s=0; s2=(int)s2%10; disp(); if(s10) he=0; m=(int)(s2-s1)*s1/s*10); n=(int)(s1/s2*0.01); ge=0; for(;m-;m0); ge=1; for(;n-;n0); else if(

26、s1s2) bj=0; else he=0; ge=0; else ge=1; he=1; while(1); 5. 温度测量试验与分析5.1 温度测量实验DS18B20测量值29.431.533.636.538.740.542.544.046.7玻璃温度计值28.430.232.435.337.539.141.243.645.35.2 数据处理与误差分析(最大的引用误差)误差分别为, 1.0、1.3、1.2、1.2、1.2、1.4、1.3、1.4、1.4由误差分析可得温度计总是比DS18B20测量值要低,因此可以知道DS18B20要比温度计要灵敏且反应箱子内的温度及时,并且随着温度的升高,误差越来越大。6. 温度控制试验与分析6.1 升温 温度测量数值表序号123456789系统测量值29.333.235.437.639.541.743.644.345.2时间1min2min

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1