1 温湿度监测技术
1.1常用温度测量仪器
温度是实际应用中经常需要测试的参数,从钢铁制造到半导体生产,很多工艺都要依靠温度来实现,温度传感器是应用系统与现实世界之间的桥梁。本文对不同的温度传感器进行简要概述,并介绍与电路系统之间的接口。
温度测量应用非常广泛,不仅生产工艺需要温度控制,有些电子产品还需对它们自身的温度进行测量,如计算机要监控CPU的温度,马达控制器要知道功率驱动IC的温度等等,下面介绍几种常用的温度传感器。
1.1.1热敏电阻器
用来测量温度的传感器种类很多,热敏电阻器就是其中之一。许多热敏电阻具有负温度系数(NTC),也就是说温度下降时它的电阻值会升高。在所有被动式温度传感器中,热敏电阻的灵敏度(即温度每变化一度时电阻的变化)最高,但热敏电阻的电阻/
温度曲线是非线性的。
表1是一个典型的
NTC热敏电阻器性能参数,这些数据是对Vishay-Dale热敏电阻进行量测得到的,但它也代表了NTC热敏电阻的总体情况。其中电阻值以一个比率形式给出
(R/R25),该比率表示当前温度下的阻值与25℃时的阻值之比,通常同一系列的热敏电
阻器具有类似的特性和相同电阻/温度曲线。以表1中的热敏电阻系列为例,25℃时阻值为10KΩ的电阻,在0℃时电阻为28.1KΩ,60℃时电阻为4.086KΩ;与此类似,25℃时电阻为5KΩ的热敏电阻在0℃时电阻则为14.050KΩ。
图1是热敏电阻的温度
曲线,可以看到电阻/温度曲线是非线性的。虽然这里的热敏电阻数据以10℃为增量,
但有些热敏电阻可以以5℃甚至1℃为增量。如果想要知道两点之间某一温度下的阻值,可以用这个曲线来估计,也可以直接计算出电阻值,计算公式如下:
这里T指开氏绝对温度,A、B、C、D是常数,根据热敏电阻的特性而各有不同,这些参数由热敏电阻的制造商提供。
1
中国矿业大学专业课程设计
热敏电阻一般有一个误差范围,用来规定样品之间的一致性。根据使用的材料不
同,误差值通常在1%至10%之间。有些热敏电阻设计成应用时可以互换,用于不能进行现场调节的场合,例如一台仪器,用户或现场工程师只能更换热敏电阻而无法进行校准,这种热敏电阻比普通的精度要高很多,也要贵得多。
图2是利用热敏电阻测量温度的典型电路。电阻R1将热敏电阻的电压拉升到参考电
压,一般它与ADC的参考电压一致,因此如果ADC的参考电压是5V,Vref也将是5V。热敏电阻和电阻串联产生分压,其阻值变化使得节点处的电压也产生变化,该电路的精度取决于热敏电阻和电阻的误差以及参考电压的精度。
1.1.2自热问题
由于热敏电阻是一个电阻,电流流过它时会产生一定的热量,因此电路设计人员应确保拉升电阻足够大,以防止热敏电阻自热过度,否则系统测量的是热敏电阻发出的热,而不是周围环境的温度。
热敏电阻消耗的能量对温度的影响用耗散常数来表示,它指将热敏电阻温度提高比环境温度高1℃所需要的毫瓦数。耗散常数因热敏电阻的封装、管脚规格、包封材料及其它因素不同而不一样。
系统所允许的自热量及限流电阻大小由测量精度决定,测量精度为±5℃的测量系统比精度为±1℃测量系统可承受的热敏电阻自热要大。
应注意拉升电阻的阻值必须进行计算,以限定整个测量温度范围内的自热功耗。给定出电阻值以后,由于热敏电阻阻值变化,耗散功率在不同温度下也有所不同。
有时需要对热敏电阻的输入进行标定以便得到合适的温度分辨率,图3是一个将
10~40℃温度范围扩展到ADC整个0~5V输入区间的电路。运算放大器输出公式如下:
一旦热敏电阻的输入标定完成以后,就可以用图表表示出实际电阻与温度的对应情况。由于热敏电阻是非线性的,所以需要用图表表示,系统要知道对应每一个
温度ADC的值是多少,表的精度具体是以1℃为增量还是以5℃为增量要根据具体应用来定。
1.1.3累积误差
用热敏电阻测量温度时,在输入电路中要选择好传感器及其它元件,以便和所需要的精度相匹配。有些场合需要精度为1%的电阻,而有些可能需要精度为0.1%的电阻。在任何情况下都应用一张表格算出所有元件的累积误差对测量精度的影响,这些元件包括电阻、参考电压及热敏电阻本身。
如果要求精度高而又想少花一点钱,则需要在系统构建好后对它进行校准,由于线路板及热敏电阻必须在现场更换,所以一般情况下不建议这样做。在设备不能作现场更换或工程师有其它方法监控温度的情况下,也可以让软件建一张温度对应ADC变化的表格,这时需要用其它工具测量实际温度值,软件才能创建相对应的表格。对于有些必须要现场更换热敏电阻的系统,可以将要更换的元件(传感器或整个模拟前端)
2
中国矿业大学专业课程设计
在出厂前就校准好,并把校准结果保存在磁盘或其它存储介质上,当然,元件更换后软件必须要能够知道使用校准后的数据。
总的来说,热敏电阻是一种低成本温度测量方法,而且使用也很简单,下面我们介绍电阻温度探测器和热电偶温度传感器。
1.2电阻温度探测器
电阻温度探测器(RTD)实际上是一根特殊的导线,它的电阻随温度变化而变化,通常RTD材料包括铜、铂、镍及镍/铁合金。RTD元件可以是一根导线,也可以是一层薄膜,采用电镀或溅射的方法涂敷在陶瓷类材料基底上。
RTD的电阻值以0℃阻值作为标称值。0℃ 100Ω铂RTD电阻在1℃时它的阻值通常为100.39Ω,50℃时为119.4Ω,图4是RTD电阻/温度曲线与热敏电阻的电阻/温度曲线的比较。RTD的误差要比热敏电阻小,对于铂来说,误差一般在0.01%,镍一般为0.5%。除误差和电阻较小以外,RTD与热敏电阻的接口电路基本相同。
1.2.1热电偶
热电偶由两种不同金属结合而成,它受热时会产生微小的电压,电压大小取决于组成热电偶的两种金属材料,铁-康铜(J型)、铜-康铜(T型)和铬-铝(K型)热电偶是最常用的三种。
热电偶产生的电压很小,通常只有几毫伏。K型热电偶温度每变化1℃时电压变化只有大约40μV,因此测量系统要能测出4μV的电压变化测量精度才可以达到0.1℃。
由于两种不同类型的金属
结合在一起会产生电位差,所以热电偶与测量系统的连接也会产生电压。一般把连接点放在隔热块上以减小这一影响,使两个节点处以同一温度下,从而降低误差。有时候也会测量隔热块的温度,以补偿温度的影响
测量热电偶电压要求的增益一般为100到300,而热电偶撷取的噪声也会放大同样的倍数。通常采用测量放大器来放大信号,因为它可以除去热电偶连线里的共模噪声。市场上还可以买到热电偶信号调节器,如模拟器件公司的AD594/595,可用来简化硬件接口。
1.2.2固态热传感器
最简单的半导体温度传感器就是一个PN结,例如二极管或晶体管基极-发射极之间的PN结。如果一个恒定电流流过正向偏置的硅PN结,正向压降在温度每变化1℃时会降低1.8mV。很多IC利用半导体的这一特性来测量温度,包括美信的MAX1617、国内的LM335和LM74等等。半导体传感器的接口形式多样,从电压输出到串行SPI/微线接口都可以。
3
中国矿业大学专业课程设计
温度传感器种类很多,通过正确地选择软件和硬件,一定可以找到适合自己应用的传感器。
1.3常用湿度测量仪器
1.电阻式湿度计 测量原理:以季铵盐的聚合物溶液作基体,将这种功能基与树脂聚合物进行反应,可以产生具有立体三维的热固性树脂,具有较好的稳定性。相对湿度的变化可以导致阴极与阳极之间的电阻发生变化。
优缺点优点:基本上没有滞后和老化,温度系数较低,便宜,能耗小。温度范围-10℃~80℃,重复性优于0.5%RH,准确度较高,一般为±2%RH,在很窄的范围内可达±1%RH。缺点:是间接测量仪器,需定期校准,不适用于某些污染物。不适用于低湿,相对湿度低于15%RH时丧失灵敏度,但当相对湿度接近100%RH时仍具有较好的性能,但冷凝有时会损坏传感器。有些污染物对电阻式传感器影响较大,有些则对电容式传感器影响较大,因此选择传感器时主要是根据污染物的性质。
2.薄膜电容式湿度计
测量原理:是使用沉积在两个导电电极上的聚胺盐或醋酸纤维聚合物薄膜。当薄膜吸水或失水后,会改变两个电极间的介电常数。聚合物传感器的一个优点就是它们对温度的依赖性较小,即温度系数较小[14]。因此当使用温度与校准温度不同时,其误差较小。如果在极限温度下使用或对准确度要求较高,则需进行电子温度补偿。
优缺点优点:响应快,温度及湿度测量范围宽,线性好,几乎没有滞后,稳定性及重复性较好,温度系数低,成本低。缺点:间接测量仪器,需定期校准,对某些污染物敏感,不能在腐蚀性的环境下工作;尽管很低,仍具有温度依赖性。
3.冷镜式露点仪
测量原理:被测湿气进入露点测量室时掠过冷镜面,当镜面温度高于湿气的露点温度时,镜面呈干燥状态,此时光电检露装置中光源发出的光照在镜面上,几乎完全反射,由光电传感器感应到并输出光电信号,经控制回路比较、放大、驱动热电泵对镜面致冷。当镜面温度降至湿气露点温度时,镜面上开始结露(霜),光照在镜面上出现漫反射,光电传感器感应到的反射信号随之减弱,此变化经控制回路比较、放大后调节热电泵激励,使其制冷功率适当减小,最后,镜面温度保持在样气露点温度上。
优缺点优点:属基本测量,测量准确,并且仪器比较稳定无漂移,目前准确度最高的仪器可达±0.1℃。缺点:价格较高,对操作人员的要求较高并需进行维护。对污染物敏感。在-20℃~0℃范围内有时会有过冷水存在,因此要特别小心区分过冷水和霜。
4.完全吸收电解法微量水份仪
测量原理用:连续取样的方法,使气样流经一个特殊结构的电解池,其水分被作为吸湿剂的五氧化二磷层吸收,并被电解为氢气和氧气排出,而五氧化二磷得以再生。因此可通过测量水的电解电流来测量气样中的含水量。
优缺点优点:属绝对测量法,稳定,不漂移。缺点:电解池寿命有限,需要再生。高湿或低湿(<1ppmv)均会缩短其寿命。低湿时响应慢。对气体流量要求较高。不能用于某些腐蚀性气体以及能与P2O5发生反应的气体。
5.干湿球湿度计
4
中国矿业大学专业课程设计
测量原理:干湿球湿度计由两支规格完全相同的温度计组成,一支称为干球温度计,另一支为湿球温度计。当湿球周围的空气处于不饱和状态时,湿球纱布套上的水分就会不断蒸发,从而使湿球的温度下降。湿球水分蒸发的速度与其周围气体的水分含量有关,当气体湿度越低时,水分蒸发越快湿球温度亦越低,反之亦然。获得准确的干、湿球温度后,借助于湿球方程换算出湿度值[15]。
优缺点优点:当相对湿度接近100%RH时,可以得到较高的准确度。维修费用非常低。可以用于室温高于100℃的场合,是基本测量,稳定性好,简单便宜,成本低。缺点:需要某些技巧以得到准确的测量结果,并需要进行计算才能得到最终结果。要求大量的气体样品,并且气体样品有可能被湿纱布加湿。由于要不断地给湿球温度计补充水,因此体积不可能太小。
6.机械式湿度计 测量原理:毛发、肠膜、尼龙和聚酰亚胺等有机高分子材料的长度都会随着相对湿度的变化而发生变化。适用于实验室机房、仓库、厂房等室内环境温湿度的测量。
优缺点优点:便宜,对大多数污染物不敏感,不需要电源,可以做永久记录。缺点:漂移,如果在某一湿度下使用较长的时间会丧失其灵敏度,不能用于0℃以下,响应慢,运输或振动摇摆会破坏其性能。
1.4微处理技术
1.4.1微处理器简介
微处理器是可编程化的特殊集成电路。自从人类1947年发明晶体管以来,50多年间半导体技术经历了硅晶体管、集成电路、超大规模集成电路、甚大规模集成电路等几代,发展速度之快是其他产业所没有的。半导体技术对整个社会产生了广泛的影响,因此被称为“产业的种子”。中央处理器是指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微处理器一般由下列部件组成:算术逻辑单元(ALU,Arithmetic Logical Unit);累加器和通用寄存器组;程序计数器(也叫指令指标器);时序和控制逻辑部件;数据与地址锁存器/缓冲器;内部总线。
算术逻辑单元ALU主要完成算术运算和各种逻辑运算等操作。ALU是组合电路,本身无寄存操作数的功能,因而必须有保存操作数的两个寄存器:暂存器TMP和累加器AC,累加器既向ALU提供操作数,又接收ALU的运算结果。
寄存器阵列实际上相当于微处理器内部的RAM,它包括通用寄存器组和专用寄存器组两部分,通用寄存器(A,B,C,D)用来存放参加运算的数据、中间结果或地址。它们一般均可作为两个8位的寄存器来使用。处理器内部有了这些寄存器之后,就可避免频繁地访问存储器,可缩短指令长度和指令执行时间,提高机器的运行速度,也给编程带来方便。专用寄存器包括程序计数器PC、堆栈指示器SP和标志寄存器FR,它们的作用是固定的,用来存放地址或地址基值。
5
中国矿业大学专业课程设计
1.4.2单片机
1.单片机结构
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能。
单片机也被称为微控制器,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成并进复杂的而对体积要求严格的控制设备当中。如图1-1所示为单片机内部结果图。
系统时钟外部定时元件ROM复位中断电源中央处理器(CPU)RAM并行I/O接口串行I/O接口TXDRXD定时器/计数器T
图1-1 单片机内部结构图
2.单片机的工作方式
单片机的工作方式是进行系统射击的基础,也是单片机应用工作者必须熟悉的问题。通常的工作方式包括:复位方式、程序执行方式、节电方式以及EPROM的编程和校验方式等四种。
(1)复位方式
单片机在开机时都需要复位,一边中央处理器以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51的RST引脚是复位信号的输入端。复位信号是高电平有效,持续时间要有24个时钟周期以上。这时,堆栈指针SP为07H,ALE、、P0、P1、P2和P3口各引脚均为高电平,片内RAM中内容不变。
(2)程序执行方式
程序执行方式是单片机的基本工作方式,通常可以分为单步和连续两种工作方式。
6
中国矿业大学专业课程设计
a.单步执行方式
单步执行方式是指单片机在控制面板上的某个按钮控制下逐条执行用户程序中指令的方式,即按一次单步执行键就执行一条用户的方式。单步执行方式常常用于用户程序的调试。
b.连续执行方式
连续执行方式是所有单片机都需要的一种工作方式,被执行程序可以放在片内或片外ROM中由于单片机复位后PC=0000H,因此机器在加电或按钮复位后总是转到0000H处执行程序,这就可以预先在0000H处放一条转移指令,以便跳到0000H~FFFFH中的任何地方执行程序。
(3)节电方式
节电方式是一种能减少单片机功耗的工作方式,通常可以分为空闲方式和掉电方式两种,只有CHMOS型器件才有这种工作方式。CHMOS型单片机是一种低功耗器件,正常工作时消耗11~20mA电流,空闲状态时为1.7~5mA电流,掉电方式为5~50。因此CHMOS型单片机特别适用于低功耗的应用场合。 (4)编程和校验方式
这里的编程是指用特殊手段对单片机内EPROM进行写操作的过程,校验这时对刚刚写入程序代码进行读出验证的过程。因此,单片机的编程和校验方式只有在EPROM型器件才有。
3.单片机时序
单片机时序就是CPU在执行指令时所需控制信号的时间顺序。因此,微型计算机中的CPU是指上就是一个复杂的同步时序电路,这个时序电路是在时钟脉冲推动下工作的。在执行指令时,CPU首先要到程序存储器中取出需要执行指令的指令码,然后对指令码译码,并由时序部件产生一系列控制信号去完成指令的执行。这些控制信号在时间上的相互关系就是CPU时序。
(1)时钟周期
时钟周期T又称为震荡周期,由单片机片内震荡电路PSC产生,常定义为时钟脉冲频率的倒数,是时序中最小的时间单位。时钟周期尺度不是绝对的,而是一个随时钟脉冲频率变化而变化的参量。但时钟脉冲毕竟是计算机的基本工作脉冲,它控制着计算机的工作节奏,使计算机的每一步工作都统一到它的步调上来。因此,采用时钟周期作为时序中最小的时间单位是必然的。
(2)机器周期
机器周期定义为实现特定功能所需的时间,通常由若干时钟周期T构成。因此,微型计算机的机器周期常常按其功能来命名,且不同机器周期所包含的时钟周期的个数不相同。
(3)指令周期 指令周期是时序中的最大时间单位,定义为执行一条指令所需的时间。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指
7
中国矿业大学专业课程设计
令,等等。
1.5分布式检测系统
1.5.1串行通信总线标准接口与应用背景
串行通信是CPU与外界进行信息交换的一种方式,是指数据按顺序进行位传输的一种方式。串行通信有两种基本工作方式,即异步传送与同步传送。
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑“0”(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
常用的串口标准有RS-232C,RS-422,RS-485标准接口[18]。 EIA RS-232C是由美国电子工业协会EIA(Electronic Industry Association)在1969年颁布的一种串行物理接口标准。RS(Recommended Standard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232C 标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。RS-232-C串口标准目前己经在微机通信接口中广泛采用,它不仅已被内置于每一台计算机,同时也已经被内置于从微控制器到主机的多种类型的计算机以及相连接的设备。
由于RS-232存在传输距离有限等不足,于是RS-422诞生了。RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),并允许在一条平衡总线上连接最多10个接收器。当然,EIA-422也有缺陷:因为其平衡双绞线的长度与传输速率成反比,所以在100kbps速率以内,传输距离才可能达到最大值,也就是说,只有在很短的距离下才能获得最高传输速率。一般在100米长的双绞线上所能获得的最大传输速率仅为1Mbps。另外有一点必须指出,在RS-422通信中,只有一个主设备,其余为从设备,从设备之间不能进行通信,所以RS-422支持的是点对多点的双向通
8
中国矿业大学专业课程设计
信。
为扩展应用范围,在RS-422基础上制定了RS-485标准[19],增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/RS-485-A标准。由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻、最大传输距离约为1219米、最大传输速率为10Mbps等。但是,RS-485可以采用二线与四线方式,采用二线制时可实现真正的多点双向通信,而采用四线连接时,与RS-422一样只能实现点对多点通信,但它比RS-422有改进,无论四线还是二线连接方式总线上可接多达32个设备。 1.5.2 RS-485构成的分布式通信系统
分布式通信又称为“集散控制系统”。DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。DCS是计算机技术、控制技术和网络技术高度结合的产物。DCS通常采用若干个控制器(过程站)对一个生产过程中的众多控制点进行控制,各控制器间通过网络连接并可进行数据交换。操作采用计算机操作站,通过网络与控制器连接,收集生产数据,传达操作指令。因此,DCS的主要特点归结为一句话就是:分散控制集中管理。
分布式控制系统是利用计算机技术对生产过程进行集中监测、操作、管理和分散控制的一种新型控制技术。是由计算机技术、信号处理技术、测量控制技术、通讯网络技术、CRT技术、图形显示技术及人机接口技术相互渗透发展而产生的。DCS既不同于分散的仪表控制,又不同于集中式计算机控制系统,而是克服了二者的缺陷而集中了二者的优势。DCS的结构是一个分布式、分支树状结构,按系统结构进行垂直分解,它分为过程控制级和控制管理级,各级既相互独立又相互联系,每一级又可水平分解成若干子集。从功能分散看,纵向分散意味着不同级的不同功能,如实时控制、实时生产过程管理等,横向分则意味着同级设备具有类似功能。
DCS是采用标准化、模块化和系列化的设计,由过程控制级、控制管理级和生产管理级组成的一个以通讯网络为纽带的集中显示而操作管理、控制相对分散的实用系统。
它具有如下特点:
自主性:系统上各工作站是通过网络接口连接起来的,各工作站独立自主地完成自己的任务,且各站的容量可扩充,配套软件随时可组态加载,是一个能独立运行的高可靠性子系统。
协调性:实时高可靠的工业控制局部网络使整个系统信号共享,各站之间从总体功能及优化处理方面具有充分的协调性。
在线性与实时性:通过人机接口和I/O接口,对过程对象的数据进行实时采集、分析、记录、监视、操作控制,可进行系统结构、组态回路的在线修改、局部故障的在线维修。
高可靠性:高可靠性是DCS的生命力所在,从结构上采用容错设计,使得在任一个单元失效的情况下,仍然保持系统的完整性,即使全局性通信或管理失效,局部站仍能维持工作。从硬件上包括操作站、控制站、通讯链路都采用双重化配置。从软件上采用分段与模块化设计,积木式结构,采用程序卷回或指令复执的容错设计。
适应性、灵活性和可扩充性:硬件和软件采用开放式,标准化设计,系统积木式结构,具有灵活的配置可适应不同用户的需要。工厂改变生产工艺、生产流程时只需改变系统配置和控制方案,相应使用组态软件填一些表格即可实现。
9
中国矿业大学专业课程设计
友好性:DCS软件面向工业控制技术人员、工艺技术人员和生产操作人员,采用实用而简捷的人机会话系统,CRT高分辨率交互图形显示,复合窗口技术,画面丰富,纵观、控制、调整、趋势、流程图、回路一览、批量控制、计量报表、操作指导画面、菜单功能等均具有实时性。平面密封式薄膜操作键盘、触摸式屏幕、鼠标器、跟踪球等操作器更便于操作。
DCS已经历了三代。1975年Honewell公司推出的TDC2000集散控制系统是一个具有许多微处理器的分级控制系统,以分散的控制设备来适应分散的过程对象,并将它们通过数据高速公路与基于CRT的操作站相连接,互相协调,一起实施实时工业过程的控制和监测,实现了控制系统的功能分散,负荷分散从而危险性也分散。在此期间世界各国相继推出了自己的第一代DCS。第二代产品在原来产品的基础上,进一步提高了可靠性,新开发的多功能过程控制站、增强型操作站、光纤通信等更完善了DCS。其特点是采用模块化、标准化设计,数据通信向标准化迁移,板级模块化,单元结构化,使之具有更强适应性和可扩充性;控制功能更加完善,它能实现过程控制、数据采集、顺序控制和批量控制功能。第三代产品开发了高一层次的信息管理系统。其共同特点是:实现了开放式的系统通信,向上能与MAP和Ethernet接口,或者通过网间连接器与其它网络联系,构成复合管理系统;向下支持现场总线,它使得过程控制或车间的智能变送器、执行器和本地控制器之间实现可靠的实时数据通信。过程控制组态采用CAD方法,使其更直观方便,实现自整定功能。
当今DCS向综合化、开放化发展。90年代工厂自动化要求各种设备(计算机、DCS、单回路调节器、PLC等)之间的通信能力加强,以便构成大系统。开放性的结构将方便地与指挥生成管理的上位计算机进行数据交换,实现计算机集成生产系统。同时在大型DCS进一步完善和提高的同时,发展小型集散控制系统。随着电子技术的发展,结合现代控制理论,应用人工智能技术,以微处理器为基础的智能设备相继出现,如智能变送器、可编程调节器、智能PID自整定控制、智能人机接口,以至于智能DCS。总的发展趋势可体现在如下几个方面:各制造厂商都在“开放性”上下功夫,力求使自己的DCS与其他厂商的产品很容易地联网;大力发展和完善DCS的通信功能,并将生产过程控制系统与工厂管理系统联结在一起,形成管控一体的产品;高度重视系统的可靠性,在软件的设计中采用容错技术;在控制功能中,不断引进各种先进控制理论,以提高系统的控制性能,如自整定、自适应、最优、模糊控制等;在系统规模和结构上,形成由小到大的产品,以适应不同规模的需求。近年来以太网技术取得了很大的进步,包括高速以太网和以太网交换机:高速以太网极大地减少了数据传输的延迟;工业以太网交换机把控制网络分成若干个相互独立的冲突域,不同冲突域之间的节点不会因竞争线路而发生碰撞,从而提高了网络数据传输的可靠性和稳定性。因此,工业以太网代替传统的现场总线控制网络在工业控制中已成为一个技术趋势。
在这种通信系统中,作为前置(或下位)机的单片机通常有N台,用于独立地急性数据采集和控制,并把采集到的数据传送给作为后置(或上位)机的PC。PC一方面可以对接受数据进行分类、统计和处理在CRT上显示并由打印机打印成各类报表,另一方面又可以把用户输入的控制命令切换成可操作的命令信息,分送给各台前置单片机。目前,分布式通信系统已在国民经济的许多领域得到广泛应用,用于达到对生产过程和被控实体进行分散控制,以及集中调度和统一管理的目的。
若是采用RS-485通信,则单片机和计算机都需要加一个电平转换电路[20],其通信方框图如图所示。上位机对智能节点的控制方式如图2-6所示。
10
中国矿业大学专业课程设计
监测仪的主RS-485RS-485电平转换控单片机上位控制机串口芯片芯片电路(COM)图1-2 RS-485通信方框图
上位控制机RS232RS485RS485RS485RS485TTLTTLTTL检测仪1检测仪2检测仪N
图1-3 RS-485通信方式下上位机对检测仪的控制
11
中国矿业大学专业课程设计
2 基于SHT11的温湿度监测仪硬件设计
2.1电容式湿度传感器SHT11
SHT11产品是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式储存在OTP内存中,在标定的过程中使用。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。产品提供表面贴片LCC或4针单排引脚封装。特殊封装形式可根据用户需求而提供[12]
。
1.温湿度传感器STH11特性
(1)相对湿度和温度测量; (2)兼有露点;
(3)全标定输出,无需标定即可互换使用; (4)卓越的长期稳定性;
(5)两线制数字接口,无需额外部件; (6)基十请求式测量,因此低能耗; (7)表面贴片或4针引脚安装; (8)超小尺寸; (9)自动休眠; 2.SHT11内部结构
Calibration MemoryDigital2-wireInterface&CRCgenerator%RHSensor AmplificationD14bitA
图2-1 SHT11内部结构
1.SHT11工作原理
SHT11的湿度检测运用电容式结构:采用具有不同保护的“微型结构”检测电极
12
中国矿业大学专业课程设计
系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模/数转换器、校准数据存储器、标准总线等电路全部集成在一个芯片内。
SHT11的结构特点和工艺制造使其具有以下优点[13]:(1)防浸泡,即使被浸湿了,只要让其自然烘干后即可恢复正常性能,不会因为曾经被浸泡而失灵或出现超出允许范围的误差;(2)高可靠性,采用优化的集成电路,大大降低了元件失效的风险并减少受外界电子信号的干扰,且由于传感器输入的模拟信号及时转化为数字信号输出,从而比靠外围模拟电路处理后输出的模拟信号精确度高得多;(3)测量精度高,采用片内稳压电路使得测量精度不受电压不稳定影响,温度测量精度为±0.5,湿度在0%~100%RH测量范围内都能保持±5%的测量误差;(4)可任意互换同系列芯片且不需进行互换后的重新校正,方便测量系统运行维护;(5)体积仅为7.5mm×5mm×2.5mm,功耗低(2.4~5.5V宽电压供电,电流消耗:测量时为550,平均为28,休眠时为3),利用电池供电可让其长时间稳定运行;(6)反应迅速,小于4s。SHT11的众多优点使其成为各类高标准温湿度测量系统设计应用的首选。
SHT11的每一个传感器都是在极为精确的湿度室中校准的。SHT11传感器的校准系数预先存在芯片内存OTP中。经校准的相对湿度和温度传感器与一个14位的A/D转换器相连,可将转换后的数字温湿度值送给二线总线器件,从而将数字信号转换为总线串行数字信号。
2.SHT11通讯方式 (1)启动传感器
首先,选择供电电压后将传感器通电,上电速率不能低于1V/ms。通电后传感器需要11ms 进入休眠状态,在此之前不允许对传感器发送任何命令。
(2)发送命令
如图2-3所示,用一组“ 启动传输”时序,来表示数据传输的初始化。它包括:当SCK时钟高电平时DATA 翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA 翻转为高电平。
90%SCK10%90%DATA10%
图2-2“启动传输”时序图
后续命令包含三个地址位(目前只支持“000”),和五个命令位。DHT9x会以下
13
中国矿业大学专业课程设计
述方式表示已正确地接收到指令:在第8个SCK时钟的下降沿之后,将DATA 下拉为低电平(ACK位)。在第9个SCK时钟的下降沿之后,释放DATA(恢复高电平)。表2-1给出了SHT11使用时所用到的代码类型。
表2-1 SHT11的命令集
命令 预留 温度测量 湿度测量 读状态寄存器 写状态寄存器 预留 软复位,复位接口、清空状态寄存器,即清空为默认值,下一次命令前等待至少11ms 代码 0000x 00011 00101 00111 00110 0101x-1110x 11110 (3)测量时序(RH,T) 发布一组测量命令(‘00000101’表示相对湿度RH,‘00000011’表示温度T)后,控制器要等待测量结束。这个过程需要大约20/80/320ms,分别对应8/12/14bit测量。确切的时间随内部晶振速度,最多可能有-30%的变化。DHT9x通过下拉DATA至低电平并进入空闲模式,表示测量的结束。控制器在再次触发SCK时钟前,必须等待这个“数据备妥”信号来读出数据。检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。接着传输2个字节的测量数据和1个字节的CRC奇偶校验。单片机需要通过下拉DATA为低电平,以确认每个字节。所有的数据从MSB开始,右值有效(例如:对于12bit数据,从第5个SCK时钟起算作MSB;而对于8bit数据,首字节则无意义)。用CRC数据的确认位,表明通讯结束。如果不使用CRC-8校验,控制器可以在测量值LSB后,通过保持确认位ACK高电平,来中止通讯。在测量和通讯结束后,DHT9x自动转入休眠模式。
(4)通讯复位时序
如果与DHT9x通讯中断,下列信号时序可复位串口:当DATA保持高电平时,触发SCK时钟9次或更多,如图2-3所示。在下一次指令前,发送一个“传输启动”时序。这些时序只复位串口,状态寄存器内容仍然保留。
14
中国矿业大学专业课程设计
90%SCK1234-810%90%DATA10%
图2-3 通讯复位时序
温湿度监测仪硬件设计
本系统原理结构框图如图所示,主要包括数据采集与单片机处理、输出等,由数据采集和单片机组成的控制系统。其中数据采集由相应的传感器SHT11、8051单片机所组成。系统既可以独立完成各种信息的采集、预处理及存储任务,又可接受人对控制参数设置,依据具体环境进行数值设置,还能当参数过限可以报警。
SHT11键盘220V AC电源5V MCU显示器通信接口报警器
图2-4系统原理结构框图
系统中需用传感器检测的信号为:湿度检测;温度检测。这些传感器SHT11将提供给CPU进行处理。并将CPU处理好的数据由I/O口输出至显示器显示,同时可根据需要连接主机通信。
2.2MCU及周边电路
2.2.1AT89S51单片机
SAT89551单片机是一款低功耗、高性能、强抗静电,强抗干扰的8位单片机。STC89C51兼容标准MCS-51指令系统及80C51引脚结构。
(1)基本功能:
AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。(2)引脚说明:
15
中国矿业大学专业课程设计
P0 :P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1 :Pl 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,Pl接收低8位地址。
表3-1 P1引脚的特殊功能
端口引脚 P1.5 P1.6 P1.7 第二功能 MOSI(用于 ISP 编程) MISO(用于 ISP 编程) SCK(用于 ISP 编程) P2 :P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端
口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3 :P3 口是一组带有内部上拉电阻的8 位双向I/0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
表3-2 P3引脚的特殊功能 端口引脚 P3.0 第二功能 RXD(串行输入口) 16
中国矿业大学专业课程设计
P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 TXD(串行输出口) INT0(外中断 0) INT1(外中断 1) T0(定时/计数器 0 外部输入) T1(定时/计数器 1 外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。
ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。
EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 2.2.2X5045模块
X5045把四种常用的能:上电复位、看门狗定时器、电源电压监控和一块锁保护串行EEPROM存储器组成在一个封装之内。
上电复位(POR)
17
中国矿业大学专业课程设计
当系统上电时,X5045的上电复位电路使得RESER引脚保持250ms 激活状态。这样防止了微控制器在电源稳定之前的误操作,提高了系统启动的可靠性。
低电压复位(LVR)
工作过程中,低电压复位电路可以检测到供电电压。如果电压低于某一特定值, X5045激活RESET引脚,停止了微控制器的工作,防止意想不到的操作。如果微控制器工作电压太低,微处理器或外设就会失效,导致系统“锁死”或数据丢失。
看门狗定时器
上电复位(POR)和低电压复位(LVR)电路反之系统出现问题,看门狗定时器帮助系统从问题中恢复出来。计数时间到,看门狗复位系统。作为软件循环的一部分,定时器计时完成前,微处理器复位看门狗定时器。如果有软件问题,如死循环或等待外部器件,看门狗定时到,就会复位微控制器。
硬件电路:
X5045与具有手动复位的8051微控制器的连接如图所示。
图2-5 X5045与单片机接口电路
变为低 电平后,在SCK的上升沿采样从SI引脚输人的数据,在SCK的下降沿翰
出数据到SO引脚。整个工作期间,必须是低电平,WP必须是高电平。在预里的定时周期内,没有从1到0的跳变时,RST输出复位信号。
表3-3 指令说明: 指令名称 WREN WRDI RSDR WRSR READ 指令格式 00000110 00000100 0000 0101 00000001 0000A8011 操作 设置写使能锁存答(允许写操作) 复位写使能锁存器(禁止写操作) 读状态寄存器 写状态寄存器 从所选地址的存储器阵列读取致据 18
中国矿业大学专业课程设计
WRITE 0000A8010 把数据写入所选地址的存储器阵列中 发送指令或读写字节数据时,都是高位在先;
EPROM存储器地址范围为000H~1FFH,A8为0表示操作的地址范围为000H~0FFH。 A8为1表示操作的地址范围为100H~1FFH。
X5045还包括1个8位的写使能锁存器和1个8位状态寄存器。写使能锁存器在进行写操作前必须被设置。状态寄存器的各位功能如下(默认值为30H)。
表2-1 状态寄存器的各位功能
7 0 6 0 5 WD1 4 WD0 3 BL1 2 BL0 1 WEL 0 WIP WIP:写操作状态位,只读。WIP=1时,表示芯片正忙于写操作:WIP=0时,表示没有进行写操作。WEL:写使能锁存器状态位。只读。WEL=1时,表示锁存器被设置;WEL=0时,表示锁存器已复位。BL1、BL1 数据块保护位(意义如表3-5所列),可读写。WD1、WD0;看门狗定时器超时选择设定位(意义如表2-3所列),可读写。
表2-2 块地址保护范围 BL1 0 0 1 1 WD1 0 0 1 1 BL0 0 1 0 1 WD0 0 1 0 1 受保护的块地址 无 180H~1FFH 100H~1FFH 000H~1FFH 看门狗超时周期 1.4s 600ms 200ms 禁止 表2-3看门狗超时周期 设置“看门狗”定时器的目的是使“看门狗”监控系统程序,在程序跑飞或系统“死机”后能够迅速使程序回到原位,而不会影响程序的正常功能。要使“看门狗”起到监控作用而不产生非正常失效,则要综合考虑系统要求和程序的特点进行“看门狗”复位方案设计。以下事项是在设计复位监控程序时必须注意的[22]。
1.不要在局部循环中使用喂狗指令。
2.一般不在中断服务子程序中使用喂狗指令。即使使用,也要进行条件判断。因为有时程序跑飞时,中断程序仍然可以正常执行。
3.防止执行不必要的喂狗指令。“看门狗”的CS引脚是与单片机的I/0引脚相连的,在进行I/0操作或读写操作时,有可能执行了喂狗指令。如果这个指令在某个死循环中,则“看门狗”电路会失效。
4.“看门狗”的超时周期T应该根据循环程序的耗时来选择。T太短,会造成误动作;太长,则影响系统死机等待时间。
19
中国矿业大学专业课程设计
以下是清看门狗复位标志的几种应用方案:
1.程序运行中喂狗方案。把程序运行时间分段,在程序中喂狗。因该方案不能正确估计程序运行时间,可能会喂狗过频,也可能因分段不合理导致看门狗错误复位,而且程序中使用喂狗指令将会影响程序的整洁性。
2.定时器中断有条件喂狗。在主程序设定喂狗标志,在定时中断服务程序中根据喂狗标志喂狗,喂完狗后清标志。例如,设定看门狗超时时间为600ms.设定定时器定时时间为10ms,这样在看门狗的超时时间内,定时中断将进行60次喂狗标志判断。利用这种方式,只要程序中喂狗标志设置合理.就不会出现“看门狗”失效或误动作。
3.方案1和2结合使用。即使有定时器作定时喂狗保证,但考虑到各种可能意外的出现,可将方案1和2结合使用。例如,在主程序中大循环起始处喂狗,程序其它地方则设喂狗标志,会起到更好的效果。
2.3 SHT11接口
图2-6 SHT11与单片机接口电路
(1)电源引脚(VDD,GND)
DHT95的供电电压为2.4-5.5V,建议供电电压为3.3V。DHT95的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理;传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。
(2)串行时钟输入(SCK)
SCK用于微处理器与DHT95之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。
(3)串行数据(DATA)
DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(例
20
中国矿业大学专业课程设计
如:10kΩ)将信号提拉至高电平。上拉电阻通常已包含在微处理器的I/O电路中[23]。 数码管在仪器仪表中主要是显示单片机的输出数据、状态等,因而,作为外围典型器件,数码管显示是反映系统输出和操纵输入的有效器件。数码管具备数字接口,可以很方便的和单片机系统连接;数码管的体积小、输出内容的器件重量轻,并且功耗低,是一种理想的显示单片机数据在单片机系统中有着重要的作用。
1.七段数码管
七段数码管属于LED发光器件的一种。LED发光器件一般常用的有两类:数码管和点阵。八段数码管又称为8字型数码管,分为八段:A、B、C、D、E、F、G、P10根管脚,每一段有一根管脚。其中P为小数点。数码管常用的有另外两根管脚为一个数码管的公共端,两根之间相互连通。从电路上,数码管又可分为共阴和共阳两种。
2.数码管数据显示 用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示。 静态显示就是显示驱动电路具有输出锁存功能,单片机将所有要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的1/0接口,该接口用于笔划段字型代码。这样单片机只要把要显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机在发送新的字形码。
另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画段A-H同名端连在一起,而每一个显示器的公共极COM各自独立的受1/0线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM段,而这一段是由1/0控制的,由单片机决定何时显示哪一位了。
动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。
静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。本显示系统采用共阳极动态扫描显示输出。
3.显示电路的设计
如图所示,由于需要使用到四个数码管作为现行器使用,所以采用一块四位数码管当作主要的显示器。数码管的选通芯片使用74LS138译码器,译码器的前四个输出接口分别接至四位数码管的选通接口P1、P2、P3、P4上,译码器的输入端连至单片机的P2口。数码管的字形码输入由MC74HC573八位锁存器来完成,八位锁存器的输入端接至单片机的P0口,在显示数据时由单片机发送字形码至P0口,再经过锁存器到数码管,同时配合译码器的选通功能来完成某个数码管的数据显示。
21
中国矿业大学专业课程设计
图2-7 数码管接口电路
2.4.2键盘接口
键盘是若干按键的集合,是单片机的常用输入设备,操作人员可以通过键盘输入数据或命令,实现人机通信。键盘可以分为独立联接式和行列式两类,每一类又可根据对按键的译码方法分为编码键盘和非编码键盘两中类型。
编码键盘主要通过硬件电路产生被按按键的键码和一个选通脉冲,选通脉冲常用作CPU的中断请求信号,以便通知CPU以中断方式接收被按按键的键码。这种按键使用方便,但硬件电路复杂,常不被微型计算机使用。在非编码键盘中,每个按键的作用只是使相应的接点接通或断开,每个按键的键码并非由硬件电路产生,而是由相应的扫描处理程序对它扫描形成的。因此,非编码按键硬件电路极为简单,在微型计算机中得到广泛应用。
在独立联接式非编码键盘中,每个按键都是彼此独立的,均需占用CPU的一条I/O输入数据线。图为单片机对四个独立式非编码键盘的接口独立,图中每个按键均和8051的P0口中一条相连。若没有按键按下时,8051从P2口读得的引脚电平均为“1”;若某一按键被按下,则该按键所对应的端口线变为低电平。单片机定时对P2口进行行程序查询,即可发现键盘上是否有按键按下以及哪个按键被按下。
22
中国矿业大学专业课程设计
图2-8 键盘接口电路
2.4.3报警器
蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型[24]。 (1)压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
(2)电磁式蜂鸣器
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
蜂鸣器的电路图形符号蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 由于蜂鸣器的工作电流一般比较大,以至于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。如图3-6所示:
23
中国矿业大学专业课程设计
图2-9 蜂鸣器的电路接口结构
2.5通讯接口
RS-485使用一对双绞线,将其中一线定义为A,另一线定义为B,如图3-7所示。
+6vAB+2v-2vC+2vEnable
图2-10 RS-485连线定义
通常情况下,发送驱动器A,B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~-6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。
RS-485最大传输距离约为1200米,最大传输速率为l0Mbps。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1MbpsRS-485具有很强的抗共模干扰能力,允许一对双绞线上一个发送器驱动多个负载设备。
RS-485具有如下优点: (1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(2-6)V表示;逻辑“0”以两线间的电压差为-(2~6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接;
(2)RS-485的数据最高传输速率为10Mbps;
(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好;
(4)RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上
24
中国矿业大学专业课程设计
是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口;
(5)采用RS-485接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。最大电缆长度与信号速率的关系曲线是使用24AWG铜芯双绞电话电缆(线径为0151mm),线间旁路电容为52。5PF/M,终端负载电阻为100欧时所得出。(引自GB11014-89附录A)。当数据信号速率降低到90Kbit/S以下时,假定最大允许的信号损失为6dBV时,则电缆长度被限制在1200M。实际上,在实用时是完全可以取得比它大的电缆长度。当使用不同线径的电缆,则取得的最大电缆长度是不相同的。
图2-11 单片机的通讯接口电路
2.6电源
开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源。与线性电源不同的是,PWM开关电源是让功率晶体管工作在导通和关断状态。PWM开关电源更为有效的工作过程是通过“斩波”,即把输入的直流电压斩成幅值等于输入等于幅值的脉冲电压来实现的。脉冲的占空比是由开关电源的控制器来调节。一旦输入电压被斩成交流方波,其幅值就可以通过变压器来身高或降低。通过增加变压器的二次绕组就可以增加输出的电压组数。最后这些交流波形经过整流滤波后就可以得到直流输出电压。开关电源和线性电源相比,二者的成本都随着输出功率的增加而增长,但二者增长速率各异。线性电源成本在某一输出功率点上,反而高于开关电源,这一点称为成本反转点。随着电力电子技术的发展和创新,使得开关电源技术也在不断地创新,这一成本反转点日益向低输出电力端移动,这为开关电源提供了广阔的发展空间。
开关电源高频化是其发展的方向,高频化使开关电源小型化,并使开关电源进入更广泛的应用领域,特别是在高新技术领域的应用,推动了高新技术产品的小型化、
25
中国矿业大学专业课程设计
轻便化。另外开关电源的发展与应用在节约能源、节约资源及保护环境方面都具有重要的意义。
AC/DC变换是将交流变换为直流,其功率流向可以是双向的,功率流由电源流向负载的称为“整流”,功率流由负载返回电源的称为“有源逆变”。AC/DC变换器输入为50/60Hz的交流电,因必须经整流、滤波,因此体积相对较大的滤波电容器是必不可少的,同时因遇到安全标准(如UL、CCEE等)及EMC指令的限制(如IEC、、FCC、CSA),交流输入侧必须加EMC滤波及使用符合安全标准的元件,这样就限制AC/DC电源体积的小型化,另外,由于内部的高频、高压、大电流开关动作,使得解决EMC电磁兼容问题难度加大,也就对内部高密度安装电路设计提出了很高的要求,由于同样的原因,高电压、大电流开关使得电源工作损耗增大,限制了AC/DC变换器模块化的进程,因此必须采用电源系统优化设计方法才能使其工作效率达到一定的满意程度。
这里介绍的可调稳压电源可以实现从1.25V~30V连续可调,输出电流可到4A左右。她采用最常见的可调试稳压集成电路W317组成电路的核心,关于她的详细指标参数可参阅这里。下面简单介绍一下该电路的特点。
本电路中,由T2、D5、VW1、R5、R6、C10及继电器K构成自适应切换动作电路。当输出电路低于14V时,VW1因击穿电压不够而截止,无电流通过,T2截止,K不吸合,其触点K在常态位置,电路输入电流14V交流电。反之当输出电压高于14V时,VW1击穿导通,T2亦导通,继电器K吸合,28V交流电接入电路。这样可以保证输入电压与输出电压差不会大于15V,此时,W317输出电流典型值为2.2A。图中采用了两块W317供电,整个电路输出电流可在4A以上。由于两块W317参数不可能一样,电路中在W317输出端串接了小阻值电阻R3、R4,用以均分电流。
输出电压调整由RP1、RP2完成。附加晶体管T1的目的在于避免电位器RP1滑动端接触不良,使W317调整公共端对地开路,造成输出电压突然变化,损坏电源及负载。
双色发光二极管作为保险丝熔断指示器(红光)兼电源只是器(橙色光)。当电源正常时,两只发光二极管均加有正向电压,红、绿发光二极管均发光,形成橙色光。当保险丝FU2断开时,仅红色发光管加有正向电压,故此时只发红光。
以保证稳压准确。设计电路板时主电流回路应足够宽,并焊上1mm以上的铜导线或涂锡,以减少纹波电压。C6、C8尽量靠近W317的输入、输出端,并优先采用无感电容。C5如无合适容量,可用几只电容并联。R3、R4可用锰丝自制。
调试时,调整RP1、RP2应使继电器在电源输出14V左右时吸合,否则可调换稳压二极管再试。
26
中国矿业大学专业课程设计
2.7抗干扰设计
2.7.1单片机干扰的来源和后果
干扰用数学语言描述为du/dt, di/dt,雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。典型的干扰传播路径是通过导线的传导和空间的辐射。敏感器件有A/D、D/A变换器,单片机,数字IC,弱信号放大器等。
1.干扰的分类
按产生的原因分有放电噪声、高频振荡噪声、浪涌噪声。按传导方式可分为共模噪声和串模噪声。按波形可分为持续正弦波、脉冲电压、脉冲序列等。 2.干扰的耦合方式
干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。耦合方式是通过导线、空间、公共线等,主要有:
(1)直接耦合。这是最直接、最普遍的一种方式。比如干扰信号通过电源线侵人系统。对于这种形式,最有效的方法就是加入去耦电路。
(2)公共阻抗耦合。常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。
(3)电容耦合,又称电场耦合或静电耦合。是由于分布电容的存在而产生的耦合。 (4)电磁感应耦合,又称磁场耦合。是由于分布电磁感应而产生的耦合。 (5)漏电耦合。这种耦合是纯电阻性的,在绝缘不好时就会发生。 3.干扰产生的后果
干扰可造成:数据采集误差大,定时不准,系统被控对象的误操作,系统程序紊乱,被控对象状态不稳定,储存器中的有效数据发生变化。 2.7.2单片机系统硬件抗干扰常用方法 1.抑制干扰源
就是尽可能地减小干扰源的du/dt, di/dt。减小du/dt主要是通过在干扰源两端并联电容来实现。减小di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。常用措施如下:
(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。仅加续流二极管会使继电器的断开时间滞后,增加稳压二极管后继电器在单位时问内可动作更多的次数。
27
中国矿业大学专业课程设计
(2)在继电器接点两端并接火花抑制电路(一般是RC串联电路,一般R选几k到几十k,C选0.01μF ),减小电火花影响。
(3)给电机加滤波电路,注意电容、电感引线要尽量短。
(4)电路板上每个IC要并接一个0.01~0.1μF高频电容,以减小IC对电源的影响。注意高频电容的布线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。 (5)布线时避免90°折线,减少高频噪声发射。
(6)可控硅两端并接RC抑制电路,减小可控硅产生的噪声(噪声严重时可能会把可控硅击穿)。
2.切断干扰传播路径
按干扰的传播路径可分为传导干扰和辐射干扰两类。传导干扰是指通过导线传播到敏感器件的干扰高频干扰。噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。辐射干扰是指通过空间辐射传播到敏感器件的干扰。解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加屏蔽罩。切断干扰传播路径的常用措施如下:
(1)充分考虑电源对单片机的影响。许多单片机对电源噪声很敏感要给单片机电源加滤波电路或稳压器,以减小电源噪声对单片机的干扰。比如,利用磁珠和电容组成π形滤波电路,条件要求不高时也可用100Ω电阻代替磁珠。
(2)如果单片机的I/O口用来控制电机等噪声器件,在I/O口与噪声源之间应加隔离(增加π形滤波电路)。
(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
(4)电路板合理分区,如强、弱信号,数字、模拟信号尽可能把干扰源(如电机、继电器)与敏感元件(如单片机)远离。
(5)用地线把数字区与模拟区隔离。数字地与模拟地要分离,最后在一点接电源地A/D、D/A芯片布线也以此为原则。
(6)单片机和大功率器件的地线要单独接地,以减小相互干扰。大功率器件尽可能放在电路板边缘。
(7)在单片机I/O口、电源线、电路板连接线等关键地方使用抗干扰元件如磁珠、磁环、电源滤波器、屏蔽罩,可显著提高电路的抗干扰性能。
3.提高敏感器件的抗干扰性能
提高敏感器件的抗干扰性能是指敏感器件应尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。常用措施如下:
(1)布线时尽量减少回路环的面积,以降低感应噪声。
(2)布线时电源线和地线要尽量粗,以减小压降及降低耦合噪声。
(3)对于单片机闲置的I/O口,要接地或接电源。其他IC的闲置端在不改变系统逻辑的情况下接地或接电源。
(4)对单片机使用电源监控及看门狗电路,如:IMP809、IMP706、IMP813、X5043、X5045等,可大幅度提高整个电路的抗干扰性能。
(5)在速度能满足要求的前提下,尽量降低单片机的晶振和选用低速数字电路。 (6)IC器件尽量直接焊在电路板上,少用IC座。 4.其他常用抗干扰措施
(1)交流端用电感电容滤波,去掉高频低频干扰脉冲。 (2)变压器采用双隔离措施,即在变压器初级输入端串接电容,初、次级线 圈
28
中国矿业大学专业课程设计
间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印制板地,这是硬件抗干扰的关键手段。次级加低通滤波器,可吸收变压器产生的浪涌电压。 (3)采用集成式直流稳压电源,有过流、过压、过热等保护作用。 (4)I/O口采用光电、磁电、继电器隔离,同时去掉公共地。 (5)通信线用双绞线,以排除平行互感。 (6)防雷电用光纤隔离最为有效。
(7)A/D转换用隔离放大器或采用现场转换,可减少误差。 (8)外壳接大地,可保证人身安全及防外界电磁场干扰。
(9)加复位电压检测电路,防止复位不充分CPU就工作,尤其有EEPROM 的器件,复位不充分会改变EEPROM的内容。
(10)印制板工艺抗干扰。①电源线加粗,合理走线、接地,三总线分开以减少互感振荡;② CPU、RAM、ROM等主芯片,VCC和GND之间接电解电容及瓷片电容,去掉高、低频干扰信号;③独立系统结构。减少接插件与连线,提高可靠性,减少故障率;④集成块与插座接触可靠。用双簧插座,最好集成块直接焊在印制板上,防止器件接触不良故障;⑤有条件的采用四层以上印制板,中间两层为电源及地。 2.7.3单片机系统软件抗干扰方法
一般来说,采用硬件抗干扰措施,只能抑制某个频率段的干扰,由于窜入单片机系统的干扰,频谱往往很宽,单凭硬件系统抗干扰是不够的,所以再利用软件进行抗干扰。下面着重介绍程序运行混乱时使程序重入正轨的抗干扰方法。 1.系统程序失控的对策
(1)指令冗余。CPU取指令过程是光取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当“飞”到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了二字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP,这样即使乱飞程序“飞”到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
(2)拦截技术。所谓拦截,是指将乱飞的程序引同指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
①软件陷阱的设计。软件陷阱就是在PC正常运行不该到达的存储区设置一条引导指令,捕获PC并强行将其引向一个指定的地址如0000H,那里有一段专门对程序出错进行处理的程序,以此达到复位系统的目的通常在EPROM中非程序区填入以下指令作为软件陷阱: NOP NOP
LJMP 0000H
其机器码为0000020000。 ②陷阱的安排。通常在程序中未使用的EPROM空间填0000020000最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1
29
中国矿业大学专业课程设计
的中断服务程序可为如下形式: NOP NOP RETI
返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、完善用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。考虑到程序存贮器的容量,软件陷阱一般1k空间有2~3个就可以进行有效拦截。
(3)软件“看门狗”技术。若失控的程序进入“死循环”、通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现在。在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件“看门狗”可有效地解决这类问题。
在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通信的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机、也可用T2代替T1进行监视)。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中,各设一运行观测变量,假设为M_Watch、T0_Watch、T1_Watch,主程序每循环一次,M_Watch加1,同样T0、T1中断服务程序执行一次,T0_Watch、T1_Watch加1。在T0中断服务程序中通过检测T1_Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测M_Watch的变化情况判定主程序是否正常运行,在主程序中通过检测T0_Watch的变化情况判别T0是否正常工作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。
2.测控系统故障处理、自恢复程序的设计
测控系统因干扰复位或掉电后复位均属非正常复位,应进行故障检查和诊断并能给出故障的部位。
程序的执行总是从0000H开始,导致程序从0000H开始执行有四种可能:①系统开机上电复位;②软件故障复位;③看门狗超时未喂狗硬件复位;④任务正在执行中掉电后来电复位。四种情况中除①外均属非正常复位,需加以识别。
(1)硬件复位与软件复位的识别。硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后PC=0000H,SP=07H,PSW=00H等。而软件复位则对SP、SPW无影响。故对于微机测控系统,当程序正常运行时,将SP设置地址大于07H,或者将PSW的第5位用户标志位在系统正常运行时设为1。那么系统复位时只需检测PSW.5标志位或SP值便可判是否硬件复位。此外,由于硬件复位时片内RAM状态是随机的,而软件复位片内RAM则可保持复位前状态、因此可选取片内某一个或两个单元作为上电标志。设40H用来做上电标志,上电标志字为78H,若系统复位后40H单元内容不等于78H,则认为是硬件复位,否则认为是软件复位,转向出错处理。若用两个单元作上电标志,则这种判别方法的可靠性更高。
(2)开机复位与看门狗故障复位的识别。开机复位与看门狗故障复位囚同属硬件复位,所以要想予以正确识别,一般要借助非易失性RAM或者EEPROM。当系统正常运行时,设置一可掉电保护的观测单元。当系统正常运行时,在定时喂狗的中断服务
30
中国矿业大学专业课程设计
程序中使该观测单元保持正常值(设为AAH),而在主程序中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是否看门狗复位。
(3)正常开机复位与非正常开机复位的识别。识别测控系统中因意外情况如系统掉电等引起的开机复位与正常开机复位,对于过程控制系统尤为重要。如某以时间为控制标难的测控系统,完成一次测控任务需lh。在已执行测控50min的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进行测控则会造成不必要的时间消耗。因此可通过一监测单元对当前系统的运行状态、系统时间予以监控,将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在进行测控任务或正在执行某时间段,则将监测单元置为非正常关机值。系统复位后可据此单元判断系统原来的运行状态,并跳到出错处理程序中恢复系统原运行状态。 3.非正常复位后系统自恢复运行的程序设计
对顺序要求严格的一些过程控制系统,系统非正常复位与否,一般都要求从失控的那一个模块或任务恢复运行。所以测控系统要作好重要数据单元、参数的备份,如系统运行状态、系统的进程值、当前输入、输出值,当前时钟值、观测单元值等,这些数据既要定时备份,同时若有修改也应立即予以备份,并加以数据可靠性检查。在已判别出系统非正常复位的情况下,先恢复一些必要的系统数据,如显小模块的初始化、片外扩展协片的初始化等。其次再对测控系统的系统状态、运行参数包括显小界面等的恢复。之后再把复位前的任务、参数、运行时问等恢复再进入系统运行状态。 软件抗干扰常用方法还有如数字滤波、RAM数据保护与纠错等,在此不作讨论。在工程实践中通常都是硬、软件抗干扰方法并用,互相补充完善,才能取得较好的抗干扰效果。
31
中国矿业大学专业课程设计
3 监测仪软件设计
配合硬件电路,软件设计包括完成信号的数据采集、4位LED的湿度与温度数字显示、按键设定以及配合上位机将所测得数据发送等功能。据此,程序设计采用模块式结构,包括主程序、中断处理子程序、按键查询子程序、显示子程序等。每个模块都具有一定的功能,其中有的模块还包含一些子模块,既相互独立又相互联系,低级模块可以被高级模块调用。
3.1主程序
监测装置工作过程智能化的核心是单片机8051,其监控程序和应用软件全部固化在EPROM27O4中。系统的工作过程是:系统上电后,单片机8051进入监控状态,同时完成对各扩展端口的初始化工作。主程序的系统初始化包括设置堆栈指针,定时器、计数器初始化,特殊寄存器初值设定,显示初值设定等。当有键按下时,通过按键查询子程序完成键盘处理功能;在没有外部控制信息输入的情况下,系统自动采集温湿度传感器的电压值,同时根据温湿度传感器的特性曲线,CPU控制两路信号分时切入,用查表法对两路信号进行补偿,最后产生的数据在LDE显示屏上显示。当有外部中断产生时,单片机将所的数据通过串行通信总线发送至上位机。
如图4-1中系统功能的主程序包括初始化程序、测量程序、测量程序、通信程序等。中断服务程序包括通信、显示等等。系统软件主要完成下述功能:
(1)湿度、温度传感器测量数量数据的采集; (2)BCD码与二进制码的相互转换; (3)湿度传感器输出的非线性补偿; (4)湿度传感器输出的温度补偿; (5)查表处理中的线性插值;
(6)根据给定的湿度高低限,作湿度超限报警; (7)湿度、温度的LDE显示。 装置系统软件有如下特点:
(1)层次化的程序结构,模块化的子程序;
(2)充分发挥微机特长,采用“表格查询”方式,对湿度传感器作非线性修正和温度补偿;
(3)湿度修正、温度补偿表格的自动生成。
32
中国矿业大学专业课程设计
初始化测量程序数据处理程序显示程序N有通信?Y通讯程序
图3-1 主程序流程图
3.2数据采集与处理子程序
3.2.1数据测量与传送过程
单片机先将中断关闭,同时启动传输时序即通过串行时钟输入引脚(SCK)和串行数据引脚(DATA)上的高低电平配合来完成数据测量的启动。测量湿度时发送的代码为00000101,测量温度时发送的代码为00000011。SHTWD设置为放置测量代码的存储位置,同时设置标志为LCBZ来定义此次测量为湿度测量还是温度测量。系统采用中断方式来设置测量标志位,每隔一秒变化一次标志位,当标志位为1时送00000101至SHTWD进行湿度测量,当标志位为0是则送00000011至SHTWD进行温度测量。
启动测量时CPU关闭中断并将A中代码一位一位送至DATA引脚上,第9个时钟结束时,释放DATA总线同时打开中断。当CPU进入等待测量结果时,设置等待时间234ms。SHT11完成湿度/温度测量CPU便开始传送测量数据,首先关闭中断,一位一位地读取DATA引脚上的信号,通过左移指令将其完全保存在A中。数据传送完毕后CPU开中断,将A中的数据存放至以R0开始的三个字节内。系统的数据测量与传送过程流程图如图4-2所示。
33
中国矿业大学专业课程设计
开始启动传输时序发送测量温度/湿度命令等待测量结束N测量结束?Y读取结果返回
图3-2 数据测量与传送过程流程图
3.2.2数据处理
(1)相对湿度的计算
为了补偿湿度传感器的非线性以获取准确数据,使用如下公式修正读数: 12bit -.20468 0.0367 -1.5955E-6 8bit -2.0468 0.5872 -4.0845E-4 表3-1 湿度转换系数
(6)
34
中国矿业大学专业课程设计
100%80%相对湿度60%40%20%0%0500100015002000250030003500SORH 传感器测得数据图3-3 从SORH转化到相对湿度
(2)相对湿度对于温度依赖性的补偿
由于实际温度与测试参考温度25的显著不同,应按下面公式修正温度对湿度的影响。
(7)
12bit 8bit 0.01 0.01 表3-2 温度补偿系数
0.00008 0.00128 (3)温度计算
由能隙材料PTAT(正比于绝对温度)研发的温度传感器具有极好的线性。可用如下公式将数字输出转换为温度值:
(8)
35
中国矿业大学专业课程设计
VDD 5v 4v 3.5 3v 2.5v -40.1 -39.8 -39.7 -39.6 -39.4 -40.2 -39.6 -39.5 -39.3 -38.9 14bit 12bit 0.01 0.04 0.018 0.072
表3-3 温度转换系数
由于单片机得到的数据是12位的二进制数据,首先需要转换成十进制BCD码,并存储在连续的四个字节中。由相对湿度的计算公式可知12位的数据可以一一对应到某一个相对湿度值。在(6)中带入得到的十进制数值,即可算出相对湿度
。
考虑到相对湿度对于温度依赖性,需要进行相对湿度对于温度补偿的计算。将得到的相对湿度带入计算公式(7)可以得到实际的相对湿度值。此时得到的数值可以用于与上位机的通信与检测仪的显示。
对于采集到的温度值同样需要先转换为十进制再作进一步处理。将得到的十进制数值代入温度计算公式(8)中即可得到正确的温度值。
此时得到的湿度与温度数值可以用于与上位机的通信与检测仪的显示。
3.3通信程序
发送过程较易实现,接收处理方式主要有查询和中断两种方式。采用查询方式时,CPU要不断测试串口是否有数据,以防止接收串口数据出现错误、遗漏,因此效率低;而采用中断方式则无需测试串口,一旦有数据传至,CPU终止当前任务,由中断服务程序完成操作。所以,中断方式具有效率高、接收准确、编程简单等优点。
CPU有了中断功能就可以通过分时操作启动多个外设同时工作,并能对它们进行同意管理。CPU执行让你们在主程序中安排的有关指令可以令各外设与它们并行工作,而且任何一个外设在工作完成后都可以通过中断得到满意服务。一次CPU在与外设交换信息时通过中断就可以避免不必要的等待和查询,从而大大提高它的工作效率。
在试试控制系统中,被控系统的实时参量、越限数据和故障信息必须为计算机及时采集、进行处理和分析判断,以便对系统实施正确的调节和控制。因此,计算机对实时数据的处理时效常常是被控系统的生命,是影响产品质量和系统安全的关键。CPU有了中断功能,系统的失常和故障就都可以通过中断立刻通知CPU,使它可以迅速采
36
中国矿业大学专业课程设计
集实时数据和故障信息,并对系统做出应急处理。
中断系统可以通过对特殊功能寄存器进行同意管理,中断系统初始化是指用户对这些特殊功能寄存器中的各控制位进行赋值。
中断系统初始化步骤如下: (1)开相应中断源的中断。
(2)设定所用中中断源的中断优先级。
(3)若为外部中断,则应规定低电平还是负边沿的中断触发方式。
为实现通讯正常,上位机与单片机约定如下:波特率:9600bps,信息格式:1个起始位,8位数据位,1个停止位,无奇偶校验位;串行口操作模式:标准异步串行通信,串行口模式1:传送方式:PC机采用查询方式接收数据,单片机采用中断方式接收信息。
在开始通信前,首先要初始化串口包含选串口、设置串口掩码、设置缓冲区大小、设置波特率等串行参数。开始通信时首先由上位机发出通信信号,同时监测仪进入相应的通信中断服务程序。
由于在中断服务程序中要占用一些寄存器进行运算,而在主程序中这些寄存器也是很重要的,为了二者互不干扰,所以在进入中断服务程序时单片机将首先把寄存器的数值保存起来,以便在从中断返回后继续正常的往下执行。此后单片机便进入等待上位机发送开始传送的指令,如果没有受到指令则继续等待。当收到发送指令后单片机开始将所测得的数据以ASCII的形式一位一位地发送至上位机。发送完毕时单片机须恢复现场,即将原先保存的寄存器的数值逐一地从堆栈中弹出。单片机完成通信中断后自动返回自动前原程序的执行。
图3-4为单片机申行通信程序流程图
开始保护现场等待上位机发送指令N收到上位机指令?Y发生数据发生数据结束?NY发生数据结束?恢复现场返回
37
中国矿业大学专业课程设计
3.4显示程序
本设计中的显示程序说要完成的功能是在数码管上每隔一秒分别显示一次当前的湿度值和温度值。由于在测量程序中已使用到一个时间标志位LCBZ,在显示程序中将继续使用这个标志位而不再重新定义。时间标志位LCBZ在显示程序中用于数码管每隔固定的一秒切换所显示的内容。首先通过SHT11采集到的数据已经经过处理成为对应的湿度或温度的物理量并找到其对应的字形码保存在内存中,当需要显示的时候只需调用内存中数据即可。
湿度显示的格式为第一位显示H后三位分别显示经过温度补偿的相对湿度的数值。温度显示的格式则要相对简单一些,第一位不使用后三位分别显示当前温度值。由于显示方式是动态显示,所以每一位数码管的显示时间间隔设定为2ms以保证人眼可以正常读数。
开始湿度值字形码地址送入A选通一位数码管字形码送入锁存器延时2ms字位码左移一位N3位显示完?Y第4位显示H延时2ms点亮小数点延时2ms1s定时到?N返回YN温度值字形码地址送入A选通一位数码管字形码送入锁存器延时2ms字位码左移一位3位显示完?Y点亮小数点延时2ms1s定时到?NY
图3-5 显示程序流程图
38
中国矿业大学专业课程设计
3.5键盘程序
本系统中设立4个按键,分别是开/关机键、湿度设定加1及减1键、确认键。湿度调节键,用户可以根据自己的需要用来设定湿度值。设定完湿度参数后,按确认键使所设定的数值生效,系统进入自动显示测得数据的状态。
开始扫描键盘N有键按下?Y求取键值相应的处理程序返回
图3-6 键盘程序流程图
39
中国矿业大学专业课程设计
4 结语
本系统的功能可实现对温室环境温湿度的全面、实时、自动的监测,及时发现问题,采取有效防护措施,减少不利于生产的事故发生。当然,由于时间限制,本系统还不够完善,尚需进一步改进。例如系统硬件电路的设计还需进一步简化;系统监测目前还只能实现对被监测量的实时采集、存储、超限报警。
通过本次的课程设计学到了很多东西,把前面所学课程的一些知识全部穿起来了,特别是单片机和接口的内容;还学习了总线的一些概念,以前的作业中并没有使用过总线,做完以后感觉很有用,可以实行以太网的通信控制。
另外本次课程设计还锻炼了我的查找资料的能力,设计需要大量的资料,这些东西都需要上网或者去图书馆查阅,学到了很多东西。我们目前学的东西与实际应用还有一定的差距,有些理论上行的,在实际应用中不一定有用。
40
因篇幅问题不能全部显示,请点此查看更多更全内容