计算机控制技术三课件_第1页
计算机控制技术三课件_第2页
计算机控制技术三课件_第3页
计算机控制技术三课件_第4页
计算机控制技术三课件_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1巡回检测程序设计3.2数字滤波程序设计3.3标度变换程序设计判断程序设计3.4

上下限报警处理程序设计3.5软件抗干扰技术3.63.7

测量数据预处理技术3.8电机控制程序设计3.9步进电机控制

在计算机控制系统中,数据采集是最基本的一种模式。一般是通过传感器、变送器把生产过程的各种物理参数转换成电信号,然后经A/D通道或DI通道,把数字量送入计算机中。计算机在对这些数字量进行显示和控制之前,还必须根据需要进行相应的数据处理。

数据处理离不开数值计算,而最基本的数值计算为四则运算。由于控制系统中遇到的现场环境不同,采集的数据种类与数值范围不同,精度要求也不一样,各种数据的输入方法及表示方法也各不相同。因此,为了满足不同系统的需要,设计出了许多有效的数据处理技术方法,如预处理,数字滤波,标度变换,查表和越限报警等。3.1巡回检测程序设计3.1.1概述3.1.2巡回检测举例返回本章首页3.1.2巡回检测举例1.利用8位A/D转换芯片(ADC0809)2.采用12位A/D转换芯片(AD574A)3.采用8通道12位A/D转换芯片(MAX197)例3-1某冷冻厂需要对8个冷冻室进行温度巡回检测,要求设计一个计算机控制的温度巡回检测系统,使其能对各冷冻室的温度巡回检测并加以处理。假设被测温度范围为-30℃~+50℃,温度检测精度要求不大于±1℃。温度传感器可以选择热电阻、热敏电阻、PN结或集成温度传感器AD590等。被测温度范围为-30℃~+50℃,温度检测精度要求不大于±1℃,8位A/D转换器的分辨率为1/256,因此可以满足精度要求,选用8位A/D转换器ADC0809进行A/D转换。

1.利用8位A/D转换芯片(ADC0809)图3-8炉温巡回检测电路原理图本程序由系统初始化程序和中断程序组成。初始化程序完成中断向量和定时器初值的设定;中断程序完成数据采样工作,实现对8个通道的巡回检测。初始化程序功能:设置定时器0、外部中断0和外部中断1的中断程序入口;设置定时器0的工作方式为方式1,定时时间为100ms;设置计数单元(30H)初值。初始化程序流程框图如图3-9所示。图3-9初始化程序流程图初始化程序清单:ORG 0000H AJMP START ORG 0003H AJMP SAMPLE ;转采样中断程序

ORG 000BH AJMP TIME0 ;转8秒定时中断程序

ORG 0013H AJMP EOC ;转EOC中断处理程序START: MOV TMOD,#01H ;置定时器0为工作方式1

MOV TH0,#3CHMOV TL0,#0B0H ;定时器初值设定

MOV 30H,#00H ;置计数初值

SETB IT0 ;中断请求信号为脉冲方式

SETB IT1 ;中断请求信号为脉冲方式

SETB EX0 ;外部中断0中断允许

SETB ET0 ;定时器0中断允许

SETB EA ;开中断

SETB TR0 ;启动定时器HERE: AJMP HERE ;等待中断定时器中断程序程序清单:TIME0: CLR EA ;关中断

INC 30H MOV A,30H XRL A,#50H ;判断是否到8秒

JZ S_8 ;8秒定时到,转至S_8 AJMP RECOUN ;未到8秒,继续计时S_8: SETB P3.2 ;触发外部中断0

NOP CLR P3.2 NOPRECOUN: MOV TH0,#3CH MOV TL0,#0B0H ;设定定时器初值

SETB EA ;开中断

RETI ;中断返回数据采样程序流程框图如图3-11所示。数据采样程序程序清单:SAMPLE: SETB 00H ;设置标志位

MOV DPTR,#0F00H ;设置通道初值

MOV R6,#08H ;设置通道数

MOV R7,#05H ;设置采样次数MOV R0,#40H ;设置数据区首址TRAN_S: MOVX @DPTR,A ;启动A/D转换程序流程图WAIT: JB 00H,WAIT ;标志位为1等待A/D转换完成中断2.采用12位A/D转换芯片(AD574A)图3-14AD574A和8031的硬件接口电路图图3-15AD574AA/D转换程序流程框图AD574A/D转换程序清单:ORG 0000H AJMP START ORG 0003H AJMP SAMPLE ;转至数据采样程序START: MOV DPTR,#0000H ;建立AD574A的地址

MOV R0,#40H ;设置数据存储初址

SETB EX0 ;允许外部中断0

SETB IT0 ;设置外部中断0请求信号方式为脉冲方式

SETB EA ;中断允许

MOVX @DPTR,A ;启动A/D转换HERE: AJMP HERE ;等待中断3.2数字滤波方法

由于工业生产的现场环境非常恶劣,各种干扰源很多,计算机系统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有随机干扰噪声。因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行数字滤波。.

数字滤波,就是计算机系统对输入信号采样多次,然后用某种计算方法进行数字处理,以削弱或滤除干扰噪声造成的随机误差,从而获得一个真实信号的过程。这种滤波方法只是根据预定的滤波算法编制相应的程序,实质上是一种程序滤波。因而可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。它的不足之处是需要占用CPU的机时。总之,数字滤波与硬件滤波器相比优点甚多,因此得到了普遍的应用。常用的数字滤波方法有:平均值滤波、中值滤波、限幅滤波和惯性滤波等。3.2.1平均值滤波平均值滤波就是对多个采样值进行平均算法,这是消除随机误差最常用的方法。具体又可分为如下几种。1.算术平均滤波算术平均值滤波的目的是寻找一个Y值,使其与各个采样值间的偏差的平方和E为最小,即

(3-1)

例3-3某一输入信号的实际幅值对应的理论数字量为80H,考虑以下各种情况,采用算术平均值滤波,采样次数N=5,分析其滤波效果。

从以上分析结果可以看出,算术平均值滤波对周期性干扰有良好的抑制效果,对脉冲性干扰的的滤波效果并不理想,存在测量误差。在编制算法程序时,N一般取2、4、8等2的整数幂,以便于用移位来代替除法求得平均值。

式中,第m次为最新值,C1、C2、…、Cm

为加权系数,先小后大,且均为小于1但总和等于1的小数,即满足下式

C1+C2+…+Cm=1Cm>Cm-1>…C1>0C1、C2、…、Cm

的取值应视具体情况选取,并通过调试确定。例如,某纯滞后时间为τ的被控对象,采用m=4的加权平均滤波算式为=C1

y

1+C2

y

2+C3

y

3+C4

y

4

式中权系数,,,,这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象。4.滑动平均滤波前三种的平均滤波算法有一个共同点:即每取得一个有效采样值必须连续进行若干次采样。

当系统的采样速度较慢或采样信号变化较快时,系统的实时性就无法得到保证。滑动平均滤波是在每个采样周期只采样一次,将这一次采样值和过去的若干次采样值一起求平均,所得结果即为有效采样值。具体作法可由循环队列结构方式来实现数据的存放,比如取

m

个采样值求滑动平均,只要在RAM中开辟m个数据暂存区,每次新采集一个数据便存入暂存区的队尾,同时冲掉队首的一个数据,这样在存储器队列中始终保持有m个最新的数据。而滑动平均滤波算法的最大优势就是实时性好,提高了系统的响应速度。3.2.2中值滤波中值滤波是将信号y的连续m次采样值按大小进行排序,取其中间值作为本次的有效采样值。本算法为取中值,故采样次数m应为奇数,一般3~5次即可。编制中值滤波的算法程序,首先把m个采样值从小到大(或从大到小)进行排队,这可采用几种常规的排序算法如冒泡算法,然后再取中间值。

中值滤波对缓变过程中的偶然因素引起的波动或采样器不稳定造成的误差所引起的脉动干扰比较有效,而对快速变化过程(如流量)的信号采样则不适用。3.2.3限幅滤波经验说明,生产过程中许多物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。限幅滤波就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最大差值Y进行比较,如果小于或等于Y,表示本次采样值y(k)是真实的,则取y(k)为有效采样值;反之,y(k)是不真实的,则取上次采样值y(k1)作为本次有效采样值。当|

y(k)y(k1)|Y

时,则取

y(k)=y(k)当|y(k)y(k1)|>Y时,则取y(k)=y(k-1)

式中:y(k)──t=kT时的采样值;

y(K-1)──t=(k-1)T时的采样值;

Y──相邻两次采样值所允许的最大偏差,其大小取决于控制系统采样周期T和信号Y的正常变化率。限幅滤波对随机干扰或采样器不稳定引起的失真有良好的滤波效果。3.4.4惯性滤波惯性滤波是模拟硬件RC低通滤波器的数字实现。常用的RC滤波器的传递函数是(3-5)其中,Tf=RC是滤波器的滤波时间常数,其大小直接关系到滤波效果。一般说来,

Tf越大,则滤波器的截止频率(滤出的干扰频率)越低,滤出的电压纹波较小,但输出滞后较大。由于大的时间常数及高精度的RC电路不易制作,所以硬件RC

滤波器不可能对极低频率的信号进行滤波。为此可以模仿式(3-5)中硬件RC滤波器的特性参数,用软件做成低通数字滤波器,从而实现一阶惯性的数字滤波。将式(3-5)写成差分方程(3-6)整理后得(3-7)式中:y(k)——第k次采样的滤波输出值;x(k)——第k次采样的滤波输入值,即第k次采样值y(k-1)——第(k-1)次采样的滤波输出值;a——滤波系数a=T/(Tf+T)T——采样周期Tf——滤波环节的时间常数一般T远小于Tf

,即远小于1,表明本次有效采样值(滤波输出值)主要取决于上次有效采样值(滤波输出值),而本次采样值仅起到一点修正作用。通常,采样周期T

足够小,则a≈T/Tf

,滤波算法的截止频率为(3-8)当采样周期T一定时,滤波系数a越小,数字滤波器的截止频率f就越低。例如当T=0.5秒(即每秒采样2次),a=1/32时:

f=(1/32)/(2×3.14×0.5)≈0.01Hz这对于变化缓慢的采样信号(如大型贮水池的水位信号),其滤波效果是很好的。惯性滤波器的程序编制可按式(3-7)进行。设计时,应根据采样周期与截止频率适当选取a值,使得滤波器的输出既无明显纹波,又不太滞后。显然,该算法比较简单,比起平均值滤波法要快,能很好地消除周期性干扰和较宽频率的随机干扰信号。以上讨论了几种数字滤波方法,各有其特点。在实际应用中,究竟采用不采用、以及采用哪一种数字滤波,都应视具体情况而定。可能有的系统并不需要进行数字滤波或者应用得不恰当,非但达不到滤波效果还会降低控制品质,而有的系统采用了复合滤波方法──即把几种滤波方法结合起来使用,可能会取得更好的滤波效果。和模拟滤波装置相比,数字滤波有以下几个优点:(1)数字滤波通过程序实现,不需硬件设备,系统的可靠性较高。(2)数字滤波可实现多通道共用。(3)可对低频信号(如0.01Hz)实现滤波。(4)采用不同的算法和参数就可实现对不同信号的滤波,使用起来灵活、方便。返回本节

3.3标度变换算法生产中的各种参数都有着不同的量纲和数值,但在计算机控制系统的采集、A/D转换过程中已变为无量纲的数据,当系统在进行显示、记录、打印和报警等操作时,必须把这些测得的数据还原为相应量纲的物理量,这就需要进行标度变换。

标度变换的任务是把计算机系统检测的对象参数的二进制数值还原变换为原物理量的工程实际值。图3-16为标度变换原理图,这是一个温度测控系统,某种热电偶传感器把现场中的温度0~1200℃转变为0~

48mV信号,经输入通道中的运算放大器放大到0~

5V,再由8位A/D转换成00~FFH的数字量,这一系列的转换过程是由输入通道的硬件电路完成的。CPU读入该数字信号在送到显示器进行显示以前,必须把这一无量纲的二进制数值再还原变换成原量纲为℃的温度信号。比如,最小值00H应变换对应为0℃、最大值FFH应变换对应为1200℃。

图3-16标度变换原理图

这个标度变换的过程是由算法软件程序来完成的,标度变换有各种不同的算法,它取决于被测参数的工程量与转换后的无量纲数字量之间的函数关系。一般而言,输入通道中的放大器、A/D转换器基本上是线性的,因此,传感器的输入输出特性就大体上决定了这个函数关系的不同表达形式,也就决定了不同的标度变换方法。主要方法有:线性式变换、非线性式变换、多项式变换以及查表法。3.3.1线性式变换

线性标度变换是最常用的标度变换方式,其前提条件是传感器的输出信号与被测参数之间呈线性关系,如图3-17所示。图3-17线性关系的标度变换数字量Nx对应的工程量Ax的线性标度变换公式为:(3-9)式中:A0——一次测量仪表的下限(测量范围最小值);Am——一次测量仪表的上限(测量范围最大值);Ax——实际测量值(工程量);N0——仪表下限所对应的数字量;Nm——仪表上限所对应的数字量;Nx——实际测量值所对应的数字量。式(3-9)为线性标度变换的通用公式,其中A0,Am,N0,Nm对某一个具体的被测参数与输入通道来说都是常数,不同的参数有着不同的值。为使程序设计简单,一般把一次测量仪表的下限A0所对应的A/D转换值置为0,即N0=0。这样式(3-9)可写成:

(3-10)在很多测量系统中,仪表下限值A0=0,此时进一步简化为(3-11)式(3-9)、(3-10)和(3-11)即为在不同情况下的线性标度变换公式。据此,编程用的标度变换子程序公式分别简化为:(3-12)其中

(3-13)其中

Ax3=a3Nx

(3-14)其中

例:某加热炉温度测量仪表的量程为200~800℃,在某一时刻计算机系统采样并经数字滤波后的数字量为CDH,求此时的温度值是多少?(设该仪表的量程是线性的)。解:根据式(3-10)已知,A0=200℃,

Am=800℃,Nx=CDH=(205)D,Nm=FFH=(255)D。所以此时的温度为=682℃3.3.2非线性式变换如果传感器的输出信号与被测参数之间呈非线性关系时,上面的线性变换式均不适用,需要建立新的标度变换公式。由于非线性参数的变化规律各不相同,故应根据不同的情况建立不同的非线性变换式,但前提是它们的函数关系可用解析式来表示。例如,在差压法测流量中,流量与差压间的关系为:

(3-15)式中:Q——流体流量;

K——刻度系数,与流体的性质及节流装置的尺寸有关;P——节流装置前后的差压。可见,流体的流量与被测流体流过节流装置前后产生的压力差的平方根成正比,于是得到测量流量时的标度变换公式为(3-16)式中:Q0——差压流量仪表的下限值;

Qm——差压流量仪表的上限值;

Qx——被测液体的流量测量值;N0——差压流量仪表下限所对应的数字量;Nm——差压流量仪表上限所对应的数字量;Nx——差压流量仪表测得差压值所对应的数字量。对于流量仪表,一般下限皆为0,即Q0=0,所以上式可简化为(3-17)若取流量表的下限对应的数字量N0=0,便可进一步简化为:(3-18)

式(3-16)、(3-17)、(3-18)即为不同初始条件下的流量标度变换公式。与线性标度变换公式一样,由于Qo、Qm、N0、Nm都是常数,故以上三式可分别简化为编程用的标度变换子程序公式。(3-19)

其中(3-20)

其中(3-21)

其中3.3.3多项式变换还有些传感器的输出信号与被测参数之间虽为非线性关系,但它们的函数关系无法用一个解析式来表示,或者解析式过于复杂而难于直接计算。这时可以采用一种既计算简便又能满足实际工程要求的近似表达式──插值多项式来进行标度变换。插值多项式是用一个n次多项式来代替某种非线性函数关系的方法。其插值原理是:被测参数y与传感器的输出值x具有的函数关系为y=f(x),只知道在n+1个相异点处的函数值为:

f(x0)=y0,f(x1)=y1,…,f(xn)=yn。现构造一个n次多项式Pn(x)=anxn+an-1xn-1+…+a1x+a0

去逼近函数y=f(x),把y=f(

x)中这n+1个相异点处的值作为插值代入n次多项式Pn(x),便可以获得n+1个一次方程组:anx0n+an-1x0n-1+…+a1x0+a0=y0anx1n+an-1x1n-1+…+a1x1+a0=y1anx2n+an-1x2n-1+…+a1x2+a0=y2……anxnn+an-1xnn-1+…+a1xn+a0=yn

