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

发布者:温暖微风最新更新时间:2010-01-24 来源: 慧聪网关键字:DSP  电机控制 手机看文章 扫描二维码
随时随地手机看文章

      越来越多企业开始使用变速驱动发动机来减少能耗的消耗。这需要通过从微分(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  电机控制 引用地址:采用模糊逻辑设计基于DSP发动机控制器

上一篇:采用模糊逻辑设计基于DSP发动机控制器
下一篇:基于DSP的光纤高温测量仪的软件设计

推荐阅读最新更新时间:2024-05-02 20:59

采用DSP的大功率中频逆变电阻焊电源设计
电阻 焊是一种重要的焊接工艺,具有生产效率高、成本低、节省材料和易于自动化等特点,被广泛应用于航空、航天、 能源 、 电子 、汽车、轻工等工业。近年来,随着汽车和制罐等制造业的迅速发展,专用 电阻 焊机也得到了空前的发展,逐步趋向自动化和机器人化。焊接 控制 电源 是电阻焊机系统中的一个重要组成部分,由于 电力 电子 技术的快速进步,中频直流逆变电阻焊接 电源 作为一种新型的 控制 电源,以其显著的高质低耗的特点成为电阻焊电源的发展方向 。 逆变控制型大功率直流电源,是一种节能,高效,结构简单的电源。但是,目前功率过小,焊接技术不是很好,焊接质量得不到保证等问题 。其关键是功率 开关 管的 开关 损耗大。既浪费了电能,又影响
[电源管理]
采用<font color='red'>DSP</font>的大功率中频逆变电阻焊电源设计
伺服电机控制器的未来前景如何?
伺服电机控制器的前景好不好?有一个问题值得推敲,不知道大家有没有发现现在已经进入了一个机械化的时代。之前需要大量的劳动力,现在一台机器可能就可以解决掉很多劳动力做的事。并且成本还相对比较低。所以,在这个劳动力成本越来越高的时代,机械化将会以更快的脚步发展。 工业机器人也是未来发展的趋势,而伺服电机控制器也是工业机器人的重要部件之一。据悉,2021年,中国机器人市场将占据全球市场需求量的50%。 中国也将着重推动机械行业的发展进程。在逐日升高的劳动力成本的施压下。工业机械化将迎来良好的态势,伺服电机控制器也将迎来春天。当然,这其中质量是占据一个很主要的位置,只有好的产品,好的口碑,好的服务。企业才能屹立不倒。 所以,拓达也将
[嵌入式]
高性能FLASH存储器在DSP电机智能保护中的应用
摘要:DSP芯片以其高速、实时性等优点逐步被用到电机保护中,利用高性能外围器件尤其是外围存储器与DSP的硬件匹配是充分发挥其优点的必要条件。文中以基于TMS320C32高速CPU为核心芯片的智能型电机保护装置为模型,介绍了高性能FLASH芯片Am29F010B与DSP芯片的硬件接口电路、软件编程技术以及应注意的问题和设计技巧。 关键词:Flash存储器 DSP 嵌入式算法 Am29F010B 国内的电动机保护装置种类繁多,但随着现代大中型电动机对保护要求的不断提高和VLSI技术的不断进步,传统的基于热敏电阻、机械式继电器和电子式等保护模式均因可靠性不高,容易出现误操作等缺点已不能满足需要;而以单片机为核心的数字或保护装置的运
[应用]
基于CAN总线和DSP的起重机多功能安全监控系统
  起重机是工程建设中的必要设备之一,在施工中应用相当广泛。然而,起重机潜在的危险因素也较多,容易发生恶性事故。国家技术监督局先后专门制定和发布了《起重机设计规范》(GB3811-83)、《起重机械超载保护装置安全技术规范》(GB12602-90)、《起重机安全规程》(GB6067-85)等标准,要求各类起重机械必须装备安全保护装置。因此开发新型的起重机多功能安全监控和保护系统是很有必要的。基于此,近年来国内外先后研制出一些起重机安全保护装置,如载荷限制器、力矩限制器、起升高度仪、防碰撞装置、风速报警器等。但它们功能单一,如果需要多种保护功能,必须安装多台仪器,这样不仅价格昂贵,也给维护和使用带来了不便。起重机用户迫切需要一种集多
[嵌入式]
基于PCIE总线的多DSP系统接口设计和驱动开发
雷达成像信号处理的特点是运算复杂。数据量大,要求系统在进行快速运算的同时能进行大数据量的快速传输和存储。I/O技术在高性能计算的发展过程中始终是一个十分关键的技术。 PCI Express总线基于串行总线高速互连,比普通并行I/O技术有着更为领先的带宽优势,被广泛地认为是一项革命性的总线技术,其重要性可以满足不同使用者的需求。本文将详细讨论基于PCIE总线的信号处理板卡的数据传输设计,主要包括DSP互连,DSP与FPGA通信,PCIE接口设计以及总线驱动程序的开发。 1 基于PCIE总线的数字信号处理机介绍 本系统是一个通用的基于PCIE总线的雷达成像数字处理机,板卡功能框图如图1所示。4片DSP之间通过高速链路口实现点
[单片机]
基于PCIE总线的多<font color='red'>DSP</font>系统接口设计和驱动开发
Nand+Flash存储管理在DSP系统中的实现
  Nand Flash作为一种安全、快速的存储体,因其具有体积小、容量大、成本低、掉电数 据不丢失等一系列优点,已逐步取代其它半导体存储元件,成为嵌入式系统中数据存储的主 要载体。尽管Nand Flash的每个单元块相互独立,且每块一般可擦除次数高达10~100万次, 但是随着擦写次数增加,会有一些单元块逐渐变得不稳定或失效从而形成永久性坏块。因此, 要避免频繁地对同一块进行操作,尽量达到擦写次数均衡;同时,由于擦除操作耗时较多, 会对系统的实时性造成影响。为此,本文介绍了一种基于磨损均衡思想的Nand Flash存储管 理方式,并深入讨论了该方式在Ti公司的DSP TMS320F28x中的程序实现。    1 器件介绍  
[嵌入式]
DSP编程技巧之3:揭开编译器神秘面纱之程序优化
  在二三十年前人们刚开始使用 C语言 代替汇编进行开发的时候,因为当初的处理器/控制器性能很弱,而 编译器 的能力也有限,所以形成了一些 C语言 编程效率不高的印象。但是今天的硬件性能已经非常强大,而 编译器 的能力也是日新月异,如果我们不熟练掌握汇编编程中的一些关键技术,编写的汇编代码的效率已经很难超过 编译器 从 C语言 转换出来的汇编代码了。 如果我们使用C语言进行编程的话,编译器除了可以把我们的加减乘除这样的操作转换为ADD、MPY以及相关的寻址、寄存器操作外,还可以在编译产生汇编代码的过程中进行不同程度的优化。优化的过程要根据器件的特点与指令集等进行有针对性的配置,所以在不同的器件上同一段C代
[嵌入式]
<font color='red'>DSP</font>编程技巧之3:揭开编译器神秘面纱之程序优化
CEVA凭SensPro Sensor Hub DSP协助客户有效实现传感器融合
众所周知,传感器在配合使用时效果最佳。对于同步定位与地图构建 (SLAM) 来说更是如此。SLAM 在 AR/VR 领域扮演着重要的角色,可以根据用户的姿势调整场景,避免无人机或机器人这样的应用在使用过程中的碰撞,用途广泛。SLAM市场预计到2023年将增长至4.65亿美元,年复合增长率为36%,为大多数开发者提供了绝佳机遇。在手机上将 SLAM 应用于室内导航可能会在规模庞大的基础平台市场中占据主导地位。GPS 不能在室内工作,基于信标的导航只能在具有信标基础设施的区域工作。而 SLAM 则可以在任何提供室内地图的地方工作,符合大多数楼宇自控管理系统的低成本期望。将该区域的场景与用户在该区域行走时的姿势和运动融合到了一起,使得在
[手机便携]
CEVA凭SensPro Sensor Hub <font color='red'>DSP</font>协助客户有效实现传感器融合
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved