小型温度控制系统.doc
- 文档编号:8973102
- 上传时间:2023-05-16
- 格式:DOC
- 页数:29
- 大小:1.39MB
小型温度控制系统.doc
《小型温度控制系统.doc》由会员分享,可在线阅读,更多相关《小型温度控制系统.doc(29页珍藏版)》请在冰点文库上搜索。
电子工程设计Ⅱ实验报告110232班8组
电子工程设计报告
题目:
温度测量系统/闭环温度控制系
统设计
专业:
电子科学与技术
小组:
第8小组
姓名学号:
王丹阳11023224
覃业泰11023226
李赉龙11023228
指导教师:
高新
完成日期:
2013.12.15
中文摘要
本电子工程设计的任务是完成一套小型的温度测量与控制系统。
这个系统需要完成非电量到电量信号转换、信号处理、数据采集、数据处理、人机交互、数据通信、控制等设计工作,几乎覆盖一般电子系统的所有设计环节。
其中包含有三个阶段。
本报告为第二阶段内容,在第一阶段电源模块、变送器模块,驱动器模块的基础上,又包含:
单片机模块的设计与实现;
数模转换模块的设计与实现;
模数转换模块的设计与实现;
键盘显示模块的设计与实现。
在上述七个模块的基础上,通过软件设计完成环境温度的显示与闭环温度控制两大功能。
并通过键盘很方便的进行两大功能的自由切换和目标控制温度的设定。
本报告针对以上模块分别详细给出了设计要求、方案设计、电路设计、原理分析、电路调试、电路故障等方面的内容,以完整反映实验过程。
【关键词】单片机;温度;闭环控制
目录
中文摘要 1
1课题背景 4
1.1课题背景 4
1.2设计概述 4
2简单电路的模块化设计与实现 5
2.1单片机应用电路设计与实现 5
2.1.1基本要求 5
2.1.2设计方案 5
2.1.3单片机系统的调试 7
2.1.4调试中遇到的问题 9
2.2模/数转换电路设计与实现 9
2.2.1实验要求 9
2.2.2设计方案 9
2.2.3电路主要参数计算 10
2.2.4模数转换电路模块的调试 12
2.3显示与键盘控制电路设计与实现 13
2.3.1基本要求 13
2.3.2设计方案 13
2.3.3显示模块模块的调试 14
2.3.4键盘模块的调试 16
2.4数/模(D/A)转换电路设计与实现 17
2.4.1基本要求 17
2.4.2设计方案 17
2.4.3数模转换模块的调试 19
3整体电路的调试与功能实现 21
3.1环境温度显示功能的实现 21
3.2闭环温度控制功能的实现 22
附录 23
附录一、环境温度显示源程序 23
附录二、温度闭环控制源程序 24
附录三、参考文献 28
1课题背景
1.1课题背景
在化工、石油、冶金等生产过程的物理过程和化学反应中,温度往往是一个很重要的量,需要准确地加以控制。
因此以温度作为被控制量的反馈控制系统广泛的应用于其他领域,是用途很广的一类工业控制系统。
温度控制系统常用来保持温度恒定或者使温度按照某种规定的程序变化。
目前,温度控制系统是应用最广泛的闭环控制系统,不但走进了工厂,而且走进了千家万户,为老百姓服务。
本课程通过对闭环温度控制系统的设计与实现,逐步掌握系统的设计方法与设计流程,掌握单片机应用系统的设计与调试,并锻炼在调试中发现问题、解决问题的能力。
1.2设计概述
本报告所涉及的小型温度控制系统为教学实验系统,所以只提出功能、指标和采用元件的设计要求。
(1)温度控制范围:
0℃~100℃
(2)测温元件:
半导体温度传感器AD592
(3)温度控制执行元件:
半导体制冷片
(4)核心控制部件:
C8051F系列单片机
小型温度控制系统基本组成如图所示:
图1.1系统整体功能框图
需要说明的是本报告是在第一阶段——简单电路的模块化实现的基础上,通过更加复杂电路的设计与实现,并配合相关软件设计,共同完成温度控制任务。
一般来说一个比较复杂的电路系统,可以按照电路实现的功能或电路的类型分为若干个模块。
其中有些模块与其它模块之间的界面清晰,入口参数和出口参数明确,能够独立工作,这类电路模块可以称之为独立电路模块。
为了简化系统电路的设计工作,并且使系统便于组装、调试,这类电路模块可以单独进行设计、实现和调试、检测。
本阶段的设计任务仍然采取模块化的方法,分模块进行设计与焊接、调试。
这样可以有效降低模块设计的难度,分模块调试,也是调试更加方便,降低了系统失败的风险。
本阶段上上阶段已完成电源模块、变送器模块和驱动器模块的设计与实现的基础上。
继续完成单片机模块、AD模块、DA模块、键盘显示模块的设计与实现。
并在各模块的基础上完成软件设计,实现环境温度的采集与显示,环境温度的闭环控制两大功能,成功完成了预期目标。
2简单电路的模块化设计与实现
2.1单片机应用电路设计与实现
2.1.1基本要求
片选信号:
6个
地址信号:
4个
数据总线:
AD0~AD7
控制信号:
WR,RD
安装:
独立电路板结构
2.1.2设计方案
采用以MCS-51(C8051F023)为核心的单片机做为控制芯片。
MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。
本电路直接采用成品单片机最小系统版,最小系统版内置晶振与复位电路,可以简化设计,方便焊接,也增加了设计与实现的成功率。
是单片机模块更加可靠。
图2.1典型的51单片机的最小系统电路图
本次设计采取总线结构,把单片机的P1口作为数据总线接口,P1、P2口联合使用作为地址总线接口。
通过总线结构设计,可以有效减轻软件设计难度,也是单片机控制的多个功能部件更加协调一致的工作。
图2.2单片机总线设计框图
如图2.2所示,控制系统在数据/地址传输上采用数据/地址分离设计;在控制上采用部分译码电路。
数据/地址分离电路设计:
单片机模块P3口为数据/地址复用端口,为了得到低8位地址,采用74LS373锁存器构成典型的数据/地址分离电路。
地址译码电路设计:
采用74LS138构成部分译码电路。
具体电路图如下:
图2.3单片机系统设计电路图
为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,单片机模块安装接口如图2.4所示。
图2.4单片机模块装结构图
2.1.3单片机系统的调试
调试平台:
电子工程设计训练调试台
调试内容:
地址译码电路输出检测
适用电路:
部分地址译码电路
测试设备:
JTAG适配器
单片机应用系统板
150MHz数字双踪示波器
调试方法:
1、检查电路连线无误后,将电路板安装在测试台上
2、断开译码电路负载,运行测试程序,检查各输出引脚是否有输出,各个输出之间相对位置关系是否正确;
3、用示波器观察CS0~CS5引脚,应有图示的波形输出。
如果没有输出或者彼此关系错乱,都表明电路中存在故障。
CS0~CS5输出波形图如图2.5所示:
CS0:
CS1:
CS2:
CS3:
图2.5单片机模块调试波形图
调试程序:
#include"C8051F020.h"
#include"absacc.h"
#include"data_define.c"
#defineC1XBYTE[0x0000]
#defineC2XBYTE[0x2000]
#defineC3XBYTE[0x4000]
#defineC4XBYTE[0x6000]
#include"Init_Device.c"
voidmain(void)
{
Init_Device();
while
(1)
{C1=0;C2=0;C3=0;C4=0;}}
2.1.4调试中遇到的问题
刚开始调试的时候,我们用示波器观察CS0~CS5的波形,但是并没有得到正确的波形。
后经检查,发现老师提供的测试程序的译码地址与我们的硬件电路并不匹配,查电路设计图后,修改程序译码地址,最终得到正确波形。
完成了单片机模块的设计与调试。
表2.1常见故障及原因
故障现象
故障原因
输出全部没有变化
74LS373未接电源
输出全部没有变化
74LS373漏接+5V
输出全部没有变化
74LS373漏接地线
输出全部没有变化
未接ALE或ALE无效
输出关系混乱
AD0~AD3接错
对应引脚无输出
AD0~AD3漏接
2.2模/数转换电路设计与实现
2.2.1实验要求
输入信号范围:
0V~+5V
分辨率:
8bit
精度:
1LSB
转换时间:
<1ms
安装:
独立电路板结构
2.2.2设计方案
本次设计AD转换电路采用芯片ADC0804,芯片主要参数如下:
工作电压:
+5V,即VCC=+5V。
模拟输入电压范围:
0~+5V,即0≤Vin≤+5V。
分辨率:
8位,即分辨率为1/2=1/256,转换值介于0~255之间。
转换时间:
100us(fCK=640KHz时)。
转换误差:
±1LSB。
参考电压:
2.5V,即Vref=2.5V。
模数转换器,是将模拟电信号转变成计算机能识别的数字信号。
在模数转换中,应根据测量精度要求,考虑转换电路的精度和分辨率,并力求降低成本。
模数转换有多种方法可以实现,如采用电压/频率变换器,以频率或脉宽来计算温度,也可以采用A/D变换器或其它方法。
如采用A/D变换器,应考虑转换器输入阻抗和变送器输出阻抗对信号的衰减可能引起的测试误差,并尽量降低这一误差。
板间连接应注意保护。
根据课设要求,温度0~100的变化是用电压0~5V表示的,转成数字表示,即0~FFH。
AD电路模块电路图如图2.6所示
图2.6数模转换电路图
AD模块工作的时序图如图2.7所示。
图2.7数模转换模块工作时序图
2.2.3电路主要参数计算
(1)转换精度:
A/D转换器也采用分辨率和转换误差来描述转换精度。
分辨率是指引起输出数字量变动一个二进制码最低有效位(LSB)时,输入模拟量的最小变化量。
他反映了A/D转换器对输入模拟量微小变化的分辨能力。
在最大输入电压一定时,位数越多,量化单位越小,分辨率越高。
转换误差通常用输出误差的最大值形式给出,常用最低有效位的倍数表示,反映A/D转换器实际输出数字量和理论输出数字量之间的差异。
(2)转换时间:
转换时间是指转换控制信号(vL)到来,到A/D转换器输出端得到稳定的数字量所需要的时间。
转换时间与A/D转换器类型有关,並行比较型一般在几十个纳秒,逐次比较型在几十个微秒,双积分型在几十个毫秒数量级。
实际应用中,应根据数据位数、输入信号极性与范围、精度要求和采样频率等几个方面综合考虑A/D转换器的选用。
(3)8位数模转换电路主要技术指标:
分辨率---8位:
表示能够分辨的最小电压变化
DATA为1时的Vi表示最小电压变化
误差---±1LSB
转换时间---100微秒
为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,模数装换模块安装接口如图2.8所示。
图2.8模数转换电路安装结构图
2.2.4模数转换电路模块的调试
改变设置温度,运行A/D测试程序,检查模/数转换结果。
一般为0~5伏特之间改变,相应数为0~255.
调试源程序为:
#include"C8051F020.h"
#include"absacc.h"
#include"data_define.c"
#defineCS1XBYTE[0x2000]
#defineTIMER0x8000
#include"Init_Device.c"
voiddelay(void);
voidmain(void)
{
unsignedcharx;
Init_Device();
while
(1){CS1=x;delay();x=CS1;delay();}
}
voiddelay(void)
{
unsignedinti;
for(i=0;i } 一般故障检测方法为: 查数据线是否漏接,若A/D转换结果数值不随设置温度正比变化检查数据线是否错接;查Vin(-)是否接GND;查Vin(+)是否有变化,如无变化,逆向检查直至变送器输出。 若电源连接正常,查CLK-IN引脚是否有锯齿波信号输出,若没有输出检查相关元件连接是否正确,若频率过高(正常约为640KHz)检查元件参数是否有误。 如果元件连接及元件参数无误仍无信号输出,则ADC0804损坏。 若CLK-IN引脚有正常的锯齿波信号输出,可修改测试程序,将延时子程序或延时函数去掉,加快程序循环的时间,检查转换控制信号、和数据读取控制信号WR/RD是否正常。 若上述控制信号正常,则可能是ADC0804损坏。 2.3显示与键盘控制电路设计与实现 2.3.1基本要求 1、4位7段数码显示,前3位含小数点 2、0~9数字输入键及若干功能设置按键控制 3、独立电路板安装结构 2.3.2设计方案 单片机与LED显示器有两种接口方法。 动态显示电路方案: 电路简单,成本低,控制程序复杂,适用于显示位数较多的场合。 可使用智能芯片8279完成。 本阶段我们用74LS273设计显示数据输出电路,然后用74LS244设计键盘状态读入电路,最后设计出总的实验电路图,显示模块的电路原理图如图2.9所示。 图2.9显示模块电路原理图 矩阵键盘电路方案: 按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。 键盘电路的电路图如图2.10所示。 图2.10键盘模块电路图 键盘模块工作的时序图如图2.11所示。 图2.11键盘模块工作时序图 为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,键盘显示模块安装接口如图2.12所示。 图2.12键盘显示模块安装结构图 2.3.3显示模块模块的调试 (1)显示电路模块调试源程序: #include"C8051F020.h" #include"absacc.h" #include"data_define.c" #defineDP1XBYTE[0x0000] #defineDP2XBYTE[0x0001] #defineDP3XBYTE[0x0002] #defineDP4XBYTE[0x0003] #defineTIMER0x8000 #include"Init_Device.c" unsignedchartable[]={0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90}; voiddelay(void); voiddisplay(unsignedcharx,y); voidmain(void) { unsignedchari,num=0; Init_Device(); DP1=DP2=DP3=DP4=0xff; while (1) { for(num=0;num<10;++num) { i++; if(i<=4)display(i,num); else{i=1;display(i,num);} delay(); } } } (2)显示模块故障检测方法: 运行显示模块测试程序,如果电路工作正常,在4个数码管上应有数字0-9滚动显示。 否则,说明电路存在故障,可以根据故障现象,按照下面的方法进行检查。 全黑: 数码管未接电源,74LS237未接电源或地,74LS237触发控制信号(CK)不正常,数据线全部漏接 全亮: 74LS237的CLR引脚未接高电平 乱显示且无规律、无变化: 74LS237触发控制信号(CK)不正常 二次译码信号线上无信号: 一次译码信号线漏接或信号线上无信号,二次译码电路74LS138的E2、E3连接错误,二次译码电路74LS138漏接电源或地线,地址信号(74LS138的A、B、C输入)不正常,访问地址错误 2.3.4键盘模块的调试 运行键盘控制电路的测试程序,如果电路工作正常,在键盘上每按1个键,都会通过2位数码显示管,显示相应的行编码和列编码。 否则,说明电路存在故障。 调试源程序如下 #include"C8051F020.h" #include"absacc.h" #include"data_define.c" #defineDP1XBYTE[0x7000] #defineDP2XBYTE[0x7100] #defineDP3XBYTE[0x7200] #defineDP4XBYTE[0x7300] #defineTIMER0x8000 #include"Init_Device.c" unsigned chartable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; voiddisplay(unsignedcharx,unsignedchary) {DP3=table[x]; DP4=table[y]; } voidmain(void){ unsignedcharl_val,r_val,r_state,temp,cont,x,c; intkey; DP1=DP2=DP3=DP4=0xff; Init_Device(); while (1){ key=0x0004; for(x=1;x<5;x++,key++){ c=XBYTE[key]; if(r_state=~c&0x1f){ for(cont=1,temp=0x01;cont<6;++cont,temp=temp<<1) if((r_state&temp)! =0){ r_val=cont; l_val=x; display(l_val,r_val);}}} }} 2.4数/模(D/A)转换电路设计与实现 2.4.1基本要求 输入范围: 00H~0FFH 对应输出: -10V~+10V 误差: 1%FSR 响应时间: <1ms 电源供电: +5V,±12V 安装: 独立电路板结构 2.4.2设计方案 D/A的作用是把输入的模拟信号转化为数字信号。 有电流开关型、脉宽调制型等。 在这里,我们采用DAC0832构成D/A电路。 DAC0832是8位乘算型电流输出的典型产品,具有MCU兼容接口,使用方便,价格低,能满足设计要求。 数模转换器是整个控制系统将计算机输出的数字信号转化成模拟信号的重要部件,它的特性直接影响温度转换的精度。 其转换的精度主要由数模转换器的位数和Vref。 DAC0832工作原理及特性如图2.13所示: 图2.13模数装换工作原理 数模转换电路如图2.14所示: 图2.14数模转换模块电路图 原理分析: DAC0832的Iout1和Iout2作为输入信号输入到LM358的输入端。 由电流-电压转换电路可知: LM358的1号管脚输出为: ,此管脚作为输入信号输入到U2BLM358的反相输入端。 则U2BLM358输出端输出为: V=-Vout1*R3/R1-5*R3/R2 取电阻参数: R1=5K,R2=10K,R3=20K。 因为Vout1的取值为(-5V—0V),R3/R1=4,故-Vout1*R3/R2的范围为(0V—20V),又因为-5*R3/R2=-10V所以总输出范围: V={0—20V}-10V={-10V—10V}。 为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,数模装换模块安装接口如图2.15所示。 图2.15数模转换模块安装结构图 2.4.3数模转换模块的调试 调试平台: 电子工程设计训练调试台 调试内容: 地址译码电路输出检测 适用电路: 数/模转换电路板 测试设备: JTAG适配器 单片机应用系统板 数/模转换电路板 150MHz数字双踪示波器 (1)调试方法: 1、检查电路连线无误后,将电路板安装在测试台上 2、断开电路负载,运行测试程序,检查各节点信号是否正确。 如果有问题,按照故障诊断预案进行诊断分析,并且排除故障。 3、用示波器观察LM3587号管脚。 正确的输出波形如图2.16所示 图2.16数模转换测试波形图 (2)调试程序: #include"C8051F020.h" #include"absacc.h" #include"data_define.c" #defineCS2XBYTE[0x4000] #defineTIMER0x8000 #include"Init_Device.c" voiddelay(void); voidmain(void) {unsignedcharx; Init_Device(); while (1) {++x;CS2=x;/*delay();*/} } voiddelay(void) {inti;for(i=0;i (3)故障检查: 根据第二级运放输出信号波形判断故障原因 部分节点无信号或全部节点无信号的故障原因: 第二级运放无信号输出: 连线有误或运放损坏 二级运放皆无信号输出: 连线有误或未接电源或运放损坏或D/A电路故障 断开第一级运放输出与Rfb的连线,测量Iout1引脚有锯齿波输出为运放损坏,否则为D/A电路故障 调试中遇到的问题: 调试时由于接线问题,没能获得正确波形。 纠正接线问题后,发现输出波形正确但是幅值不对。 经细心观察,实际输出波形为正确波形幅值的0.1倍,初步判断为示波器的衰减探头打到了X10位置。 检查示波器探头,果不其然。 纠正错误后波形输出终于正常。 3整体电路的调试与功能实现 在分模块电路设计完成之后,就要进行整系统联合的功能调试,整体调试主要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 温度 控制系统