《计算机控制设计课程设计报告电阻炉温度控制系统设计.doc》由会员分享,可在线阅读,更多相关《计算机控制设计课程设计报告电阻炉温度控制系统设计.doc(28页珍藏版)》请在三一办公上搜索。
1、计算机控制设计课程设计报告盐城工学院电气学院班级B电气084姓名学号课程设计题目:电阻炉温度控制系统设计本课程设计要求设计电阻炉温度控制系统,一种基于 AT89C51单片机的电阻炉温度控制系统,阐述了系统的工作原理、硬件电路以及软件设计。设计了一种基单片机的温度控制系统,该系统以单片机AT89C51为控制核心,并采用了数字PID控制算法结合PWM脉宽调制技术对电阻炉温度进行控制,具有精度高、稳定性好的特点。详细论述了数字 PID 控制器的原理及其在温度控系统中的应用,将增量式 PID 和 PWM 脉宽调制技术相结合,开发了一套温度监控软件。 技术参数和设计任务:1、利用单片机89c51实现对传
2、感器的控制,以实现对温度的控制;2、显示电路采用LED数码管,通过显示温度对电阻炉温度进行实时监控3、本设计中由于设定温度只需温度+、温度-和确认键3个键,故采用独立式按键。4、当系统温度高于或低于设定温度时,P1.7口送出的低电平经反向器驱动蜂鸣器鸣叫报警。目录目录21本课程设计系统概述31.1 系统原理31.2 系统结构图41.3 文字说明控制方案42、硬件设计42.0单片机的I/O口扩展器件5P0口:A/D转换器ICL7109转换后的数据的输入接口5P3:P3.0(RXD)和P3.1(TXD)用于I/O口的扩展52.1A/D转换器72.2单片机最小系统82.3温度采集电路112.4控制部
3、分112.4人机接口122.5输出执行电路122.6输入电源保护电路122.7磁兼容性设计132.8电路板抗干扰措施152.9电路板热设计152.10降低噪声和电磁干扰的方法163、软件设计173.1 PID算法183.2主程序193.3温度系统控制过程233.4系统控制过程243.5程序流程图24四、小结25五、参考文献26附录:271本课程设计系统概述1.1 系统原理系统硬件部分主要由单片机主控模块、 输入通道(前向通道)、输出通道(后向通道)、人机接口模块等组成。 温度控制系统以 AT89C51 单片机为核心, 外扩键盘输入、LED等外围电路实现的。(l)系统性能要求:(a)可以人为方便
4、地通过控制面板或PC机设定控制期望的温度值,系统应能自动将温控箱加热至此设定温度值并能保持,直至重新设定为另一温度值,即能实现温度的自动控制;(b)能够实现对温控箱温度的测量并且通过控制面板上的液晶显示实时的显示出来;(c)具有加热保护功能的安全性要求。如果实际测得的温控箱温度值超过了系统规定的安全温度,保护电路就会做出反应,从而对温控箱实现超温保护;(d)模块化设计,安装拆卸简单,维修方便;(e)系统可靠性高,不易出故障;(f)尽量采用典型、通用的器件,一旦损坏,易于在市场上买到同样零部件进行替换。(2)系统特点:鉴于上述系统功能要求以及智能仪表应具有的体积小、成本低、功能强、抗干扰并尽可能
5、达到更高精度的要求。本系统在硬件设计方面具有如下特点:(a)AT89C51作为核心芯片。作为与MCS一51系列兼容的单片机,无论在运算速度,还是在内部资源上均可胜任本系统的性能要求。根据温控箱(b)本设计采用Pt100铂电阻作为温度传感器,而Pt100铂电阻在大温度范围内测温时表现出的不可忽视的非线性不容忽视,因此在温度测量的过程中必须对铂电阻温度传感器的非线性进行优化,从而提高系统温度测量的精确度。本设计采用最小二乘法拟合的方法对铂电阻的非线性进行优化。为了简化系统硬件,控制量采用双向可控硅输出,这样就省去了D/A转换环节。(c)遵循了冗余原则及以软代硬的原则,并尽可能选用典型、常用、易于替
6、换的芯片和电路,为系统的开放性、标准化和模块化打下良好基础。系统扩展和配置在满足功能要求的基础上留有适当裕量,以利于扩充和修改。1.2 系统结构图单片机温度控制系统的原理框图如图1所示。图1系统框图1.3 文字说明控制方案用户通过键盘输入系统设定温度的上限值与下限值,温度信息由集温度测量和A/D转换于一体的DSl8B20温度传感器测量并转换成数字信号输入主机(单片机AT89C51),此信号经过标度转换后,一方面通过LED将温度显示出来;当测得的温度越限时,蜂鸣器和发光二极管同时报警,另一方面,将该温度值与设定的温度值进行比较,如果温度过高则控制SSR固态继电器启动降温设备,如果温度过低则控制S
7、SR固态继电器启动加温设备,如果温度在正常范围之内则继续进行温度检测。这样就可以控制输出设备,实时调节温度的变化,使其逐渐趋于给定值且达到控制的目的。2、硬件设计系统的硬件结构主要由温度检测电路、键盘与显示电路、报警电路、输出控制电路等部分组成。模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路以及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,它还取决于被控系统的响应特性。在本设计中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不是很高,所以模拟电路的优势得不到体现。另
8、外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法系统硬件部分主要由单片机主控模块、 输入通道(前向通道)、输出通道(后向通道)、人机接口模块等组成。 其硬件总体结构框图如图 1 所示。 温度控制系统以 AT89C51单片机为核心, 外扩键盘输入、LED 等外围电路实现的。图2硬件系统总体结构框图2.0单片机的I/O口扩展器件 由于单片机本身只有4个8位并行输入输出I/O接口,1个串行I/O接口,非常有限,所以当I/O口不能满足设计需求时则需要我们进行I/O口的扩展。其扩展方法为根据需要在串行口上外接1个或多个移位寄存器。由电路原理图我们可以看到此次我们单片机89S51
9、的I/O口分配如下:P0口:A/D转换器ICL7109转换后的数据的输入接口P1口:其中P1.0接+5V的直流蜂鸣器当P1.0=0时蜂鸣器蜂鸣P1.1接发光二极管LED,当P1.1=1时发光二极管发光,其和蜂鸣器结合就是我们所要实现的声光报警。P1.2接排风扇的继电器部分P1.3P1.6作为数码管显示部分的位选P1.7作为7109的片选P2口我们仅用了P2.6和P2.7作为7109的数据选通端P3:P3.0(RXD)和P3.1(TXD)用于I/O口的扩展所以很显然我们要对单片机进行扩展I/O口,下图所示为用串行口扩展I/O口的电路: RXD TXD 单片机DSADSB 74LS164CPQ0
10、Q7图2-2 I/O口扩展电路其中芯片74LS164为带清零端的串行输入/并行输出移位寄存器(8位),其管脚图和功能表如下图2-3 74LS164的管脚图表2-2 74LS164功能表 输 入 输 出CLK A B L L L L H L QA0 QB0 QH0 H H H H QAn QGn H L L QAn QGn H L L QAn QGnH=高电平 L=低电平 =任意 =电平上升在使用时将A,B并接作为数据的串行输人端,CLK作为时钟端。串行输入时,先将数据在A,B端准备好,在CLK端产一上升沿,则一位数据移至最低位QA;再将下一位数据准备好后,在CLK端产生下一上升沿,则下一位数据
11、移至次低位QB,其余位顺次从低位到高位移动,这种时序符合串行器件特性,即把164当成一典型串行外设,可以用普通I/O口模拟其时序将数据移入。2.1A/D转换器 A/D转换部分电路是由A/D转换器ICL7109构成的,其主要作用是将气体传感器MQ-4所得到的模拟电压信号转换成数字量(该模拟电压信号与瓦斯气体的体积分数相对应),便于输入到单片机中进行数据处理。图2-4A/D转换电路前面我们已经分析过气体传感器MQ-4完全符合此次设计的要求,所以在这里MQ-4的作用就是将气体瓦斯的浓度转换成与之相对应的模拟电压信号。我们需要将该模拟信号转换成数字量,只有这样才能经过单片机进行处理。在这里我们经过A/
12、D转换器ICL7109将其进行转换。ICL7109为12位的模数转换器,数据可分为低8位和高4位分时传送给单片机,由我们的电路图我们可以看出工作方式选择端MODE我们直接接地了,也就是说现在转换器的工作方式为直接输出方式,在该工作方式下我们可以在片选和字节使能的控制下直接读取数据。而且工作状态输出端STATUS与单片机的INT1直接相连,这样完成一次转换便能向单片机发出一个中断信号,表明数据转换已完成,单片机此时可以接收数据。具体的数据传输过程是由7109的片选及低8位数据输出选通端(低电平有效)和高4位数据输出选通端(也是低电平有效)配合来完成,同时也兼作极性位、溢出位选通端(主要用于判断传
13、输数据的正误),我们将,分别接至单片机的P2.6和P2.7,同时将7109的片选端接至P1.7容易得知当P1.7为低(也就是说此时7109被选中可以进行数据的传输)且P2.6为低时低8位数据进行传输,而当P2.7为低时高4位数据进行传输。2.2单片机最小系统图2.5 89c51单片机单片机系统上电后,首先要对系统进行初始化,初始化程序包括内存空间的分配、初始变量的设置、设定堆栈指针等。正常初始化后开放定时器中断,外部中断和串行口中断,然后启动定时器定时。每隔一段时间对瓦斯的浓度采集一次,将采集到的模拟量浓度数据存到寄存器中,当系统在取数据进行显示的过程中要产生中断,调用中断处理子程序,在中断处
14、理子程序中进行数据转换及显示浓度。主程序编好后编制各从属的程序和子程序,最后完成整个系统的软件设计。系统软件设计中要实现的功能有:用户机的单片机系统要完成定时地对瓦斯浓度的进行检测,将瓦斯浓度值的进行A/D转换,动态地显示采集到的瓦斯浓度值,声光报警。单片机最小控制系统是整个系统能够顺利工作的核心环节,是真个系统的关键所在。随着电子市场迅速发展,单片机种类繁多,在这里我选用了Atmel公司的89C51单片机, AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8
15、位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。1、 AT89C51单片机的主要特性与MCS-51 兼容 4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路
16、2、 引脚说明AT89C51器件管脚图如图八所示;个引脚说明如下:VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在F
17、LASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收
18、输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当
19、振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外
20、部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图2.6单片机最小系统2.3温度采集电路本设计选用的是数字式的温度传感器DS18B20,它具有独特的单总线接口方式,
21、将地址线、数据线、控制线复用为一根信号线,输入输出均为数字信号。这使得其与单片机接口变得十分简单,克服了模拟式传感器与微机接口时需要的AD转换器及其它复杂外围电路的缺点,由它组成的温度测控系统非常方便,而且成本低、体积小、可靠性高。DS18B2O供电电压范围为 3.05.5V。测温范围:-55125,测量分辨率为 0.0625,在-1085C 范围内,精度为0.5C。采用单根信号线,既可以传输时钟信号,又能传输数据,并且数据的传输是双向的;在温度采集的通道上省去了模数转换电路,可以直接让单片机与温度传感器的数据引脚相连,通过指令控制传感器测量温度。2.4控制部分AT89C51是整个系统的 CP
22、U, 测量的温度由DS18B20 数字温度传感器检测并直接转换成数字信号,单片机将该温度值与被控制值(设定温度值)进行比较,计算出温度偏差,根据其偏差值的大小,然后采用 PID 控制算法并计算出相应的控制输出量,最后通过 D/A 转换电路(这里采用 PWM 调功方式,相当于 D/A 转换器)控制固态继电器在控制周期内的通断占空比 (即控制电阻炉平均功率的大小),将控制输出量输出,控制加热器工作,进而达到对温度进行控制的目的。 AT89C51 还负责按键处理、液晶显示以及与上位机进行通信等工作。2.4人机接口为了能够更好的控制温度,实时显示过程温度,我们在电路中设计了友好的人机接口界面,温度设定
23、和 PID 控制参数的调节可以通过键盘输入,过程温度可以通过 LED 显示屏显示。人机对话部分包括显示、键盘和报警三部分。(1)显示部分的设计。在本设计中P0口和P2口的部分位,作为动态显示器的显示输出口。段码由P0口并行输出到4位LED显示器,位码由P2.0、P2.1 P2.2 P2.3轮流输出。(2)键盘的设计。本设计中由于设定温度只需温度+、温度-和确认键3个键,故采用独立式按键。在开机后输入设定温度值即可。(3)报警功能的实现。当系统温度高于或低于设定温度时,P1.7口送出的低电平经反向器驱动蜂鸣器鸣叫报警。2.5输出执行电路AT89C51对温度的控制是通过控制固体继电器(SSR)在低
24、温时启动加热设备,在高温时启动降温设备来调节系统温度,使之维持在正常范围。主程序主要完成对子程序的初始化,在判断初始化程序成功之后执行测温程序模块,并对温度进行显示,同时完成与设定温度的比较,形成可以控制降温设备降温、加热设备升温与停止工作三种工作状态,在超过警戒温度时还要发出声光报警2.6输入电源保护电路由于在温度控制器设计时采用 AT89C51为核心控制器件,其中包括5V、15V 两个电源,而且正常工作时对电源的稳定性要求也较高。当此供电电压低于 4.7V 时,单片机便不能正常工作且始终处于复位状态,从而导致整个系统都不能正常工作;如果供电电压过高或者输入电压极性接反时,可能会直接烧坏AT
25、89C51,甚至其它的外围电路,致使整个系统毁坏,后果不堪设想。为了解决欠电压问题,这里采用高精度军品级电源模块向温度控制器供电,以保证其能够正常工作。对于过电压和电压极性反接问题,我们采取保护整个温度控制器系统,防止误操作时损坏温控器。 此电路的工作原理为:D1 为二极管,串接在电源输入的正端,当电源极性连接正确时,D1 导通系统正常工作;而当电源极性接反时,二极管 D1 由于承受反向电压而截止,从而切断了电源,对温度控制器起到了保护作用,解决了电源极性接反问题。D2 为 5.6V 稳压二极管,当电源电压低于 5.6V 时,稳压二极管D2 不工作,系统工作正常;当电源电压高于5.6V 时,D
26、2 反向击穿将输入电压钳制到 5.6V,以保证系统正常工作,从而提高了整个系统工作的可靠性。2.7磁兼容性设计一个良好的系统应该符合国际电磁兼容(EMC)标准,即系统应该具有一定的抗电磁干扰能力,使其能够在特定的电磁环境中正常工作,同时又能减少系统身对周围其它系统的电磁干扰。为了满足电磁兼容性的要求,在设计系统时,应该尽量遵循以下几点设计规则1采用正确的布线策略采用平行走线可以减少导线电感,但导线之间的互感和分布电容增加,如果布局允许,最好采用井字形网状布线结构,具体做法是印制板的一面横向布线,另一面纵向布线,然后在交叉孔处用金属过孔相连。 为了抑制印制板导线之间的串扰,在设计布线时应尽量避免
27、长距离的平行走线,尽可能拉开线与线之间的距离,信号线与地线及电源线尽可能不交叉。在一些对干扰十分敏感的信号线之间设置一根接地的印制线,可以有效地抑制串扰。2选择合理的导线宽度由于瞬变电流在印制线条上所产生的冲击干扰主要是由印制导线的电感成分造成因此应尽量减小印制导线的电感量。印制导线的电感量与其长度成正比,与其宽度成反比,因而短而宽的导线对抑制干扰是有利的。时钟引线、行驱动器或总线驱动器的信号线常常载有较大的瞬变电流,印制导线要尽可能地短。对于分立元件电路,印制导线宽度在 1.5mm 左右时,即可完全满足要求;对于集成电路,印制导线宽度可在 0.21.0mm 之间选择。3抑制反射干扰为了抑制出
28、现在印制电路板线条终端的反射干扰,除了特殊需要之外,应尽可能缩短印制线的长度和采用慢速电路。在必要时可以加终端匹配,即在传输线的末端对地和电源端各加接一个相同阻值的匹配电阻。根据经验,对一般速度较快的 TTL 电路,其印制线条长于 10cm 以上时就应采用终端匹配措施。匹配电阻的阻值应根据集成电路的输出驱动电流及吸收电流的最大值来决定。1地线设计印制板中的接地线应尽量加粗。因为当印制线走线长度相同时,如果接地线所用的印制线条越细其响接地电位随电流的变化增大,使印制电路板的抗噪声性能变坏。因此,在设计印制电路板时,应将接地线条加粗,使它能通过二倍于印制电路板上的允许电流。接地线构成闭环路。其原因
29、是:一块印制电路板上有很多集成电路元器件,尤其是遇到功耗大的元器件时,因受接地线粗细的限制,在接地线上产生较大的电位差,从而引起电路板抗噪声能力下降;若将接地线形成闭环路,则地线上的电位差变小,提高抗噪声能力。2电源线布置电源布线时,除了要根据电流的大小,尽量地加粗导线宽度,尤其是电路板主接地线极力加粗外,采取使电源线、地线的走向与数据传输的方向一致,有助于增强抗噪声能力。当电路板上既有高速逻辑电路,又有线性电路时,应将它们尽量分开,且二者的接地线不要相混,分别与电源端地线相连,同时要尽量加大线性电路的接地面积。3去耦电容配置在直流电源回路中,负载的变化会引起电源噪声。例如在数字电路中,当电路
30、从一个状态转换为另一种状态时,就会在电源线上产生一个很大的尖峰电流,形成瞬变的噪声电压。配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法,配置原则如下:(1) 电源输入端跨接一个 10100uF 的电解电容器,如果印制电路板的位置允许,采用 100uF 以上的电解电容器的抗干扰效果会更好;(2)对于噪声能力弱、关断时电流变化大的器件和 ROM、RAM 等存储器件,应在芯片的电源线和地线间直接接入去耦电容即可;(3) 原则上每个集成电路芯片配置 0.01uF 的陶瓷电容。如遇到印制电路板空间小而装不下时,可每 410 个芯片配置一个 110uF 钽电容器,这种器
31、件的高频阻抗特别小,在 500kHz20MHz 范围内阻抗小于 1 ,而且漏电流很小(一般在 0.5uA 以下);(4) 在焊接元器件时,应该使电容引线尽量短,特别是高频旁路电容不能带引线除了电路板和电路方面的抗干扰问题,还需要考虑印制电路板尺寸与器件的布置。印制电路板的大小要适中,过大时,印制线条长,阻抗增加,不仅抗噪声能力下降,成本也高;过小的话,则散热性又不好,同时易受邻近线条干扰。在元器件的配置方面,与其它的逻辑电路一样,应该把相互有关的元器件尽量放得靠近一些,这样做能够获得较好的抗噪声效果。例如时钟发生器、晶振和微处理器的时钟输入端都易产生噪声,应相互靠近一些。易产生噪声的器件、小电
32、流电路、大电流电路等应尽量远离计算机逻辑电路,如有可能,应另做电路板。另外,还要考虑电路板在整个系统中的放置位置,将发热大的元器件放置在上方。2.8电路板抗干扰措施印制电路板是微处理系统中电子元器件、信号线、电源线的高密度集合体,印制电路板的设计质量对抗干扰性能影响很大,所以印制电路板的设计决不单是器件、线路的简单布局安排,还必须符合抗干扰的原则。2.9电路板热设计由于电路在工作时会发热,如果设计不合理,当发热量过大时,会引起电路中某些温度漂移大的器件输出产生很大的误差,从而影响整个系统的正常工作和精度。因此,下面我们讨论电路板的热设计,以提高电路工作的稳定性和可靠性。从散热的角度出发,印制电
33、路板最好是直立安装,板与板之间的距离一般应不小于 2 厘米,而且在电路板上布局元器件时应注意以下规则: 1同一块印制板上的器件应尽可能按其发热量大小及散热程度分区排列,发热量小或耐热性差的器件(如小信号晶体管、小规模集成电路、电解电容等)放在冷却气流的最上流(入口处),发热量大或耐热性好的器件(如功率晶体管、大规模集成电路等)放在冷却气流最下游。 2对温度比较敏感的器件最好安置在温度最低的区域(如设备的底部),千万不要将它放在发热器件的正上方,多个器件最好是在水平面上交错布局。 3对于采用自由对流空气冷却的设备,最好是将集成电路(或其它器件)按纵长方式排列;对于采用强制空气冷却的设备,最好是将
34、集成电路(或其它器件)按横长方式排列; 4设备内印制板的散热主要依靠空气流动,所以在设计时要研究空气流动路径,合理配置器件或印制电路板。空气流动时总是趋向于阻力小的地方流动,所以在印制电路板上配置器件时,要避免在某个区域留有较大的空域。整机中多块印制电路板的配置也应注意同样的问题。5在水平方向上,大功率器件尽量靠近印制板边沿布置,以便缩短传热路径;在垂直方向上,大功率器件尽量靠近印制板上方布置,以便减少这些器件工作时对其它器件温度的影响。2.10降低噪声和电磁干扰的方法在以微处理为核心设计电子产品时,降低系统噪声和提高系统抗干扰能力是我们必须认真考虑的问题。如果一个系统不具有一定的抑制噪声和抗
35、干扰的能力,那么此系统必然受到外界的各种干扰而不能稳定、可靠地工作,也无法达到设计时要求的性能指标。为了提高系统的抗干扰能力,在设计系统时应该尽量地遵循如下设计原则:(1) 尽量选用频率低的微处理器。外部时钟频率低的微处理器可以有效地降低噪声和提高系统抗干扰能力;(2) 时钟发生器尽量靠近用该时钟的元器件,石英晶体振荡器外壳要接地;(3) 每个集成电路应配置一个去耦电容,在电解电容边上要并联一个小的高频旁路电容;(4) I/O 驱动电路尽量靠近印制电路板边,让其尽快离开电路板。对于进入电路板的信号要进行滤波,同时用串终端电阻的方法减小信号反射;(5) 闲置不用的门电路的输入端不要悬空,不用的运
36、算放大器同相输入端接地而反向端接输出端。综上所述可知印制电路板的可靠性与实际电路、元器件的布局以及印制板的走线等因素密切相关。因此,在设计系统时应该根据实际情况合理设计印制电路板,以提高系统工作的可靠性。3、软件设计软件与硬件同样重要,硬件是系统的躯体,软件则是灵魂,当系统的硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了测控系统的性能。为了满足系统的要求,编制软件时一般要符合以下基本要求:(l)易理解性、易维护性要达到易理解和易维护等指标,在软件的设计方法中,结构化设计是最好的一种设计方法,这种设计方法是由整体到局部,然后再由局部到细节,先考虑整个系统所
37、要实现的功能,确定整体目标,然后把这个目标分成一个个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现;(2)实时性实时性是电子测量系统的普遍要求,即要求系统及时响应外部事件的发生,并及时给出处理结果。近年来,由于硬件的集成度与运算速度的提高,配合相应的软件,实时性比较容易满足设计要求;(3)准确性准确性对整个系统具有重要意义,尤其是测量系统,系统要进行一定量的运算,算法的正确性和准确性对结果有着直接的影响,因此在算法的选择、计算的精度等方面都要符合设计的要求;(4)可靠性可靠性是系统软件最重要的指标之一,作为能够稳定运行的系统,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干
38、扰出现异常时,系统还能恢复正常工作。由于整个系统软件相对比较庞大,为了便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计。即整个控制软件由许多独立的小模块组成,它们之间通过软件接口连接,遵循模块内部数据关系紧凑,模块之间数据关系松散的原则,按功能形成模块化结构。系统中软件需要完成的主要功能是: 数据采集、数值处理、PID控制算法及控制输出、相应的数值显示、 按键处理以及避免程序跑飞的程序监视等。 程序设计遵循自顶向下、模块化设计的原则,相应的程序流程图如图4所示。这个只是系统的主程序模块, 主程序主要完成初始化、 温度采集、数据处理和发送、PID子程序的调用,并将变换量按比例转换为
39、PWM 波的时间来控制固态继电器从而控制加热时间。图4系统主程序流程图3.1 PID算法温度PID控制原理是先求出实测温度与设定温度的偏差值,然后对偏差值进行比例积分与微分数值处理, 得到的控制输出信号用来控制加热,使温度控制在设定的温度范围内。温控系统采用的数字 PID 算法, 具体算法采用的是增量式 PID 算法,增量 PID 算法的优点是编程简单,数据可以递推使用,占用存储空间少,运算快,用汇编软件来实现。smith 预估器的输出为 c(k),数字 PID 控制器的输入为 ec(k)。如图 3.2 所示。图5 smith 预估器的 PID 数字控制系统通过离散化过程,可得离散的PID表达
40、式为: (1)式中:k为采样序号,k=0、1、2、3、;u(k)为第k次采样时刻的计算机输出值;e(k)为第k次采样时刻输入的偏差值;e(k-1)为第k-1次采样时刻输入的偏差值;KI=TS/TI;KD=TD/TS。可由式(1)导出提供增量的PID控制算式,根据递推原理可得: (2)用式(1)减去式(2),可得: (3)可见,控制系统的输出仅仅与最近3次的偏差有关。在确定了TS、TI、TD、KC之后,根据最近3次的偏差即可求出控制增量。3.2主程序主程序:ORG 0000HAJMP MAINORG 00013HAJMP INT1ORG 0030HMAIN: MOV SP, #60H; 设定堆栈
41、指针 CLR P1.1 MOV 40H,#07H;40H存放个位显示八段码 MOV 41H,#07H;41H存放十位显示八段码初始化时显全8 MOV 42H,#07H;42H存放百位显示八段码 MOV 43H,#07H;43H存放千位显示八段码 MOV 44H, #00H;44H47H分别存放个十百千位的设定真实值 MOV 45H, #00H; MOV 46H, #00H; MOV 47H, #00H; CLR P2.5;初始化时默认处于确定状态 SETB EA;开中断 SETB EX1;允许外中断1开中断 SETB PX0;外中断1定为高优先级 SETB IT1;边沿触发S1:MOV A,P
42、2.0 JZ A,KEY1 RETKEY1: LCALL DELAY JB P2.0, S2 ACALL K1 S2::MOV A,P2.1 JZ A,KEY2 RETKEY2: LCALL DELAY JB P2.1, S3 ACALL K2 S3:MOV A,P2.2 JZ A,KEY3 RETKEY3: LCALL DELAY JB P2.2, S4 ACALL K3S4:MOV A,P2.3 JZ A,KEY4 RETKEY4: LCALL DELAY JB P2.3, S5 ACALL K4S5:MOV A, P2.4 JZ A, KEY5 RETKEY3: LCALL DELAY
43、JB P2.4, XSH ACALL K5XSH: MOV A,40H MOV SBUF,A X1: JNB TI, X1 CLR P1.3 ACALL DELAY SETB P1.3 MOV A,41H MOV SBUF,A X2:JNB TI, X2 CLR P1.4 ACALL DELAY SETB P1.4 MOV A,42H MOV SBUF,A X3: JNB TI, X3 CLR P1.5 ACALL DELAY SETB P1.5MOV A,43H MOV SBUF,AX4: JNB TI, X4 CLR P1.6 ACALL DELAY SETB P1.6 AJMP S1数据
44、采集子程序INT1: PUSH DPH;保护现场PUSH DPLPUSH BMOV B,R0MOV R0,#50H;缓存区首地址MOV DPTR,#8000H;P2.6=0,P2.7=1MOVX A,DPTRMOV R0,AINC R0MOV DPTR,#4000H;P2.6=1,P2.7=0MOVX A,DPTRMOV R0,AMOV R0,BPOP BPOP DPLPOP DPHPOP ACCRETI动态显示子程序: DISP:LCALL HTB;将显示数据转换为BCD码 MOV SCON, #00H; 置串行口方式0 MOV R0, #50H; 显示缓冲区首地址送R0 LD: MOV DPTR, #TABLE ; 指向字形码表首地址 MOV A, R0; 取显示数据 MOVC A , A+DPTR;查表 MOV SBUF, A; 字形码送串行口 DISP1: JNB TI , DISP1