收藏 分销(赏)

计算机控制技术第5章ppt课件(全).ppt

上传人:胜**** 文档编号:92771 上传时间:2022-07-08 格式:PPT 页数:82 大小:1.24MB
下载 相关 举报
计算机控制技术第5章ppt课件(全).ppt_第1页
第1页 / 共82页
计算机控制技术第5章ppt课件(全).ppt_第2页
第2页 / 共82页
计算机控制技术第5章ppt课件(全).ppt_第3页
第3页 / 共82页
计算机控制技术第5章ppt课件(全).ppt_第4页
第4页 / 共82页
计算机控制技术第5章ppt课件(全).ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、第5章计算机控制系统程序设计,1/82,5.1,巡回检测程序,5.2,越限报警程序,5.3,判断程序,5.1判断程序,所谓算术判断程序,就是根据算术运算结果进行判断。用于算术操作类的指令如:ADD,ADDC,INC,DA,SUBB,DEC,MUL,DIV,其中的加(ADD,ADDC),减(SUBB),乘(MUL)和除(DIV)是四种基本的算术运算指令。由运算结果判断程序流向的指令,如,JZ、JNZ、CJNZ、DJNZ指令。将它们有机地结合起来就很容易地根据用户需要形成算术判断程序。 算术判断程序的两个基本要素:其一,是算术运算类指令;其二,是控制程序转移类指令。,2/82,第5章计算机控制系统

2、程序设计,算术判断程序,在计算机控制系统中,常常需要对检测的数据或状态进行分析,根据数值的大小及状态进行判断,以确定程序的流向。为此目的而设计的程序即为判断程序。,5.1.1 算术判断程序,例5-1 图5-1是用DAC0832作电压波形发生器的电路。写出产生三角波的程序清单。说明算术判断程序的设计。,图5-1电压波形发生器电路,3/82,第5章计算机控制系统程序设计,三角波程序清单: ORG 2000HSTAR: MOV DPTR,#0BFFFH ;选通道STARA: MOV R6,#00H ;置初值STARB: MOV A, R6 MOVX DPTR,A ;启动D/A转换 INC R6 ;数

3、字加1 CJNE R6,#FFH,STARB ;数字FFH,循环STARC: DEC R6 ;数字到FFH后减1 MOV A,R6 MOVX DPTR,A ;启动D/A转换 CJNE R6,#00H,STARC ;数字00H,返回STRAC AJMP STARA,4/82,第5章计算机控制系统程序设计,5.1.1 算术判断程序,在此程序中,将D/A转换的初值送入R6中,在第一个循环体中对R6作INC加1操作,然后,将R6中的数和常数0FFH进行比较,用CJNE R6,#FFH,STARB 指令,当(R6)FFH时,程序转向STARB继续循环;当(R6)=FFH时,三角波的左半部分已经形成,已处

4、于三角波的顶点,于是就进入下一个循环中,对R6又作DEC减1操作,使D/A转换生成三角波的右半部分,用CJNE R6 ,#00H,STARC指令对R6中的数值与00H常数作比较,以确定程序的转向。三角波波形图如图5-2所示。,图5-2三角波波形图,5/82,第5章计算机控制系统程序设计,5.1.1 算术判断程序,例5-2 查找关键字程序入口条件:在外部RAM 3000H3020H的区域中检查关键字ABH。出口条件:找到在则将关键字送入累加器A,否则A清零。查找关键字程序流程图,如图5-3所示。,图5-3查找关键字程序流程图,6/82,第5章计算机控制系统程序设计,程序清单: ORG 2000H

5、 MOV DPTR,#3000H MOV R7,#01H MOV R0,#0ABH LOOP: MOVX A,DPTR INC DPTR SUBB A,R0JZ LOOP1 DJNZ R7,LOOPCLR AAJMP HALT LOOP1: MOV A,R0 HALT: RET,7/82,第5章计算机控制系统程序设计,5.1.2 逻辑判断程序,1.逻辑判断程序是根据逻辑关系来确定程序流向的程序。2.在MCS-51单片机控制系统中,用于逻辑操作类的指令如:ANL、ORL、XRL、RL、RLC、RR、RRC、CPL、CLR,它们与其它的控制转移类指令结合起来就可以构成逻辑判断程序。3.在逻辑判断程

6、序中也包含两个基本要素:其一,是逻辑操作类的指令;其二,是控制程序转移类指令。 例5-3 设K1K4表示四个开关,当它们全都打开时,绿色指示灯亮,表明系统投入正常运行,否则,等待正确指令,电路如图5-4所示。,图5-4 逻辑判断电路,8/82,第5章计算机控制系统程序设计,逻辑判断程序清单: ORG 2000H MAIN: MOV A, P1 ;读开关状态 ANL A, 0FH ;屏蔽P1.7P1.4 XRL A, #0FH ;判断K1K4是否全为主电平 CJNE A, #00H , MAIN ;K1K4没有全打开转向MAIN,等待 正确指令 SETB P3.0 ;置P3.0=1绿灯亮,系统投

7、入运行 RET,9/82,第5章计算机控制系统程序设计,同理,可以用逻辑操作写出类似的其它形式的判断程序。下面是用布尔操作指令来实现的逻辑判断程序。例5-4 逻辑运算图如图5-5所示。设U、V分别为P1.1和P1.2的状态,W是定时器0的溢出标志TF0,X是 请求标志IE1,Y和Z是程序中设置的软件标志20H.0和20H.1处的布尔变量,Q为输出P3.0。试写出Q为不同值时的逻辑判断程序。,10/82,第5章计算机控制系统程序设计,标志判断程序,标志判断程序是根据标志单元或标志位的状态进行判断,以确定程序流向的程序。 标志可根据实际需要设定在存贮单元中,如MCS-51的片内RAM区007FH,

8、或外部扩展存贮器中,也可设定在位地址空间007FH中。执行MCS-51的一些指令时也会产生标志,如Cy(PSW.7),OV(PSW.2),P(PSW.0)等,另外,还有中断请求标志和定时器溢出标志等等。 例5-5 设MCS-51系统采用6MHz晶体,用定时器0产生1ms定时,由P1.0输出2ms方波。 求定时器的初值:设定时器T0选择工作方式0,则: 213-X210-6=110-3 X=7692 化成十六进制为0F0CH 定时器工作方式控制字:TMOD=00H 允许定时器T0中断,12/82,第5章计算机控制系统程序设计,13/82,第5章计算机控制系统程序设计,程序清单: ORG 0000

9、H AJMP MAIN ; 上电转主程序 ORG 000BH ;T0中断入口地址 AJMP INT ORG 2000H MAIN: CLR P1.0 MOV TMOD, #00H ;T0工作方式0 MOV SP,#60H MOV TL0, #0CH MOV TH0, #0F0H ;T0置初值 SETB TR0 ;启动T0 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 RET,14/82,第5章计算机控制系统程序设计,中断服务子程序: ORG 2400HINT:MOV TL0,#0CH ;用软件重新装载TH0和TL0 MOV TH0,#0F0H CPL P1.0 ;P1.0位

10、取反 RETI,图5-6定时器T0产生方波,P1.0输出的波形如图5-6所示。,15/82,第5章计算机控制系统程序设计,5.2 巡回检测程序巡回检测中的模拟量输入通道,I,II,III,图5-7 巡回检测中的模拟量输入通道,它由变送器()、转换器()和I/O接口()三部分组成。其基本功能是对检测点进行数据采集、放大、并转换为数字量。巡回检测中的模拟量输入通道如图5-7所示。,16/82,第5章计算机控制系统程序设计,5.2.2采样定理与采样周期的选取,1.采样定理 在计算机控制系统中,只能每隔一定的时间间隔T采入模拟信号的瞬时值,这一过程即是采样,时间间隔T称之为采样周期。采样过程是由采样开

