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

发布者:心满意足最新更新时间:2011-12-01 关键字:模糊逻辑设计  发动机控制器 手机看文章 扫描二维码
随时随地手机看文章

  越来越多企业开始使用变速驱动发动机来减少能源的消耗。这需要通过从微分(PID)控制器转向基于模糊逻辑算法的系统来简化设计,缩短开发时间,并消除复杂的数学公式。

  但是,这对发动机提出了新的挑战。当使用传统的积分和微分(PID)控制器来控制无刷直流(BLDC)电机的速度是复杂的,因为它们依赖于复杂的数学模型,并且是计算密集型的。而使用模糊逻辑(FL)的算法,可以消除设计过程对复杂的数学公式的依赖,并且提供一个容易理解的解决方案。与(PID)微分控制器相比,模糊逻辑(FL)发动机控制还有一个优势,那就是开发周期更短。本文讨论了采用德州仪器c28xx定点DSP系列,实现用模糊逻辑算法来控制无刷直流电动机的过程。

  无刷直流电机控制模型的发展
 

  在模糊逻辑(FL)发动机构建之前,我们必须首先建立一个模型作为设计的基础。模糊逻辑控制器使用启发式知识,并使用一个语言描述模型来表达它的设计。我们将以PID控制器模型为出发点,而不是从头开始开发一个模型。一旦完成开发和实现,模糊逻辑控制器将通过调整其参数来提高性能。

  一般来说,开发模糊逻辑无刷直流控制器有三个设计步骤:

  1.定义输入、输出控制器的操作范围。

  2.定义模糊成员集的功能和规则。

  3.调整引擎。

  第一步是定义模式相关的输入和输出。输入是误差(E),它是设置的速度(SS)和当前的速度(CS)之间的当前误差;另外的输入是误差的变化(CE),它是当前误差和以前计算误差(PE)之间的差值。输出是电枢电压(CV)的改变值,它是现有的电枢电压(CAV)和以前的电枢电压(PAV)保存值的差额。由此产生的模型方程式如下:

  E=SS-CS

  CE=E-PE

  CV=CAV-PAV

  发动机旋转速单位为转每分钟(RPM),E决定了接近目标速度的程度。因此,当E>0,发动机的旋转速度低于设定的速度;当E<0,电机旋转速度超过设定的速度。CE决定控制器的调整方向。当且仅当(iff)目前的旋转速度比设定的速度要低时CE为正,;当且仅当目前的旋转速度大于设定的速度时,CE 为负。当接近设定速度时,CE就会在正的和负的值之间来回调整。CV是电枢的供电电压。这个电压表示为脉冲的宽度调制(PWM)占空比。

  下一步是定义模糊集的成员函数、变量和规则。为了保证能工作,非模糊(清晰)输入和输出必须转化成模糊的。转换由使用语言变量来表示输入和输出范围。这些也被称为模糊变量。模糊变量用于为成员函数划分隶属值的区域。例如,5个变量用来映射输入和输出,它们是中等负值(NM)、小负值(NS)、零(z)、小正值(PS)、中等正值(PM)。

  它不是数学公式,模糊控制器使用模糊规则来作出决定,并产生一个输出。模糊规则是通过IF-THEN语句的形式来描述的。模糊规则决定系统的行为,而不是复杂的数学方程。例如,如果错误(E)是等于中等负值(NM),而错误的变化(CE)等于小正值 (PS),那么在电枢电压(CV)的改变就等于小负值(NS)。所用的一些规则是根据设计者的经验和系统的知识来设定的。因此,我们的系统所使用的规则的数量是25个。

  为了激活电枢,CV模糊输出必须被转换回清晰输出。这个过程称为去模糊化。一种流行的去模糊方法称为重心法。

  设计的最后一步是调整成员函数和规则。这个阶段也称为优化调整阶段。优化调整用于提高模糊控制器的性能。一旦设计完成,控制器就将准备付诸实现。

  模糊逻辑控制器的实现是由三个模块组成的。它们分别是模糊化、规则部署和去模糊化。以下各节讨论模糊逻辑无刷直流电动机相关模块的实现情况。

  模糊化

  模糊化是将有明晰数值的数据转换成模糊数据的过程。由此产生的模糊数据的转换是基于对输入变量的模糊隶属度。对于这种应用,电机控制输入变量是旋转误差 (Error)和旋转误差差值(Cerror)。旋转误差(Error)是从一个采样时间到下一个采样时间的绝对旋转速度差。同样地,旋转误差差值 (Cerror)是一个采样时间和下一个采样时间之间的旋转误差变化值。公式如下:

  旋转误差(Error)=SetSpeed(设定速度)-Cur-rentSpeed(目前速度)

  旋转误差差值(Cerror)=旋转误差(Error)-Pre-viousError(前一次误差)

  正如前面谈到的,为旋转误差(Error)变量和旋转误差差值(Cerror)变量定义了五个成员集:

