质心点的计算公式为:
Defuzzified VaLue=∑-Y[i]XmultCoeff[l]/∑Y[i]
其中Y[i]的i即为输出向量元素,是multCoeff[i]的输出成员集应乘以的系数。其中,i可取1~5。公式计算结果即为去模糊化后的结果。
图4通过图形显示了被该应用使用的输出成员集与[-0x10,-0x8,0x0,0x8,0x10]系数。
假设,y[]=[0x0,0x13F,0x196A,0x0,0x0],则去模糊输出值如下:
Defuz=0×(-16)+319×(-8)+6506×(0)+0×(8)+0×(16)/0+319+6506+0+0=-2552/6825=“-0.37391
图5显示为输出向量y[]质心点的计算结果。
硬件描述
eZDSP2812 板被用在这种电机控制应用中。eZdsp板的核心是TMS320F2812数字信号处理器。该板使用定时器T1、20kHz的时钟,产生PWM1-6的信号,并使用定时器T2来执行中断服务例程(ISR)。此外,输入捕捉引脚CAP1-3是用来收集霍尔效应传感器高速数据的。
发动机是由 DSP产生的PWM信号驱动的。这六个PWM信号被用来作为三相功率变换器的源。功率变换器将这六个信号转换为三相位信号,并直接作为发动机的电源。三相功率变换器的功能由一个辅助电机控制电路板来处理。频谱数字提供了两个能够提供这种功能的电路板:DMC550和DMC1500。其中任何一块都可直接插入eZdsp28xx板上使用。
霍尔效应传感器用于模糊逻辑控制回路反馈。对三相功率变换器开关的转换是通过检测从霍尔效应传感器接收到的信号来决定的。该信号被送入TMS320F2812的采集针内。实际电机速度的计算是通过一个软件模块来计数的。
软件介绍
电动机控制软件是由数字微型电路(DMC)库模块和FL电动机控制程序组成的。数字微型电路(DMC)库中有七个模块被使用在此应用程序中。它们是:
·Datalog数据记录
·BLDC3PWM
·tall3_Drv
·Mod6_Cnt
·Rmp2Cntl
·Rarnp_Cntl
·Speed_PR
此外,模糊逻辑发动机控制是由一个主要FuzzyCtl()例程来处理的;对于无刷直流电动机就是Fuzzy-BLDC()。
该软件首先是进行首次运行配置,然后进行应用程序特定的设置。具体来说,GPIO引脚被配置为CAPture和PWM引脚。
下一步是进行定时器和模块参数的初始化,以及ISR的设置。当所有外设设置完成,中断被激活,进入主要操控系统。主要操控系统每隔8.7毫秒调用一次模糊控制器。
误差值被转换成通过模糊化的模糊值被存储在X1[]和X2[]。一旦转换,模糊值被应用于模糊推理规则。
从推理模块得到的结果存储在Y[]中。从Y[]得到的输出在去模糊化模块中被转换成明晰值。由此产生的明晰值是一种PWM偏移量,该偏移量被添加到当前的 PWM占空比上。更新后的PWM值被检查,看看是否新的值是在一定范围内,如果不是就将采取适当行动。最后,模糊控制器返回更新后的PWM占空比给调用例程。
图6显示了演示应用程序调试环节。
通道1和2(在右上角显示窗口)分别显示了PWM计数器和捕获霍尔效应传感器。通道3和4(在通道1和2下方)显示边沿触发PWM的计数器和霍尔效应传感器的显示窗口的版本。监视窗口中显示重要变量,其中,最重要的是SetSpeed(设置速度)和CurrentSpeed(当前速度)。这些值足够接近,使得模糊逻辑控制器的输出为零。
这次会话表明发动机是在无负载条件下运行的。此行为可能会和有负荷时的情形略有不同。此外,如果想要更细的粒度,可能有必要对控制器进行调整。