11、关来完成的,从而使原来在时间上连续的信号X(t)变成时间上的离散的采样信号X*(t)。 通常采样持续时间非常短暂,可以将采样信号X*(t)理想地看作是有强度,无宽度的单位脉冲序列: 而(t)是由X(t)调幅的结果,如图5-8所示此时,脉冲强度由X(kt)决定,所以采样函数就为:,17/82,第5章计算机控制系统程序设计,18/82,第5章计算机控制系统程序设计,图5-8 采样前后的信号波形,19/82,第5章计算机控制系统程序设计,2. 采样周期的选取 在设计离散系统时,香农采样定理是必须严格遵守的一条准则,因为它指明了从采样信号中不失真地复现原连续信号所必需的理论上的最小采样周期T,但它只是

12、给出了采样周期选择的基本原则,并未给出选择采样周期的具体计算公式。 在工业过程控制中,采样周期的选取往往综合多种因素,采用折中的方法,可参考下面表5-1的经验数据。,表5-1常见量经验采用周期,20/82,第5章计算机控制系统程序设计,5.2.3 巡回检测系统程序设计,例5-6 某厂有一组退火炉共8座,用MCS-51单片机对退火炉的温度进行巡回检测。系统控制原理图如图5-9所示。,图5-9退火炉温度巡回检测系统原理图,21/82,第5章计算机控制系统程序设计,表5-2 ADC0809通道寻址表,(1)模拟量输入通道:由变送器将热电偶输出的信号变成05V的标准信号送给 0809A/D转换器,AD

13、C0809内部含有一个8通道多路开关,对退火炉的8个通道进行选择,考虑到由于温度变化缓慢,故省去了采样/保持器。(2)A/D转换采样采用中断工作方式: 选为边沿触发方式。(3)ADC0809的控制:ADC0809通道寻址表见表5-2。(4)程序流程图如图5-10,5-11。,22/82,第5章计算机控制系统程序设计,(a)主程序流程图 (b)中断服务子程序流程图,图5-10 程序流程图,23/82,第5章计算机控制系统程序设计,(5)程序清单:主程序 ORG 0000H AJMP START ;转主程序 ORG 0003H ; 中断入口地址 AJMP INT0 ; 中断服务子程序 ORG 20

14、00HSTART: MOV DPTR,#7FF8H ;指向A/D启动地址和IN0首地址 MOV R0,#50H ;采样数据地址指针 MOV R7,#00H ;通道个数初值 SETB IT0 ; 选边沿触发方式 SETB EX0 ; 开中断 SETB EA ;CPU开中断START1 :MOVX DPTR,A ;启动A/D转换(P2.7=0有效)HERE: . ;数字滤液,24/82,第5章计算机控制系统程序设计,. ;标度变换 .END: AJMP END ;线性化处理等 中断服务子程序: ORG 2100HINT0: MOVX A,DPTR ;读A/D转换结果 MOVX R0,A ;数据存入

15、RAM区 INC R7 ;通道个数加1 INC R0 ;修改数据区指针 INC DPTR ;修改通道号 CJNE R7,#08H,RESTART ;判断8个通道是否采样完 MOV R7,#00H ;重置初值RESTART: MOVX DPTR,A ;启动下一个通道 RETI,5.3 越限报警程序,25/82,第5章计算机控制系统程序设计,图5-11锅炉三冲量调节系统,5.3.1软件报警程序,1.用计算机对系统中的某些部位或重要参数进行检查并报警,以提醒操作人员注意或采用紧急措施,确保安全生产。2.报警程序的设计方法分为两种:一种是软件报警程序,另一种是直接报警。,所谓软件报警程序,是把被测参数