式中x0,x1,…,xn是已知的传感器的输出值,y0,y1,…,yn是被测参数,可以求出n+1个待定系数a0、a1、…,an,从而构造成功一个可代替这种函数关系的可插值多项式Pn(x)。下面用热敏电阻测量温度的例子来说明这一过程。热敏电阻具有灵敏度高、价格低廉等特点,但是热敏电阻的阻值与温度之间的关系是非线性的,而且只能以表的方式表示。现构造一个三阶多项式P3(R

)来逼近这种函数关系。━━━━━━━━━━━━━━━━━━━━━━━━━温度t(℃)阻值R(kΩ)温度t(℃)阻值R(kΩ)表7-1热敏电阻的温度-电阻特性

108.0000266.0606117.8431275.9701127.6923285.8823137.5471295.7970147.4074305.7142157.2727315.6337167.1428325.5554177.0174335.4793186.8965345.4053196.7796355.3332206.6670365.2630216.5574375.1946226.4516385.1281236.3491395.0631246.2500405.0000256.1538取三阶多项式为

t=P3(R

)=a3R3+a2R2+a1R+a0

并取t=10,17,27,39这4点为插值点,便可以得到以下方程组:

8.00003a3+8.00002a2+8.0000a1+a0=107.01743a3+7.01742a2+7.0174a1+a0=175.97013a3+5.97012a2+5.9701a1+a0=275.06313a3+5.06312a2+5.0631a1+a0=39解上述方程组,得

a3=-0.2346989a2=6.120273

a1=-59.28043a0=212.7118因此,所求的逼近多项式为

t

=-0.2346989R3+6.120273R2-59.28043R+212.7118这就是用来标度变换的插值多项式,将采样测得的电阻值R代入上式,即可获得被测温度t。显然,插值点的选择对于逼近的精度有很大的影响。通常在函数y=f(x)的曲线上曲率大的地方应适当加密插值点。一般来说,增加插值点和多项式的次数能提高逼近精度。但同时会增加计算时间,而且在某些情况下反而可能会造成误差的摆动;另一方面,对于那些带拐点的函数,如果用一个多项式去逼近,将会产生较大的误差。为了提高逼近精度,且不占用过多的机时,较好的方法是采用分段插值法。分段插值法是将被逼近的函数根据其变化情况分成几段,然后将每一段区间分别用直线或抛物线去逼近。分段插值的分段点的选取可按实际曲线的情况灵活决定,既可以采用等距分段法,又可采用非等距分段法。如上例热敏电阻温度t与阻值R的插值多项式,其计算量较大,程序也较复杂。为使计算简单,提高实时性,可采用分段线性插值公式或称分段线性化的方法,即用多段折线代替曲线进行计算。图3-5热敏电阻特性及分段线性化

根据表中的数据制成图3-5所示的热敏电阻特性及分段线性化,图中曲线为热敏电阻的负温度-电阻特性,折线L0、L1、L2代替或逼近曲线。当获取某个采样值R后,先判断R的大小处于哪一折线段内,然后就可按相应段的线性化公式计算出标度变换值。其计算公式是:

-k0(R-R0)+t3R0≤R≤R1t=-k1(R-R1)+t2R1≤R≤R2

-k2(R–R2)+t1R2≤R≤R3式中k0、k1、k2分别为线段L0、L1、L2的斜率。同样,分段数越多,线性化精度越高,软件开销也相应增加。分段数应视具体情况和要求而定。当分段数多到线段缩成一个点时,实际上就是另一种方法——查表法。3.3.4查表法所谓查表法就是把事先计算或测得的数据按照一定顺序编制成表格,查表程序的任务就是根据被测参数的值或者中间结果,查出最终所需要的结果。它是一种非数值计算方法,利用这种方法可以完成数据的补偿、计算、转换等各种工作。比如输入通道中对热电偶特性的处理,可以用非线性插值法进行标度变换,也可以采用精度更高效果更好的查表法进行标度变换——利用热电偶的mV-℃分度表,通过计算机的查表指令就能迅速便捷地由电势mV值查到相应的温度℃值;当然控制系统中还会有一些其它参数或表格也是如此,如对数表、三角函数表、模糊控制表等。查表程序的繁简程度及查询时间的长短,除与表格的长短有关外,很重要的因素在于表格的排列方法。一般来讲,表格有两种排列方法:(1)

无序表格,即表格中的数据是任意排列的;(2)

有序表格,即表格中的数据按一定的顺序排列。表格的排列不同,查表的方法也不尽相同。具体的查表方法有:顺序查表法,计算查表法,对分搜索法等。1.顺序查表法

顺序查表法是针对无序排列表格的一种方法。其查表方法类似人工查表。因为无序表格中所有各项的排列均无一定的规律,所以只能按照顺序从第一项开始逐项寻找,直到找到所要查找的关键字为止。顺序查表法虽然比较“笨”,但对于无序表格或较短表格而言,仍是一种比较常用的方法。2.计算查表法在计算机数据处理中,一般使用的表格都是线性表,它是若干个数据元素X1,X2,…,Xn的集合,各数据元素在表中的排列方法及所占的存储器单元个数都是一样的。因此,要搜索的内容与表格的排列有一定的关系。只要根据所给的数据元素Xi

,通过一定的计算,求出元素Xi所对应的数值的地址,然后将该地址单元的内容取出即可。这种有序表格要求各元素在表中的排列格式及所占用的空间必须一致,而且各元素是严格按顺序排列。其关键在于找出一个计算表地址的公式,只要公式存在,查表的时间与表格的长度无关。正因为它对表格的要求比较严格,并非任何表格均可采用。通常它适用于某些数值计算程序、功能键地址转移程序以及数码转换程序等。3.对分查表法在前面介绍的两种查表方法中,顺序查表法速度比较慢,计算查表法虽然速度很快,但对表格的要求比较挑剔,因而具有一定的局限性。在实际应用中,很多表格都比较长,且难以用计算查表法进行查找,但它们一般都满足从大到小或从小到大的排列顺序,如热电偶mV-℃分度表,流量测量中差压与流量对照表等等。对于这样的表格,通常采用快速而有效的对分查表法。

对分查表法的具体做法是:先取数组的中间值Dn/2进行查找,与要搜索的X值进行比较,若相等,则查到。对于从小到大的顺序来说,如果Xn/2项,则下一次取n/2n间的中值,即3n/4进行比较;若Xn/2项,则取0n/2的中值,即n/4进行比较。如此比较下去,则可逐次逼近要搜索的关键字,直到找到为止。3.4上下限报警处理程序设计为了实现安全生产,在计算机测控系统中,对于重要的参数和部位,都设置紧急状态报警系统,以便及时提醒操作人员注意或采取应急措施,使生产继续进行或在确保人身设备安全的前提下终止生产。其方法就是把计算机的采集数据在进行予处理、数字滤波、标度变换之后,与该参数的设定上限、下限值进行比较,如果高于上限值或低于下限值则进行报警,否则就作为采样的正常值,进行显示和控制。返回本章首页

3.4.1越限报警程序在控制系统中,报警参数可以是被控参数、被测参数、输入偏差或控制量等,设需要判断的报警参数为X,该参数的上、下限约束值分别为XH和XL,则越限报警有报警程序主要有以下几个步骤组成:(1)采样被测参数。(2)比较采样值和给定的上下限。(3)根据比较结果执行相应的处理程序。如下几种形式:上限报警若XK>XH,则发出上限报警,否则继续执行原定操作。上下限报警若XK>XH,则上限报警,否则判断XK<XL否?若是则下限报警,否则继续执行原定操作。若XK>XH,则上限报警,否则判断XK<XL否?若是则下限报警,否则继续执行原定操作。具体设计报警程序时,为了避免测量值在极限值一点处来回摆动造成频繁报警,一般应在极限值附近设置一个回差带,如图3-6所示:

图3-6越限报警范围

图中XH、XL是上、下限约束值,2e为回差带宽。当被测值超越XH+e时,才算越过上限报警值并设置相应的越上限标志(上限标志位置1),同时输出越上限的声、光报警;当被测值下降到XH-e

以下时,则复位上限,这时应撤消越上限标志(上限标志位清0)及相应的声光报警。同理,当被测值低于XL-e点时,才算越过下限并设置相应的越下限标志(下限标志位置1),同时输出越下眼的声、光报警;当被测值上升到XL+e以上时,则复位下限,这时应撤消越下限标志(下限标志位清0)及相应的声光报警。如此,回差值e避免了测量值在极限值XH或XL一e点处来回摆动造成频繁报警,e值的大小可根据现场具体的被测参数设定。越限报警程序流程图如图7-7所示。图3-7越限报警程序流程图

3.4.2越限报警方式在计算机测控系统中常采用声、光及语言进行报警。1.普通声光报警图3-8普通声光报警接口电路普通光报警常采用发光二极管LED实现,声报警常用蜂鸣器或电笛实现。图3-8是普通声光报警接口电路图,发光二极管的驱动电流一般为10~20mA,CPU的数据线需要外接驱动器驱动,可采用OC门驱动器,如反相驱动器74LS06、正相驱动器74LS07等,也可采用一般的锁存器如74LS273、74LS373、74LS377

,或带有锁存器的I/O接口芯片,如8155、8255A等。图中数据线D3~D7接5个LED用于5路信号的越限报警,D2与1个驱动蜂鸣器的继电器线圈相连,当某一路需要报警时,只要对该路及D2输出高电平,经7406反相后,LED点亮的同时,继电器线圈吸合,蜂鸣器或电笛发出鸣叫,达到声光报警效果。2.模拟声光报警模拟声光报警最常用的方法是采用模拟声音集成电路芯片,如KD-956X系列,是一种采用CMOS工艺、软封装的声报警IC芯片,能够产生表7-2所列的声光报警效果。表3-2KD-956×系列报警芯片功能表型号声光性能KD-9561机枪、警笛、救护车、消防车声KD-9561B嘟嘟…声KD-9562机枪、炮弹等8种声KD-9562B光控报警声KD-9562C单键8音KD-95633声2闪光KD-95656声5闪光图3-9(a)是KD-9561芯片的外形图,它内部具有振荡器、节拍器、音色发生器、地址计数器、控制和输出级等部分。它设有两个选声端SEL1和SEL2,改变这两端的电平,可以选择不同的内部程序,从而产生表7-2所示的功能。图3-9(b)是它的接线图,VDD接电源正端,VSS接电源负端,改变跨接在OSCl和OSC2之间的外接振荡电阻R,可以调节模拟声音的放音节奏,R阻值越大,报警声音越急促,一般在180kΩ~290kΩ的范围内选择。外接的小功率三极管9013是为了驱动扬声器。当系统检查到报警信号后,使三极管9013导通,便发出报警声音。图3-9KD-9561芯片的外行和接线图

KD-956×系列具有工作电压范围大、静态电流小、体积小、价格低、音响逼真、控制简便等优点,所以在报警装置和儿童玩具中得到广泛的应用。3.语音报警随着单片机技术、语音信号处理技术和语音芯片制造技术的不断发展,增加语音功能已经成为智能仪表和计算机测控系统的设计方向。显然,用计算机直接发出语音信息告诉操作人员发生了什么以及应该采取什么应急措施,远比声光报警传递了更为明确的信息;而且利用语音系统还能实现运行参数的报读以及运行状态的提醒。语音系统是在计算机测控系统中扩展语音录放芯片实现的。目前已经有大量语音录放芯片可供选择,有的芯片可以录放10秒或20秒信息,有的芯片可以录放几分钟长度的信息,用户可以按照录放信息长短的需要选取适当的芯片。图3-10给出一个用PIC单片机与集成语音芯片ISD33240组成的报警功能连接框图。

图3-10语音芯片与单片机的连接框图

ISD33240是ISD公司的单片智能型语音录放芯片,可记录长达4分钟的语音信息,它是通过串行外围接口模式(SPI)与单片机连接成主从方式工作的,而PIC16C62单片机的同步串行口可以工作在SPI模式,所以使用PIC单片机控制ISD33240是最节省外围器件的一种硬件设计。在单片机的控制下,通过话筒把语音录入语音录放芯片,在测量控制过程中,根据测量值或工作状态由单片机选择适当的语音段通过扬声器发出声音报警信号,也可以通过LCD显示器提示状态信息。ISD33240芯片使用3V单电源供电,录音时耗电30mA,放音时耗电25mA,录放状态一结束就进入节电模式,静态电流仅1μA,功耗极小。可反复录制10万次,信息可保存10年以上,可处理多达100段信息。3.7测量数据预处理技术▪

对测量数据的预处理是计算机控制系统数据处理的基础,这包括数字调零技术、系统校准技术以及输入、输出数据的极性与字长的予处理技术。3.7.1系统误差的自动校准

在控制系统的测量输入通道中,一般均存在放大器等器件的零点偏移和漂移,会造成放大电路的增益误差及器件参数的不稳定等现象,它们都会影响测量数据的准确性,这些误差都属于系统误差。它的特点是在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。因此,系统误差是可以通过适当的技术方法来确定并加以校正的,一般采用软件程序进行处理,即可对这些系统误差进行自动校准。1.数字调零

零点偏移是造成系统误差的主要原因之一,因此零点的自动调整在实际应用中最多,常把这种用软件程序进行零点调整的方法称为数字调零。图3-1数字调零电路

数字调零电路如图3-1所示。在测量输入通道中,CPU分时巡回采集1路校准电路与n路传感变送器送来的电压信号。首先是第0路的校准信号即接地信号,理论上电压为零的信号,经放大电路、A/D转换电路进入CPU的数值应当为零,而实际上由于零点偏移产生了一个不等于零的数值,这个值就是零点偏移值N0;然后依次采集1、2、…n路,每次采集到的数字量N1、N2、…Nn值就是实际值与零点偏移值N0之和。计算机要进行的数字调零就是做一次减法运算,使(Ni-N0)的差值成为本次测量的实际值。很显然,采用这种方法,可去掉放大电路、A/D转换电路本身的偏移及随时间与温度而发生的各种漂移的影响,从而大大降低对这些电路器件的偏移值的要求,降低硬件成本。2.系统校准上述数字调零不能校正由传感器本身引入的误差。为了克服这种缺点,可采用系统校准处理技术。

系统校准的原理与数字调零差不多,只是把测量电路扩展到包括现场的传感器,而且不是在每次采集数据时都进行校准,而是在需要时人工接入标准参数进行校准测量,把测得的数据存储起来,供以后实际测量使用。一般自动校准系统只测一个标准输入信号VR,零点漂移的补偿仍由数字调零来完成。数字调零后测得标准输入信号VR的数据为NR,而测得实际被测输入信号V时的数据为N,则可按如下校准式来计算V。(3-1)

系统校准特别适于传感器特性随时间会发生变化的场合。如电容式湿度传感器,其输入输出特性会随着时间而发生变化,一般一年以上变化会大于精度容许值,这时可每隔一段时间(例如3个月或6个月),用其它精确方法测出这时的湿度值,然后把它作为校准值输入测量系统。在实际测量湿度时,计算机将自动用该输入值来校准以后的测量值。3.7.2数据极性的预处理控制系统中处理的信号很多是双极性的,如温度

压力、位置、角度信号等。这就要求在实施控制时,不仅要考虑信号的幅度,还要考虑到信号的极性。为此,在对A/D转换后的数据和D/A转换前的数据进行处理前,必须根据数据的极性先进行预处理,才能保证得到正确的结果。系统中有的输入信号是单极性的,而输出信号则要求是双极性的,如流量、压力等控制回路;有的则是要求输入和输出信号都是双极性的,如位置、角度等控制回路。下面就这两种情况分别加以讨论。1.输入、输出信号同为双极性在输入、输出都是双极性信号的控制系统中,程序处理的输入和输出数据不仅反映信号幅度的大小,

也反映信号的极性。假设信号的变化范围为-5V~+5V,信号经A/D转换得到的数字量为00H~FFH

数字量的最高位D7表示信号的极性。当D7=0时,表示输入信号为负极性,即数字量00H~7FH表示-5V~0V的模拟信号;当D7=1时,表示输入信号为正极性,即数字量7FH~FFH表示0V~+5V的模拟信号。在由双极性信号组成的闭环定值控制系统中,设给定信号为R,采样输入信号为Z,则偏差值E=R-Z。因为R和Z

的值对应的是双极性信号,所以偏差值E也是双极性信号,因此在参加运算前也必须进行预处理才能保证最终结果的正确。

预处理的规则:如果偏差值的绝对值大于80H(此为无符号数),则偏差信号取最大值,即信号极性为负时取00H,信号极性为正时取FFH。否则,将运算结果直接作为偏差信号。2.输入、输出信号分为单双极性在控制系统中,有时会出现输入信号和给定信号是单极性的,即数字量00H~FFH对应同极性的信号,如0~+5V;而输出信号则要求是双极性的,即数字量00H~FFH对应的是双极性的,如-5V~+5V。这类系统的数据预处理与双极性的输入输出系统的方法相同,由于系统的输入是单极性的,因此不必判断极性,只需根据偏差值的大小和符号判断即可。系统的数据预处理程序流程图如图3-2所示。3.7.3数据字长的预处理

在计算机控制系统中经常会出现数据字长不一致的情况。如有的系统采用12位A/D转换器采样数据,而输出采用8位D/A转换器;有的系统使用8位A/D转换器进行采样,而为了提高计算的精度,采用双字节运算程序计算。为了满足不同的精度要求,数据在进行数字滤波、标度变换和控制运算后必须对数字量的位数加以处理。1.输入位数大于输出位数当输入器件的分辨率高于输出器件时,如采用10位A/D转换器采样,而CPU把处理后的10位二进制数通过8位D/A转换器输出,就会出现输入位数大于输出位数的情况。

对输入位数大于输出位数的处理方法就是忽略高位数的最低几位。如:10位A/D转换器的输入值为0011111010,此值经处理后送入8位D/A转换器的值就变为。这在计算机中通过向右移位的方法是很容易实现的。由于10位A/D转换器的采样分辨率要比8位A/D转换器高的多,因此,虽然舍去了最低的两位数会产生一定的误差,但这一误差仍比采用8位输入8位输出系统的误差小。2.输入位数小于输出位数当输入器件的分辨率比输出器件低时,如采用8位A/D转换器采样,而通过10位D/A转换器进行输出,就会出现输入位数小于输出位数的情况

输入位数小于输出位数的最好处理方法是:将8位数左移两位构成10位数,10位数的最低两位用“0”填充。如;转换前的8位输入值为:××××××××;转换后的10位输出值为:××××××××00。这种处理方法的优点在于构成的10位数接近10位A/D转换器的满刻度值,其误差在10位数字量的3个步长电压之内。3.8电机控制程序设计3.8.1中小功率直流电机调速原理3.8.2开环脉冲调速系统3.8.3带方向控制的脉冲调速系统返回本章首页3.8.1中小功率直流电机调速原理设电机在额定电压下的转速为Vmax,控制信号的占空比D=t/τ(其中t代表通电时间,τ代表脉冲周期),则电机的的转速和控制信号的关系可用如下公式表示:

V=Vmax×D(3-10)返回本节3.8.2开环脉冲调速系统1.开环脉冲调速系统原理开环脉冲调速系统的原理如图3-40所示。图3-41是一个单片机控制的开环脉冲调速系统示意图。2.开环脉冲调速系统程序设计脉冲宽度的调制可通过软件延时法实现。设定图3-41中8155的地址为7F00H,PA、PC口为基本输入口,PB口为基本输出口。则调速系统的软件延时法程序流程图如图3-42所示。软件延时法的程序清单:MOV DPTR,#7F00H ;设置8155命令寄存器地址

MOV A,#06H MOVX @DPTR,A ;设置PA、PB、PC口的工作方式

MOV DPTR,#7F03H ;指向PC口CHECK: MOVX A,@DPTR ;检测是否启动电机

JNB ACC.5,CHECK ;继续检测TURN: MOV DPTR,#7F01H ;设置PA口地址

MOVX A,@DPTR ;读开关数NMOV B,A ;保存N INC DPTR ;指向PB口

MOV A,#80H

MOVX@DPTR,A;启动电机

MOV A,B ;延时N个单位时间

MOV R7,ADELA1: ACALL DELAY DJNZ R7,DELA1 MOV A,#00H

MOVX @DPTR,A;输出停止脉冲 MOV A,B CPL A ;求255-N

MOV R7,A ;延时255-N个单位时间DELA2: ACALL DELAY DJNZ R7,DELA2 INC DPTR ;指向PC口

MOVX A,@DPTR ;检测是否停止运行

JB ACC.5TURN ;继续运行,转TURNOFF: RET ;停止运行返回本节3.8.3带方向控制的脉冲调速系统在很多场合下,不仅要求电机能够正向旋转,而且还能反向旋转。电机旋转方向控制原理图如图3-43所示。由图3-43可以看出,当开关S1和S4闭合时,电机正向旋转;开关S2和S3闭合时,电机反向旋转;开关S3和S4闭合时,电机绕组被短路处于刹车状态;所有开关都打开时,电机处于自由滑行状态。电机的工作状态真值表如表3-6所示。双向电机控制系统原理图如图3-44所示。双向电机的脉冲调速控制,首先要判断电机的旋转方向,根据要求的方向输出相应的控制代码,然后再进行脉冲宽度调速控制。控制程序流程图如图3-45所示。返回本节转速和转向的检测1、霍尔元件当磁性物件移近霍尔开关时,开关检测面上的霍尔元件因产生霍尔效应而使开关内部电路状态发生变化,由此识别附近有磁性物体存在,进而控制开关的通或断。这种接近开关的检测对象必须是磁性物体。2、光电式传感器光电式传感器利用的是光电效应。将发光器件与光电器件按一定方向装在同一个检测头内。当有反光面(被检测物体)接近时,光电器件接收到反射光后便在信号输出,由此便可“感知”有物体接近。利用光电式传感器制作的光电式接近开关可以检测各种物质,但是对于流体的检测误差较大。3光电码盘(光电编码器)光电编码器是通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。此外,为判断旋转方向,码盘还可提供相位相差90度的两路脉冲信号。(1)增量式光电码盘工作原理:

圆盘上有明暗相间的光栅,两边分别装有光源和光敏接收元件。圆盘转动时,光敏接收部分接到光,输出高电平;接收不到光,输出低电平,因此产生一连串脉冲。只要对脉冲进行计数,就可知道旋转轴的转速。为了测量旋转轴的转向,通常有两路脉冲A、B。如果A超前B,电机正转,反之,电机反转。同时,还有一路脉冲信号Z,一圈只有一个脉冲。增量式光电码盘只能测出相对于零位置的位置增量,以每次上电时的位置为位置零点,因此没有固定零点。存在零点累计误差,抗干扰较差,接收设备的停机需断电记忆,开机应找零或参考位等问题,这些问题如选用绝对型编码器可以解决。应用:测速,测转动方向,测移动角度、距离(相对)。(2)绝对值式光电码盘绝对编码器光码盘上有许多道光通道刻线,每道刻线依次以2线、4线、8线、16线……编排,这样,在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2的零次方到2的n-1次方的唯一的2进制编码(格雷码),这就称为n位绝对编码器。这样的编码器是由光电码盘的机械位置决定的,它不受停电、干扰的影响。绝对编码器由机械位置决定的每个位置是唯一的,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。这样,编码器的抗干扰特性、数据的可靠性大大提高了。旋转单圈绝对值编码器,以转动中测量光电码盘各道刻线,以获取唯一的编码,当转动超过360度时,编码又回到原点,这样就不符合绝对编码唯一的原则,这样的编码只能用于旋转范围360度以内的测量,称为单圈绝对值编码器。如果要测量旋转超过360度范围,就要用到多圈绝对值编码器。双向直流电机控制系统设计举例MOVDX,287HMOVAL,74HOUTDX,AL;写入控制字,计数器1工作于分频方式2MOVDX,285HMOVAX,N1OUTDX,AX;写入计数器1的16位计数初值N1,控制PWM周期MOVDX,287HMOVAL,0B2HOUTDX,AL;写入控制字,计数器2工作于单稳态触发方式1MOVDX,286HMOVAX,N1OUTDX,AX;写入计数器2的16位计数初值N2,控制PWM宽度3.9步进电机控制3.9.1步进电机的工作原理3.9.2步进电机控制系统3.9.3步进电机控制程序的设计返回本章首页电脉冲信号转换为角位移,不需要A/D体积小、扭力大步距角变化大,精度高实现瞬间启、停,控制灵敏度非常高停止状态下,仍具有激磁保持力,保持停止位置3.9.1步进电机的工作原理步进电机的结构原理图如图3-46所示。返回本节A、B、C依次通电,步进电机转一个齿距角的位置。如果步进电机转子的齿数为Zr,其齿距角θr就可表示为:

步进电机的转子旋转一个齿距角需要N拍,每一拍旋转的角度,即步距角θ就可表示为:

3.9.2步进电机的工作方式三相单三拍三相双三拍三相单双六拍3.9.3步进电机控制典型的步进电机控制系统如图3-47所示。如果用软件代替脉冲发生器和脉冲分配器,就可以根据系统需要通过编程的方法在一定的范围之内任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。利用单片机控制步进电机可以大大简化控制电路,降低成本,提高系统的可靠性和灵活性。典型的微机控制步进电机的系统原理框图如图3-48所示。利用微机现对步进电机的控制,必须解决以下两个问题:脉冲序列的形成2.步进电机旋转方向控制在微机控制系统中,延时可通过软件或定时器实现。利用软件形成脉冲序列的程序流程图如图3-49所示。利用软件形成脉冲序列的程序清单:PULSE_S: MOV R7,#NUM ;设定脉冲个数

PUSH A ;保护现场

PUSH PSWLOOP: SETB P1.0 ;输出高电平

ACALL DELAY1 ;延时

CLR P1.0 ;输出低电平

ACALL DELAY2 ;延时

DJNZ R7,LOOP ;R7≠0,继续输出脉冲

POP PSW ;恢复现场POP A RET利用定时器形成脉冲序列的程序流程如图3-50所示。(a)主程序(b)定时器中断服务程序2.步进电机旋转方向控制(1)三相单三拍方式:正向旋转,通电顺序为A→B→C→A;

反向旋转,通电顺序为A→C→B→A。(2)三相双三拍方式:正向旋转,通电顺序为AB→BC→CA→AB;

反向旋转,通电顺序为AB→CA→BC→AB。(3)三相六拍方式:正向旋转,通电顺序为A→AB→B→BC→C→CA→A;

反向旋转,通电顺序为→CA→C→BC→B→AB→A。步进电机的旋转方向控制方法:(1)用单片机的一位输出口控制步进电机的一相绕组,例如,可以用P1.0、P1.1、P1.2分别控制A相、B相和C相绕组。(2)根据步进电机的类型和控制方式找出相应的控制模型。(3)按照控制方式规定的顺序向步进电机发送脉冲序列,即可控制步进电机的旋转方向。上述三种控制方式的数序模型如表3-7、表3-8和表3-9所示。表3-9三相六拍控制模型返回本节3.9.3步进电机控制程序的设计三相单三拍控制程序流程图如图3-51所示。三相单三拍控制程序清单:T_CON: PUSH A ;保护现场

PUSH PSW MOV R7,#N ;设定控制步数

JNB FLAG,LEFT ;判断旋转方向RIGHT: MOV R0,RM ;正转模型起始地址

AJMP ROTATELEFT: MOV R0,LMROTATE: MOV A,@R0 ;取第一拍控制模型

MOV P1,A ;输出第一拍控制模型

ACALL DELAY1 ;延时INC R0 MOV A,@R0 ;取第二拍控制模型

MOV P1,A ;输出第二拍控制模型

ACALL DELAY1 ;延时

INC R0 MOV A,@R0 ;取第三拍控制模型

MOV P1,A ;输出第三拍控制模型

ACALL DELAY1 ;延时

DJNZ R7,ROTATE ;未走完要求的步数,继续

POP PSW ;恢复现场

POP A RET ;返回三相六拍控制程序流程图如图3-52所示。(a)主程序流程图(b)定时器中断服务程序三相六拍控制程序中断服务程序清单:INTT0: PUSH A ;保护现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论