北工大电工实验2报告
题目:闭环温度控制系统设计与实现电子工程设计报告
专业:电子信息工程 小组:
姓名学号: 指导教师:张印春 完成日期:2016年1月1日
摘要
本电子工程设计实验的任务是完成一套小型的温度控制系统。这个系统需要完成非电量到电量信号转换、信号处理、数据采集、数据处理、人机交互、数据通信、控制等设计工作,几乎覆盖一般电子系统的所有设计环节。
本实验在课程安排上包含三个阶段。本学期一到七周已经完成了第一阶段,本报告主要针对的是第二阶段内容。在第一阶段直流稳压电源模块、变送器模块,驱动器模块的基础上,又包含:单片机模块的设计与实现、数模转换模块的设计与实现、模数转换模块的设计与实现、键盘显示模块的设计与实现。
在上述七个模块的硬件基础上,通过软件设计完成环境温度的显示与闭环温度控制两大功能,并通过键盘能很方便的进行两大功能的自由切换和目标控制温度的设定。
本报告针对以上模块分别详细给出了设计要求、方案设计、电路设计、原理分析、电路调试、电路故障等方面的内容,以完整反映实验过程。
【关键词】 单片机;温度;闭环控制
目 录
摘 要 ..................................................................................................................................................... 2 目 录 ..................................................................................................................................................... 3 一、课题背景 ............................................................................................................................................ 5 二、需求分析 ............................................................................................................................................ 5 三、单片机应用电路设计与实现
1. 设计要求 ........................................................................................................................................... 6 2. 方案设计与电路设计 .................................................................................................................... 6 3. 原理与理论计算 ............................................................................................................................. 8 4. 调试过程及方法 ............................................................................................................................. 9 5. 出现问题及解决……………………………………………………………………......9 四、模/数转换电路设计与实现
1. 设计要求 ......................................................................................................................................... 10 2. 方案设计与电路设计 .................................................................................................................. 10 3. 原理与理论计算 ............................................................................................................................ 11 4. 调试过程及方法 ........................................................................................................................... 12 5. 出现问题及解决 ........................................................................................................................... 12 五、显示与键盘控制电路设计与实现
1. 设计要求 . ....................................................................................................................................... 13 2.方案设计与电路设计 ................................................................................................................. 13 3.原理与理论计算 .......................................................................................................................... 13 4.调试过程及方法 .......................................................................................................................... 15 5.出现问题及解决 .......................................................................................................................... 15 六、数/模转换电路设计与实现
1. 设计要求 . ....................................................................................................................................... 15 2.方案设计与电路设计 ................................................................................................................. 15 3.原理与理论计算 .......................................................................................................................... 16 4.调试过程及方法 .......................................................................................................................... 17 5.出现问题及解决 .......................................................................................................................... 18 七、温度测量和控制程序设计
1.基本任务归纳 . .............................................................................................................................. 19 2.程序设计方案 . .............................................................................................................................. 19 3.程序模块设计 . .............................................................................................................................. 20 4.调试原理与方法 .......................................................................................................................... 21
5.出现问题及解决 .......................................................................................................................... 21 八、最终实现情况…………………………………………………………………22
九、心得体会 .......................................................................................................................................... 22 十、附录
一、 课题背景
目前,温度控制系统作为一种应用最广泛的闭环控制系统,不仅广泛
的应用在化工、石油、冶金等生产过程的物理过程和化学反应中,而且逐渐民用化,应用于家用的各种电器中。
单片机技术作为计算机技术的一个重要分支,广泛应用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点,因此具有非常大的应用空间。
而本实验的目的是做一种用51单片机进行温度控制的闭环系统,可以用来保持温度恒定或者使温度按照设定的温度变化。因此,具有极其广泛的应用前景。
二、 需求分析
本报告所涉及的小型温度控制系统的设计要求如下: (1)温度控制范围: (2)测温元件:
0℃~100℃
半导体温度传感器AD592
(3)温度控制执行元件: 半导体制冷片 (4)核心控制部件:
C8051F 系列单片机
小型温度控制系统基本组成如图所示:
图1. 1 系统整体功能框
三、 单片机应用电路设计与实现
1. 设计要求
片选信号: 6个 地址信号: 4个
数据总线: AD0~AD7
控制信号: WR,RD ,ALE ,INT0 安装: 独立电路板结构
2. 方案设计与电路设计
(1)MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。8051是MCS-51系列单片机早期产品之一,内建一次性可编程只读存储器 ( PROM ) ,只需要很少的外围元件即可组成最小系统。所以我们选择8051作为我们的单片机
(2)安装结构
(3)电路方案的比较、选择和确定
全部地址参与译码,产生的控制信号对应唯一地址。部分地址参与译码,产生的控制信号对应某一地址区域,而不是唯一地址。部分地址参与译码,产生的控制信号对应某一地址区域,而不是唯一地址。 三种电路方案:
1)部分地址译码、带有总线驱动电路,产生的控制信号对应某一地址区域。
2
3)直接选通、不要低8位地址和驱动电路
因为这个方案的片选信号与地址之间并不是线性关系,所以使用该方案需要熟练掌握片选信号与地址之间的关系计算。
4)电路方案的确定 通过比较,我们最后选定相对容易实现的部分地址译码,无总线驱动的方案,因为这样可以简化电路。 电路图如下:
3. 原理与理论计算
(1)74LS373 工作原理
当三态允许控制端 OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动
负载或总线。当 OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 (2)74LS138工作原理
当一个选通端(E1)为高电平,另两个选通端((/E2))和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。 (3)电路工作原理
①C8051的P3口为数据/地址复用端口,为了得到低8位地址,需要数据/地址分离电路。C8051通过A13、A14、A15三口输出信号给74LS138 译码器,经过芯片译码后输出6个片选信号,当输出相应地址时输出相应片选。译码器的E1、E2口接低,E3口接高,7、9两口制空。
②C8051接收信号后需要数据/地址分离电路,而74LS373锁存器便充当了这一功能。373从8051的D0~D7口接收到信号后将信号分离,数据信号从锁存器的Q0~Q3口输出,地址信号从锁存器的D0~D7口输出。
4. 调试过程及方法
(1)按照电路图将电路板焊接完毕,过程中需要严格检查焊接线路是否正确,避免出现错误。
(2)测试时,将电源板放到相应位置。将单片机正确插入,然后将仿真头与单片机电路连接(注意缺口标志要对应)再把仿真器连好。
(3)断开译码电路负载,运行测试程序,检查各输出引脚是否有输出, 各个输出之间相对位置关系是否正确; 正确波形如下:
5、出现问题及解决
检查各引脚输出,均不满足上图的正确波形图,检查硬件无误后,发现是示波器使用不当引起,学习示波器的使用之后再次检查,正确。
四、模/数转换电路
1. 设计要求
输入信号范围: 0V~+5V 分辨率: 8bit 精度:1LSB
转换时间:
安装:独立电路板结构
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. 1
AD 模块工作的时序图如图2.7所示。
3. 原理与理论计算 (1) 转换精度:
A/D转换器也采用分辨率和转换误差来描述转换精度。
分辨率是指引起输出数字量变动一个二进制码最低有效位(LSB )时,输入模拟量的最小变化量。他反映了A/D转换器对输入模拟量微小变化的分辨能力。在最大输入电压一定时,位数越多,量化单位越小,分辨率越高。
转换误差通常用输出误差的最大值形式给出,常用最低有效位的倍数表示,反映A/D转换器实际输出数字量和理论输出数字量之间的差异。
(2) 转换时间:
转换时间是指转换控制信号(v L )到来,到A/D转换器输出端得到稳定的数字量所需要的时间。转换时间与A/D转换器类型有关,並行比较型一般在几十
个纳秒,逐次比较型在几十个微秒,双积分型在几十个毫秒数量级。
实际应用中,应根据数据位数、输入信号极性与范围、精度要求和采样频率等几个方面综合考虑A/D转换器的选用。
(3) 8位数模转换电路主要技术指标:
分辨率 --- 8位:表示能够分辨的最小电压变化
V ref
V i ≈V ∑=Data ⨯8
2
DATA 为 1 时的 Vi 表示最小电压变化
误差 --- ±1LSB
转换时间 --- 100微秒
为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,模数装换模块安装接口如图2.8所示。
图2. 2 模数转换电路安装结构图
。
4. 调试过程及方法
改变设置温度,运行A/D测试程序,检查模/数转换结果。一般为0~5伏特之间改变,相应数为0~255.
改变设置温度,运行A/D测试程序,检查模/数转换结果。在调试台上通过旋钮不断改变温度数值
5. 出现问题及解决
由于电路比较简单,调试一切正常。 一般故障检测方法为:
查数据线是否漏接, 若A/D转换结果数值不随设置温度正比变化检查数据线是否错接;查Vin(-)是否接GND ;查 Vin(+) 是否有变化,如无变化,逆向检查直至变送器输出。
若电源连接正常,查CLK-IN 引脚是否有锯齿波信号输出,若没有输出检查相关元件连接是否正确,若频率过高(正常约为640KHz )检查元件参数是否有误。如果元件连接及元件参数无误仍无信号输出,则ADC0804损坏。
若CLK-IN 引脚有正常的锯齿波信号输出,可修改测试程序,将延时子程序或延时函数去掉,加快程序循环的时间,检查转换控制信号、和数据读取控制信号WR/RD是否正常。
若上述控制信号正常,则可能是ADC0804损坏。
五、电路显示与键盘控制电路
1设计要求:
1、4 位7 段数码显示,前 3 位含小数点 2、0 ~ 9数字输入键及若干功能设置按键控制 3、独立电路板安装结构
2. 方案设计与电路设计
单片机与LED 显示器有两种接口方法。
动态显示电路方案:电路简单,成本低,控制程序复杂,适用于显示位数较多的场合。可使用智能芯片8279完成。
本阶段我们用74LS273 设计显示数据输出电路,然后用74LS244设计键盘状态读入电路,最后设计出总的实验电路图,显示模块的电路原理图如图2.9所示。
图2. 3 显示模块电路原理图
矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。键盘电路的电路图如图2.10所示。
图2. 4 键盘模块电路图
键盘模块工作的时序图如图2.11所示。
图2. 5键盘模块工作时序图
为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,键盘显示模块安装接口如图2.12所示。
图2. 6 键盘显示模块安装结构图
3. 调试过程及方法
(1)显示电路模块调试
按照图进行电源板焊接完毕,而后再次认真查线一遍然后再开始测试。测试时,将电源板,单片机,显示电路正确连接。按正确加电顺序供电,如果一切正常可以开始进一步的测试。运行显示模块测试程序,如果电路工作正常,在4个数码管上应有数字 0-9 滚动显示。否则,说明电路存在故障。 (1) 键盘控制模块调试:
运行键盘控制电路的测试程序,如果电路工作正常,在键盘上每按 1 个键,都会通过 2 位数码显示管,显示相应的行编码和列编码。否则,说明电路存在故障。 4. 出现问题及解决
由于焊接之前就知道此电路相当复杂,错焊或者虚焊都会使检查工作变得复杂,所以我们焊接一根完毕之后,接着对它进行检查,确保每一根线都正确。但是,调试时发现有一行键盘无反应,我们初步推断漏焊了一根线,检查后发现确实如此,焊接上再次进行调试,一切正常。
六、数/模转换电路
1. 设计要求
输入范围: 00H ~ 0FFH 对应输出: -10V~+10V 误差: 1%FSR 响应时间:
2. 方案设计与电路设计
D/A的作用是把输入的模拟信号转化为数字信号。有电流开关型、脉宽调制型等。在这里,我们采用DAC0832构成D/A电路。 DAC0832是8 位乘算型电流输出的典型产品,具有MCU 兼容接口,使用方便,价格低,能满足设计要求。数模转换器是整个控制系统将计算机输出的数字信号转化成模拟信号的重要部件,它的特性直接影响温度转换的精度。其转换的精度主要由数模转换器的位数和Vref 。
DAC0832工作原理及特性如图2.13所示:
图2. 7模数装换工作原理
I I I I I
I out 1= D 0⨯8+D 1⨯7+D 2⨯6+ +D 7⨯1=8(D 0⨯20+D 1⨯21+D 2⨯22+ +D 7⨯27)22222
I V ref =⨯DATA =⨯DATA 8228⨯R
数模转换电路如图2.14所示:
图2. 8 数模转换模块电路图
3. 原理与理论计算 原理分析:
DAC0832的Iout1和Iout2作为输入信号输入到LM358的输入端。由电流-电压转换电路可知:LM358的1
号管脚输出为: V out 1 =-
V ref
8⨯DATA ,此管脚作为输2
入信号输入到U2BLM358的反相输入端。则U2BLM358输出端输出为:
V= -Vout1*R3/R1-5*R3/R2
取电阻参数:R1=5K,R2=10K,R3=20K。
因为V out1的取值为(-5V —0V ),R3/R1=4,故-V out1*R3/R2的范围为(0V —20V ), 又因为-5*R3/R2=-10V所以总输出范围:
V={0—20V}-10V={-10V—10V}。
为便于各模块协调一致的工作,电路设计统一接口模式,方便调试与查错,数模装换模块安装接口如图2.15所示。
图2. 9 数模转换模块安装结构图
4. 调试原理与方法
1、检查电路连线无误后,将电路板安装在测试台上
2、断开电路负载,运行测试程序,检查各节点信号是否正确。如果有问题,按照故障诊断预案进行诊断分析,并且排除故障。
3、用示波器观察LM3587号管脚。 正确的输出波形如图2.16所示
图2. 10 数模转换测试波形图
5. 出现问题及解决
调试时由于接线问题,没能获得正确波形。纠正接线问题后,发现输出波形
正确但是幅值不对。经细心观察,实际输出波形为正确波形幅值的0.1倍,初步判断为示波器的衰减探头打到了X10位置。检查示波器探头,果不其然。纠正错误后波形输出终于正常。
七、 温度测量和控制程序设计
1. 基本任务归纳
在分模块电路设计完成之后,就要进行整系统联合的功能调试,整体调试主要实现两个功能。分别是环境温度显示功能和闭环温度控制功能。通过整体功能的调试与实现,进一步深化对系统设计的理解,增强系统调试能力与发现问题、解决问题的能力。
设计数据采集、数据处理、数据显示程序,完成温度测量和显示工作。温度测量显示误差:PID 算法控温。
2. 程序设计方案
3. 程序模块设计
温度采集模块
数据处理模块
温度显示模块
4. 调试原理与方法
调试过程:连接电路并运行程序,将程序烧进单片机。
通过键盘切换到环境温度显示功能。观察测温系统数字显示,应跟随调试台设置温度变化并与调试台设置温度接近。若测量温度与设置温度相差过大的调试,则调整变送器。调试台设置低端温度,变送器进行零点校准,调试台设置高端温度,变送器进行满度校准。
通过键盘切换到闭环温度控制功能。通过键盘设定目标控制温度,观察实际温度时候能变化到目标控制温度。可以通过改变程序来调节控制精度。
5. 出现问题及解决
我们遇到的第一个问题就是键盘读取的问题。键盘有效键值的读取我们开始时采用了键盘测试的程序,将键盘的行列提取出来,将对应的键值存在一个二维数组中,每次进行地址扫描,将按下的键的行列取出来,对应到二维数组中,但是没有做有效键分析,常常取出的键值不正确。我们选用了另一种方案,定义I 三个一维数组,一个数组存键盘上一次的值,一个存当前的键值,另一个为键盘分析后的正确的键值,这样按键识别的准确性大大的增加,基本实现了键盘的正常读取值。
我们遇到的第二个挑战就是PID 算法的编程,依照老师所给的程序思路,我们进行了讨论,但是显示过程中,温度很难保持稳定不变,我们仔细的研究了PID 算法的核心思路,我们发现在计算PID 控制增量时,微分项并没有太大的意义,将微分项的系数置为零时,控温温度曲线的上下浮动的幅度变小了。但是我们不能将温度下降到5度,这说明积分项系数小,我们将积分项系数由0.1改为了0.2,温度下降幅度加大,但是温度没有下降到5度以下,我们又进行了参数的调整,发现当积分项系数过大时,温度曲线的震荡也越剧烈,不利于温度的稳定。我们是做了一个死循环来进行不断的PID 控温,实验时发现,我们不能进行其他温度的控温了,为解决这个问题,我们编写了一个跳出循环的标志,但按下的键值为F 时,从死循环中退出,退出控温。
八、最终实现情况
经过了九周的努力,最终我们完成了闭环温度控制系统的设计。经过刚开始的硬件焊接到后来软件的编程,以及无数个不断调试的夜晚,最终我们的验收结果还算让人满意。我们的系统能实现从5.4度到80.5度的精确控制。唯一让人遗憾的是,我们的显示部分的误差偏大(约1.2度)。不过总体来说,最终的结果还算让我们满意。
九、 心得体会
第二阶段我们一共完成了测温系统中的单片机,A/D转换,D/A转换,显示键盘电路一共四块电路板。虽然在第一阶段和以前的实验中我们积累不少的经验,没有那么手忙脚乱,但是这四块板子的难度相比第一阶段来说是更加的高,导致我们第二阶段的实验中还是遇到了一些问题。第二阶段我们主要面临的问题有以下几点。
第一点就是电路板需要焊接的线数量非常大,非常密集。这就意味着排线的难度大幅增加,同时在焊接过程中很容易出现失误。在单片机这块的焊接中,我们就出现了把芯管脚搞反,结果在插针焊接的时候错了很多,要更改起来特别困难。另外在布线的结构上我们也存在一定的问题,这就让焊接的线变得很多很乱,在测试电路的时候出现问题,查线排除故障进行的非常缓慢。另外在显示键盘电路这块板子上,一开始四个数码管只有两个亮,我们以为是数码管的问题,但更换之后问题依然存在。于是再进行电路检查,查了三四遍线路都认为没有问题这让我们觉得非常奇怪,后来在和其他组同学的讨论以后,我们发现我们的电路板上有一根输入线没连接,并且以前连接的导线还有断掉的,这些都是我们焊接时候的粗心大意造成的。
在实验中令我们最头疼就是D/A的那块电路板,由于我们对示波器不能完全掌握,在显示波形时,很长时间都查不出问题,后来在老师的帮助下,我们了解到如何正确使用示波器,这才解决了困惑我们几个小时的问题。
本学期电子工程设计课程圆满结束,在这学期我们第一次尝试去完成一个功能完善的电子系统。在这个过程中遇到了诸多的困难,但我们都顽强的客服了,我们的动手能力得到了锻炼,让我们明白纸上的电路转换为实际的系统,需要付出百倍的努力和耐心才能实现。也让我们更加敬仰在历史长河中那些为人类做出贡献的电子工程师。
最后感谢同伴的支持和张老师的耐心教导。