16、如温度、压力、流量、液位、速度、成分等参数,经传感器、变送器、/转换、单片机后再与上下限比较,根据比较结果报警或处理,整个过程都是用软件实现。,图5-12锅炉报警原理图,26/82,第5章计算机控制系统程序设计,27/82,第5章计算机控制系统程序设计,报警参数信号对照表如表5-3所示。 表5-3报警参数信号对照表,软件报警程序流程图如图5-14所示。,28/82,第5章计算机控制系统程序设计,图5-13 软件报警程序流程图,5.32直接报警程序,29/82,第5章计算机控制系统程序设计,例5-7 锅炉报警系统原理图如图5-15所示。其中设开关1和2分别表示三液位上、下限报警;1为蒸气压力下限

17、报警,S2为炉膛温度上限报警。使用外部中断 。 试编写直接报警程序。,1.直接报警程序:是指对于某些开关量信号,通过硬件申请中断的方法来实现对参数或位置的检测,将报警模型直接送到报警电路进行报警的程序。,2.实现直接报警的前提:是被测参数与给定值的比较在传感器中进行。,30/82,第5章计算机控制系统程序设计,图5-14锅炉报警系统原理图,31/82,第5章计算机控制系统程序设计,程序清单: 主程序: ORG 0000H AJMP MAIN ORG 0003H ;中断入口地址 AJMP ALARM ORG 0200H MAIN:SETB IT0 ;选择边沿触发方式 SETB EX0 ; 开中断

18、 SETB EA ;CPU开中断 HERE:SJMP HERE,33/82,第5章计算机控制系统程序设计,5.4 步进电机控制程序5.4.1步进电机的工作原理,图5-15步进电机剖面示意图,电机的定子上有六个等分的磁极,相邻两个磁极间的夹角为60O。磁极上面装有控制绕组并联成、三相。转子上均匀分布40个齿,每个齿的齿距为9O。定子每段极弧上也有个齿,定、转子的齿宽和齿距都相同。而每个定子磁极的极距为60O,所以每一个极距所占的齿距数不是整数。从图5-17所给出的步进电机定、转子展开图中可以看出,当极下的定、转子齿对齐时,极和极下的齿就分别和转子齿相错三分之一转子齿距,即为O。这时,若给相通电,

19、电机中产生沿极轴线方向的磁场,因磁通要按磁阻最小的路径闭合,就使转子受到反应转距(磁阻转距)的作用而转动,直到转子齿和极上的齿对齐为止。此时,极和极下的齿又分别与转子齿相错三分之一的转子齿距。由此可见:错齿是促使步进电机旋转的根本原因。,34/82,第5章计算机控制系统程序设计,图5-16步进电机定、转子展开图,5.4.2步进电机的控制1.步进电机控制系统的组成典型的步进电机控制系统如图5-18所示。,35/82,第5章计算机控制系统程序设计,图5-18步进电机控制系统的组成,36/82,第5章计算机控制系统程序设计,典型的单片机控制步进电机系统原理框图,图5-19 单片机与三相步进电机的接口

20、,80318051,37/82,第5章计算机控制系统程序设计,2步进电机控制程序需要解决的问题 步进电机控制程序设计的主要问题有三: 第一,控制脉冲的产生。第二,步进电机的旋转方向和时序脉冲的关系。 第三,步数的确定。,()控制脉冲的产生 在单片机控制步进电机时,控制脉冲是用软件产生的。方法是先输出一个高电平,然后延时,再输出低电平,再进行延时。延时时间的长短由步进电机的工作频率决定。可通过以下两种方法来产生控制脉冲:1)程序延时产生控制脉冲。2)定时器延时产生控制脉冲。利用单片机内部定时/计数器进行延时,根据不同的计数初值产生不同的延时。可以用中断方式或查询方式。,38/82,第5章计算机控

21、制系统程序设计,()步进电机的旋转方向和时序脉冲的关系 步进电机的旋转方向与内部绕组的通电方式和通电顺序有关。以常用的三相步进电机为例,通常有三种通电方式:,三相单三拍 三相双三拍 三相六拍 A 按以上顺序通电,步进电机正转,按相反方向通电,步进电机反转。表5-4三相单三拍;表5-5 三相双三拍;表5-6 三相六拍。,表5-4 三相单三拍,39/82,第5章计算机控制系统程序设计,表5-6 三相六拍,表5-5 三相双三拍,40/82,第5章计算机控制系统程序设计,三相单三拍通电方式,在累加器中放时序控制字节49H,如图5-21所示。,(a) (b)图5-20 三相单三拍通电方式 (a) 正转;

22、(b) 反转,41/82,第5章计算机控制系统程序设计,三相双三拍通电方式,在累加器中放时序字节BBH,如图5-21所示。,图5-21 三相双三拍通电方式,(a) 正转 (b) 反转,42/82,第5章计算机控制系统程序设计,程序清单:MOV R3, #N ;设步长计数器 CLR C PUSH AMOV A,#49H(或者BBH)MOV P1,A ;输出控制脉冲 PUSH AACALL DELAY ;延时 POP A LOOP: RLC A(或者RRC A)MOV P1,A ;输出控制脉冲PUSH A ACALL DELAY,(1)用程序延时方法的程序,43/82,第5章计算机控制系统程序设计

23、,POP A DJNZ R3,LOOP POP A RETDELAY: MOV R2 ,#M DELAY1:MOV A ,#M1 LOOP1: DEC A DJNZ LOOP1 DJNZ R2,DELAY1 RET,44/82,第5章计算机控制系统程序设计,(2)用定时器延时方法编写程序,程序清单: MOV R3,#N ;设步长计数器 CLR C MOV A,#49H(或者BBH) MOV TMOD,#01H ;T0定时方式1 MOV TL0 ,#XL ;T0赋初值 MOV TH0 ,#XH SETB TR0 ;启动T0 MOV P1,A ;输出控制脉冲LOOP:JBC TF0,REP AJM

24、P LOOP REP: MOV TL0,#XL ;重赋初值 MOV TH0, #XH,45/82,第5章计算机控制系统程序设计,(3)步数的确定 步进电机的步数可由步距角和需要转过的角度来计算。 步距角 式中:b:步距角。r :转子齿数。 :拍数(一般三拍时N=m或六拍时N=2m)。m :控制绕组相数。 例如:r40, 三相单三拍运行,m 则步距角为:,RLC A(或者RRC A) MOV P1,A DJNZ R3,LOOP RET,图5-23三相三拍定时器延时控制流程图,46/82,第5章计算机控制系统程序设计,b360/(40 3) 又例如:r40, 三相六拍运行,2m,则步距角为: b3

25、60/(40 6)1.5 设要求步进电机转过的角度为75,采用三相六拍运行方式,那么步数就为: 75/1.550(步),5.4.3步进电机控制程序的设计,在解决了前面提出的三个问题之后,我们就要进行步进电机控制程序的设计,在前面已给出了三相三拍的通用控制程序。下面的三相六拍运行方式程序的设计,将使我们对步进电机控制程序有一个更深入的了解。 步进电机所要走的步数放在R4中,转向标志存放在程序状态寄存器用户标志位PSW的F1(D5H)中,当F1为零时,步进电机正转,当F1为“1”时步进电机反转,正转模型01H、03H、02H、06H、04H、05H存放在8031片内数据存储器20H25H中,26H

26、中存放结束标志00H。在27H开始的存储区内存放反转控制模型01H、05H、04H、06H、02H、03H,在2DH单元存放结束标志00H。下面将用程序延时和定时器延时两种方法进行编程。,47/82,第5章计算机控制系统程序设计,5.4.3步进电机控制程序的设计.程序延时控制程序,程序清单如下如下:PUSH A ;保护现场MOV R4,#N ;设步长计数器 CLR C ORL C,D5H ;转向标志为1转移 JC ROTE MOV R0,#20H ;正转模型首址 AJMP LOOP ROTE: MOV R0, #27H ;反转模型首址 LOOP: MOV A,R0 MOV P1, A ;输出控

27、制脉冲 ACALL DELAY ;延时 INC R0 ;地址增1 MOV A,#00H,48/82,第5章计算机控制系统程序设计,图5-24程序延时控制程序流程图,ORL A,R0 ;是结束标志转移 JZ TPL LOOP1: DJNZ R4, LOOP ;步数不为零转移 POP A ;恢复现场 RET ;返回 TPL: MOV A, R0 CLR C ;恢复模型首址 SUBB A, #06H; MOV R0,A AJMP LOOP1 DELAY: MOV R2 ,#M DELAY1:MOV A ,#M1 LOOP: DEC A JNZ LOOP DJNZ R2, DELAY1 RET,49/

28、82,第5章计算机控制系统程序设计,.定时器延时控制程序 三相六拍步进电机控制程序。 程序清单: 主程序 MOV R4 ,#N ;设步长计数器 CLR C ORL C, D5H ;转向标志为转 JC ROTE MOV R0,#20H ;正转模型地址 AJMP PH ROTE:MOV R0, #27H ;反转模型地址 PH: MOV TMOD, #01H ;T0定时方式 MOV TL0,#XL ;T0赋初值 MOV TH0, #XH SETB TR0 ;启动T0 SETB ET0 ;允许T0中断 SETB EA ;CPU开中 断 LOOP:MOV A,R4 :等待中断 JNZ LOOP CLR

29、EA ;CPU关中断 HERE:SJMP HERE ;结束,50/82,第5章计算机控制系统程序设计,中断服务程序: PUSH A ;保护现场 MOV A,R0 MOV P1, A ;输出控制模型 DEC R4 ;步长减1 INC R0 ;地址增1 MOV A, #00H ORL A, R0 ;是结束标志转移 JZ TPL TOR: MOV TL0,#XL ;赋初值 MOV TH0, #XH POP A ;恢复现场 RETI ;从中断返回 TPL:MOV A, R0 CLR C ;恢复模型首址 SUBB A, #06H MOV R0,A AJMP TOP,51/82,第5章计算机控制系统程序设

30、计,图5-25定时器延时控制程序流程图,(a) 主程序 (b) 中断服务子程序,5.5控制算法PID程序 5.5.1 PID控制算法,52/82,第5章计算机控制系统程序设计,1.位置式PID算法 连续系统PID控制规律为:,式中: 调节器的输出信号; 调节器的偏差信号,它等于测量值与给定值之差; 调节器的比例系数; 调节器的积分时间; 调节器的微分时间。,比例积分微分控制规律简称PID(Proportional Integral Differential)控制,是连续系统中技术最成熟、应用最广泛的调节方式。,53/82,第5章计算机控制系统程序设计,由于计算机控制是一种采样控制,它只能根据采

31、样时刻的偏差值来计算控制量。因此,在计算机控制系统中,必须首先对式进行离散化处理,用差分方程代替微法方程,积分项和微分项可用求和以及增量式表示:,积分项:,微分项:,离散的PID表达式:,2. 增量式PID算法。,54/82,第5章计算机控制系统程序设计,由上式可以写出:,增量型PID的控制算式:,积分系数,微分系数,令:,56/82,第5章计算机控制系统程序设计,例5-8 已知连续系统的PID控制规律为: 采样周期T=1s。(1)写出离散的位置型PID控制算法的表达式。(2)写出离散的增量型PID控制算法的表达式。 解:(1)离散的位置型PID控制算法的表达式。,57/82,第5章计算机控制

32、系统程序设计,(2)增量型PID控制算法的表达式,5.5.2 PID算法程序设计,58/82,第5章计算机控制系统程序设计,1.位置式PID算法程序 写出第k次采样时的PID的输出表达式,设比例项输出如下:,其中积分项输出如下:,59/82,第5章计算机控制系统程序设计,微分项输出如下:,即为离散化的位置型PID编程公式,其流程如图5-26所示。,图5-26位置型PID 运算程序流程图,60/82,第5章计算机控制系统程序设计,2.增量型PID算法程序设计 根据PID的输出表达式,可以得到,设,所以有为离散化的增量型PID编程表达式为:,增量型PID算法程序流程图如图5-27所示,61/82,

