您好,欢迎访问三七文档
数字单片机模糊控制方式数字单片机与模糊控制关系单片机模糊控制:在数字单片机上用模糊控制方式取代原来的数字控制方式,根据模糊控制算法编制软件程序来实现对复杂工业过程的模糊控制。单片机:在一块芯片中集成了CPU、存储器ROM、RAM、并行I/O口、定时器/计数器、串行I/O口、振荡电路等计算机的各种部件。适用于:工业控制、家用电器和仪器仪表。在90年代,市场上掀起的带有仿思逻辑功能的家用电器热潮,就成功地把单片机模糊逻辑控制技术应用于家用电器的智能化上。单片机模糊控制器的功能由单片机用软件来实现。归纳起来,数字单片机的模糊控制一般采用以下三种方式:1.强度转移方式2.直接查表方式3.公式计算方式图单片机模糊控制系统结构框图数字单片机模糊控制方式一、强度转移方式该系统控制的模糊规则为:IFe=ZEAND△e=PSTHENu=NSIFe=ZEAND△e=ZETHENu=ZEIFe=NSAND△e=NSTHENu=PSIFe=NSAND△e=ZETHENu=PL1、强度转移法的基本原理设一个系统输入模糊量:偏差和偏差变化率;输出模糊量:控制量。都取五个模糊值:正大(PL)、正小(PS)、零(ZE)、负小(NS)、负大(NL)。强度转移法进行模糊推理的法则:取每一规则的两个前件的隶属度的最小值,作为后件的隶属度。(实质:削顶法)在某一时刻系统的偏差e=-1,偏差变化率△e=1.5,求输出u=?图输入模糊化和模糊推理过程输入模糊化:求得偏差e的ZE隶属度为0.6,NS隶属度为0.4;偏差变化率△e的PS隶属度为0.8,ZE隶属度为0.2,NS隶属度为0。图输出模糊量示意图输出量的逆模糊化(重心法):单点隶属函数:不管隶属函数取何形状,都只取各隶属函数的中点的论域值的隶属度作为有效值。图单点隶属函数2、强度转移法的单片机实现关键要解决两个问题:①各论域的隶属函数在内存中的存放和特定输入量隶属度的求取问题;②多条模糊推理法则在内存中的存放和输出量隶属度的求取问题。强度转移法在数字单片机中的实现过程:模糊化、模糊推理和逆模糊化三部分(1)输入输出量的模糊化算法强度转移法的模糊化过程分三步:①确定系统的输入输出变量论域,并在每一个论域中定义出相应的隶属函数(即模糊量),存放在数字单片机的ROM中;②求取输入变量的实时值;③把输入量的实时值和已定义的对应隶属函数进行比较组合,求出相应的模糊输入量。一般:输入语言变量分成3~8个语言值(即隶属函数)输出语言变量分成5~12个语言值(目的:提高控制精度)图隶属函数形状实践证明,系统的控制品质对其输入输出模糊量的隶属函数的形状是不敏感的,只与所定义的隶属函数的个数和每个隶属函数所覆盖的论域范围大小有着较密切的关系,为了简化处理过程,通常定义隶属函数形状为这四种:(a)梯形(b)半梯形(c)三角形(d)半三角形图梯形隶属函数算法描述(1)梯形隶属函数在数字单片机内存中表示方法:四点法和点斜率法。四点法存储一个隶属度函数需占内存4个字节,其中两个字节用于表示2个底点;2个字节用于表示2个顶点。对于八位单片机可采用将论域的坐标值化为最大用一个字节表示,用十六进制表示为:$00~$FF。同理,隶属度取值为0~1,但坐标值也可化为最大用一个字节表示,故为$00~$FF。若用Xa、Xb、Xc、Xd表示其A、B、C、D四点的X轴坐标值,则四点法表示为(Xa,Xb,Xc,Xd)。存储图所示隶属度函数只需4个字节,即($20,$40,$60,$80)1()0XPx1$20aPX2$60cPX点斜率法用4个字节存储一个隶属函数:第一字节:梯形第1个底点,即A点的X轴坐标值。第二字节:梯形左边斜边的斜率,即线段AB的斜率。第三字节:梯形第2个顶点,即C点x轴坐标值。第四字节:梯形右边斜边的斜率,即线段CD的斜率。现用P1、S1、P2、S2表示图所示的梯形隶属函数的以上4个字节,Xa、Xb、Xc、Xd表示其A、B、C、D四点的X轴坐标值。$1$08baFFSXX$2$08dcFFSXX求特定输入量X的隶属度µ(X):①12()(1)1PxPxxPS②若µ(x)$FF时,取µ(x)=$FF③2()$(2)2xPxFFxPS若µ(x)0时,取µ(x)=0图点斜法求梯形隶属函数的隶属度的程序框图ACBXµ半梯形:三点法:(Xa,Xb,Xc)点斜率法:(Xa,S1,Xc)图三角形隶属函数算法描述(2)三角形隶属函数点斜率法:第一个字节:三角形的第一个底点,即A的X坐标值。第二个字节:三角形的顶点,即B点的X坐标值。第三个字节:三角形右边的斜率,即线段BC的斜率。三点法:($20,$40,$60)点斜率法:($20,$40,$08)()0acXXXXx或三点法求特定输入量X的隶属度µ(X):①()$aabbaxxxxxxFFxx②③若已知A、B、C的X轴坐标为Xa、Xb、Xc()$cbccbxxxxxxFFxx图三角形隶属函数算法描述图点斜法求隶属于三角形函数的隶属度的程序框图024681=$FFμX(0)($20)($40)($60)($80)($A0)($C0)($E0)($FF)-2-4-6-8负大NB负小NS零ZE正小PS正大PB图温控系统的输入语言变量e和Δe的隶属函数例:温控系统图输出模糊量的单点隶属函数$78$8C$9B$AA$B9$C8$DC1120NBNMNSZEPSPMPBu135150165180195210ROM模糊值模糊变量地址隶属函数$C00$C03$C06$C09$C0C$00$20$40$30$50$70$60$80$A0$90$B0$D0$C0$E0$FFNBNSZEPSPB偏差e$C10$C13$C16$C19$C1C$00$20$40$30$50$70$60$80$A0$90$B0$D0$C0$E0$FFNBNSZEPSPB偏差变化率△e$C20$C21$C22$C23$C24$C25$C26$78$8C$9B$AA$B9$C8$DCNBNMNSZEPSPMPB控制量u表隶属函数的存放形式求取输入变量实时值:图单片机温度控制系统结构框图eRY12eee其中:R为给定值,Y为本此采样值,e1为本此偏差值,e2为上一次的偏差值。1求相应的模糊输入量:把输入变量的实时值和已定义的隶属函数进行比较组合来求。若e=$63,Δe=$63:$70$63($63)$$68$70$50NSFF$63$60($63)$$18$80$60ZEFFRAM模糊值模糊输入量地址隶属度$40$41$42$43$44$00$68$18$00$00NBNSZEPSPB偏差e$45$46$47$48$49$00$68$18$00$00NBNSZEPSPB偏差变化率△e表模糊化后模糊输入量的存放形式a)IFe=ZEAND△e=PSTHENu=NSb)IFe=ZEAND△e=ZETHENu=ZEc)IFe=NSAND△e=NSTHENu=PSd)IFe=NSAND△e=ZETHENu=PB设有如下控制规则:2模糊推理(采用:MAX-MIN)将输入语言变量e、△e的取值:NB、NS、ZE、PS、PB分别与数字0,1,2,3,4相对应,则有NB=0NS=1ZE=2PS=3PB=4再将输出语言变量u的取值:NB、NM、NS、ZE、PS、PM、PB分别与数字0,1,2,3,4,5,6相对应,则有:NB=0NM=1NS=2ZE=3PS=4PM=5PB=6把每一条控制规则的两个前件用一个字节表示,其中高四位表示第一前件的模糊取值,低四位表示第二前件的模糊取值,而后件也用一个字节表示,并以最高位“1”来标识后件字节。图强度转移法的模糊推理过程(以规则1为例)①在内存RAM中开辟一个空间(7个字节),准备用于存放所有的模糊输出量。②取规则的前件字节的高四位作为地址偏移量,加上模糊化后的偏差模糊输入量在内存RAM中存放的首地址(表所示的存储区的首地址为多少?),查找出当前特定的偏差输入量e#隶属于该语言值的隶属度。(e#)。推理过程:本例为啥开辟空间为7个字节?表模糊推理后模糊输出量隶属度的存放形式3反模糊化算法(重心法)()()iiiuuuu$$18$9$68$$18$$18$68$18AABDCBC图输出模糊量的单点隶属函数$78$8C$9B$AA$B9$C8$DC1120NBNMNSZEPSPMPBu135150165180195210
本文标题:单片机模糊控制
链接地址:https://www.777doc.com/doc-6399148 .html