微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP的模糊逻辑发动机控制器

基于DSP的模糊逻辑发动机控制器

时间:01-29 来源:3721RD 点击:

or)模糊化值。

模糊推理规则

模糊推理规则通过操作模糊化数据来确定系统的行为。具体来说,模糊化数据对照规则表进行应用。在语言方面,这就是输入数据Error、Cerror与规则表进行比较。规则表中包含了成员集NM、NS、ZE、PS、和PM,并根据控制面来操作。输出是通过有效"推断"或"既定"的规则。推理过程的描述见如下伪代码清单:

去模糊化

去模糊化是将模糊数据转换成明晰数据的过程。为了这个应用目的,去模糊化后的值确定用于驱动电机的PWM信号的占空比。占空比取决于使用修改后的质心计算功能。在这里采用的去模糊方法是用质心计算函数乘以一个系数。修改后的计算也称为质心点计算函数。

质心点的计算公式为:

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(当前速度)。这些值足够接近,使得模糊逻辑控制器的输出为零。

这次会话表明发动机是在无负载条件下运行的。此行为可能会和有负荷时的情形略有不同。此外,如果想要更细的粒度,可能有必要对控制器进行调整。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top