33、第5章计算机控制系统程序设计,图5-27增量型PID算法程序流程图,62/82,第5章计算机控制系统程序设计,5.6 数字滤波程序 数字滤波是通过一定的计算程序对采样信号进行处理,以减小或消除干扰信号,达到滤波的目的,在计算机控制系统中获得广泛应用。数字滤波容与RC滤波器比较,其优点是: (1)数字滤波是以软件替代硬件,简化系统,提高可靠性,降低成本。可通过软件选择滤波方法或更改参数,使用灵活。 (2)实现多通道数字滤波器资源共享,且无阻控所配问题。 (3)可对频率很低的干扰信号如0.11HZ进行滤波,而用R-C滤波实现困难。,5.6.1 程序判断滤波,程序判断滤波根据滤波方法不同,分为限幅滤

34、波和限速滤波。,1限幅滤波,63/82,第5章计算机控制系统程序设计,图5-28限幅滤波程序流程图,若|y(k)y(k1) y,则y(k)y(k),取本次采样值。(2) 若|y(k)y(k1) y,则y(k)y(k1),取上次采样值。,式中,y(k)为第k次采样值;y(k1)为第(k1)次采样值;y为相邻两次采样值所允许的最大偏差,其大小决于对采样周期T及y值变化的动态响应。,64/82,第5章计算机控制系统程序设计,2限速滤波限速滤波的算法是根据以下原则取顺序采样时刻t1、t2、t3所采集的参数y(1)、y(2)、y(3)。(1) 若|y(2)-y(1)|y,则取y(2)。(2) 若|y(2

35、)-y(1)|y,则不采用y(2),将其保留,继续采样,取得y(3)。(3) 若|y(3)-y(2)|y,则取y(3)。(4) 若|y(3)-y(2)|y,则取y(3)+y(2)/2。,图5-29 限速滤波的程序流程图,65/82,第5章计算机控制系统程序设计,5.6.2中值滤波,中值滤波的算法为:yy2 (y1y2y3)。所谓中值滤波就是对某一个被测参数连续采样几次,通常取奇数,如n3或5,从小到大或者从大到小排队,选择中间值作为本次采样值。,程序清单: ORG 2000H INTER: MOV R2,#04H;置大循环次数 SORT: MOV A,R2 ;小循环次数(R3) MOV R3,

36、A MOV R0,#SAMP;采样数据首地址(R0 ) LOOP: MOV A,R0;比较 INC R0,67/82,第5章计算机控制系统程序设计,5.6.3算术平均值滤波,算术平均值滤波的算法为:,式中 第k次N个采样值的算术平均值;x(i) 第i次采样值;N 采样次数。 算术平均值滤波的实质是把一个采样周期内N次采样值相加,然后再除以采样次数N,便得到该采样周期的采样值.,5.6.4加权平均值滤波,算术平均值滤波中,对于N次以内所有的采样值来说,所占的比例是相同的亦即取每次采样值的/N。但有时为了提高滤波效果,将各采样取不同的比例,然后再相加,此方法称为加权平均法。,68/82,第5章计算

37、机控制系统程序设计,一个n项加权平均式为:,式中C0、C1、Cn-1均为常数项,应满足下列关系:,式中C0、C1、Cn-1为各次采样值的系数,它体现了各次采样值在平均值中所占的比例,可根据具体情况决定。一般愈新采样值,取的比例愈大,以迅速反映系统当前所受干扰的程度,适用于系统纯延迟时间常数比较大而采样周期比较短的过程。,70/82,第5章计算机控制系统程序设计,将式(5-10)离散化,可得:,对于一个确定的采样系统而言,T为已知量,所以由,可得,当 1时,ln(1-)-1=,假入更改一种形式:,即可构成高通滤波形式。, 第k次采样值;, 第k次滤波结果输出值;, 第k-1次滤波结果输出值;,T

38、 采样周期。, 滤波平滑系数,,71/82,第5章计算机控制系统程序设计,5.6.6 复合数字滤波,为了进一步提高滤波效果,有时可以把两种或两种以上不同滤波功能的数字滤波器结合起来,组成复合数字滤波器,或称多级数字滤波器。,这种滤波方法的原理可由下式表示。,此外,也可采用双重滤波的方法,即把采样值经过低通滤波后,再经过一次高通滤波,这样,结果更接近理想值,这实际上相当于多级RC滤波器。,对于多级数字滤波器,根据,可知:,若x(1)x(2)x(N),3N14,则,73/82,第5章计算机控制系统程序设计,5. 7标度变换程序,所谓标度变换就是把被测参数经过变送器转换成统一的电压信号(如05v),

39、由模/数转换器转换成数字量,例如8位A/D时为00HFFH,12位A/D时为000H0FFFH,再把数字量转换为相应的数值和单位,以便于监视和管理。,5.7.1线性参数标度变换程序,线性标度变换是指被测参数值与A/D转换结果为线性关系。其算法为:,74/82,第5章计算机控制系统程序设计,其中,Ax:实际测量值(工程量);Am:一次测量仪表的上限;A0:一次测量仪表的下限;一次仪表如与介质直接接触的测量仪表(4-20mA)。例如,流量传感器为一次仪表,流量显示为二次仪表。Nx: 测量值所对应的数字量;N0: 仪表下限所对应的数字量;Nm:仪表上限所对应的数字量。Am、A0、Nm、N0这些参数对

40、某一固定被测参数来说都是常数,不同参数有着不同的值,在程序设计时,为了简便,一般把一次仪表的下限A0对应的数字量置为零,即N00。于是算法就变成:,75/82,第5章计算机控制系统程序设计,考虑到在很多测量系统中,仪表下限值A00,则N0=0,上面的算法就进一步简化为:,例5-9 某热处理炉温度测量仪表的量程是200800,在某一时刻,经计算机采样并滤波后的数字量是CDH,求此时的温度值是多少?(设仪表量程是线性关系)解:A0=200 Am=800 N0=0, Nm=FFH,Nx=CDH=(205)10,78/82,第5章计算机控制系统程序设计,5.8.2抛物线插值,抛物线插值也叫二次插值。在

41、线性插值中用A(x0,y0)和B(x1,y1)两点来建立y与x的线性关系,如果再利用一个点C(x2,y2)来求y=f(x)的近似值,其几何意义是通过三点作一曲线,当它们不在一直线上时,通过三点的曲线即是抛物线,故称抛物线插值。,抛物线插值公式为:,因为(x0,y0)、(x1,y1)、(x2,y2)均为常数,式(5-33)可化为:,79/82,第5章计算机控制系统程序设计,5.8.3线性插值法的应用举例,用分段线性插值法对流量进行线性化处理。图5-34是某流量测量系统流量与差压的实测变化曲线。由图可知,流量差压变化曲线是非线性,将上图曲线采用分段线性插值法作线性化处理。 选取各插值基点,将曲线分

42、段。,图5-34流量差压变化曲线,80/82,第5章计算机控制系统程序设计,插值基点的选取方法有两种: 第一种,等距分段法。指沿横坐标等距离的选取插值基点。优点是间距为常数,计算方便,对于函数的曲率和斜率变化较大时,会产生一定的误差,可通过缩小间距来减小误差。 第二种,非等距分段法:指基点的分段不是等距的,而是根据函数曲线形状的变化率的大小来修正插值基点的距离。当曲率变化大时,插值间距取小一点,也可使常用刻度范围插值距离小一点,不常用刻度区域的插值距离大一点,只是非等距插值点的选取比较麻烦。,图5-35用分段线性插值法求解流量图,81/82,第5章计算机控制系统程序设计,图5-36用插值法计算流量程序流程图,

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 大学课件

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服