1.NM:中等负值
2.NS:小负值
3.ZE:零
4.PS:小正值
5.PM:中等正值

  图1显示了为旋转误差(Error)变量和旋转误差差值(Cerror)变量定义的五个成员集。这些成员集是三角型重叠,以提供良好的响应。每一组有一个0×1AAA的最大值。

[page]

输入变量模糊化后产生了由五部分组成的向量,这五个部分相对应于模糊化成员集的中等负值、小负值、零、小正值、中等正值。每个组件对应的Y轴的值代表该明晰输入值的隶属度。向量含有旋转误差(Error)和旋转误差差值(Cerror)模糊化值被表示为数组×1[]和X2[]。

  图2和图3图形化地显示了旋转误差[Error)和旋转误差差值(Cerror)模糊化值。

 

  模糊推理规则

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

 

  去模糊化

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

[page]

质心点的计算公式为:

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


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

 

 

 

关键字:模糊逻辑设计  发动机控制器 引用地址:基于模糊逻辑设计的DSP发动机控制器

上一篇:基于PID控制粉尘浓度测量仪的实现
下一篇:负载控制模块应用实例

推荐阅读最新更新时间:2024-05-02 21:45

卓品智能-PCU增程式发动机动力域控制器 丨确认申报2023金辑奖
申报企业丨卓品智能 汽车行业主要业务、产品与服务: 发动机控制器(ECU)、变速箱控制器(TCU)、域控制器(DCU)、氢燃料电池系统控制器(FCU)、整车类控制器、智能传感器等为代表的多类基于复杂算法的汽车电子产品,以及电控开发的测试工具及工程服务 企业整体实力: 1.研发能力: 卓品智能团队规模近300人,技术人员占比超70%,具备丰富的开发量产经验,是业内领先的控制器产业化开发团队。 卓品智能是国家级专精特新小巨人,拥有CMMI电控开发体系认证,遵循V形开发流程,保证软硬件开发质量,技术达到国际先进水平,国内领先,已实现进口替代,并已申请近百项科研成果与技术专利,形成专利壁垒。 卓品智能对汽车电子需求
[汽车电子]
卓品智能-PCU增程式<font color='red'>发动机</font>动力域<font color='red'>控制器</font> 丨确认申报2023金辑奖
压燃式双燃料发动机燃料转换控制器的设计
随着人们对能源和环境问题的日益关注,内燃机的高效洁净燃烧作为一项重要的“绿色工程”技术,已在各国引起了广泛的关注。以柴油为引燃燃料的天然气/柴油双燃料发动机是解决这一问题的一个有效手段。 由于双燃料发动机是在原有柴油发动机的基础上改装而成,因此发动机必须符合一定的工作状态,才可以通过转换在双燃料状态下工作,或者在一定条件下,发动机在双燃料状态下才具有良好的效果。一般情况下,当发动机水温高于50℃时,发动机才适合在双燃料状态工作。为了更好地使用和保护发动机,燃料转换机构应该保证在发动机水温满足一定的条件进,才可以转换到双燃料工作状态。为实现燃料转换的顺利进行,研制了燃料转换控制机构。 1 系统方案设计 转换机构的逻辑控制单
[应用]
电子控制器帮助提升发动机性能
汽车行业对节能减排的力度在不断加强,这也使发动机控制架构发生了较大的变化。微控制器主频并没有提高多少,但是内存却急剧增加,部分原因是发动机采用了越来越多的传感器,而搜集这些数据则需要足够的内存来处理。 在电池技术得到进一步发展,从而使电动动力系统真正可行之前,内燃机的工作效率还将得到进一步提升。为了做到这一点,电子控制系统将发挥重要作用——负责“监测”并管理发动机工作中各种状态和瞬息万变的事件。 “在驾驶员操控时,你要能够预测出发动机的转速是多少,然后确定燃油和点火策略,”飞思卡尔半导体微控制器产品经理Tony Veri说道。“在预测出什么时候点火后,你还需要进行每缸每秒36,000次模拟到数字的转换。在监测发动机转速时,这些一
[嵌入式]
小广播
热门活动
换一批
更多
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved