NXP

让你的发动机与NXP Kinetis汽车套件一起运行---凯利讯半导体

2019-07-12 11:18发布

  无刷直流(BLDC)和永磁同步电机(PMSMs)现在在许多应用中都受到青睐,但是控制软件运行它们可能会令人生畏。来自NXP的Kinetis Motor套件,与嵌入式控制软件和直观的GUI之间的差距,最小化了软件的复杂性,加速了开发过程。   本文将简要介绍BLDC和PMSM电动机的结构和关键的操作参数,然后再介绍如何驱动它们。然后,它将讨论为什么软件是复杂的,如何管理它,以及一些硬件选项。然后,它将研究如何获得一个项目,并运行NXP的Kinetis汽车套件。   三相无刷直流电动机(BLDC)及其密切的表兄弟,永磁同步电机(PMSMs),在过去的十年中已经成为工业的工作马,因为他们控制电子的成本急剧下降,新的控制算法已经扩散。BLDC电机提供高可靠性、高效率和高功率-体积比。它们可以高速运行(大于10,000 rpm),具有较低的转子惯性,可以快速的加速、减速和快速翻转,并且具有高功率密度,将大量的扭矩封装到紧凑的尺寸中。如今,它们被应用于任何数量的应用程序,包括风扇、泵、吸尘器、四轴飞行器和医疗设备,仅举几个例子。   PMSMs与带缠绕定子和永磁转子的BLDC有类似的结构,但定子结构和绕组更类似于交流感应电机,在气隙中产生正弦磁通密度。PMSMs与应用的三相交流电压同步运行,其功率密度比交流异步电动机高,因为无定子电源会导致转子磁场的产生。如今的设计更强大,同时具有更低的质量和惯性矩,这使得它们对工业驱动、牵引应用和家电具有吸引力。
  创建驱动   考虑到这些优势,难怪这些汽车变得如此受欢迎。然而,没有任何东西是没有价格的,在这种情况下,它是驱动和控制电路的复杂性。对换向刷的消除(及其伴随的可靠性问题)要求对电机进行换向,从而产生定子旋转磁场。这需要一个power阶段(图1)。   简化的三相电机驱动器框图。
  图1:三相电机驱动的简化框图。三联桥在控制器的方向上开关电机相电流,其输出被放大,并由预驱动程序转移。(使用数字键方案绘制的图)   星型连接的电机相连接到三个半桥驱动电路。虽然其他类型的电力设备,如IGBTs,也可以使用,但是这些电力设备可以转换公共汽车的电源来驱动绕组。FETs是由一个预驱动阶段驱动的,该阶段的水平移动并放大了电机控制器的相位输入,它可以是单片机、DSP、FPGA状态机或其他可编程控制器。利用电机的反馈(图1中没有显示),控制器将桥接器序列串联起来,形成一个旋转磁场,带动转子旋转。   有两种常见的波形。第一个是六步梯形驱动,360度的电旋转被分解成60度的步骤。第二个是正弦驱动,在电机阶段,PWM正弦电压波形被120度偏移。梯形控制常与BLDC电机一起使用,因为它更容易实现。正弦控制提供了更高的电机效率和更少的波纹,并且可以与BLDC电机和PMSMs一起使用。   图1所示的电路可以通过多种方式实现。对于低功率,单功能的应用,如风扇控制,所有的块可以集成到一个芯片。对于像医疗设备这样更复杂的应用程序,预驱动程序和power FETs可以集成到一个集成电路中。控制器是单独实现的,因此它可以处理应用程序中的其他功能。对于大功率工业或电动汽车的驱动,控制器、预驱动和动力阶段都是分开的。在电机和驱动器的高总线电压和控制器的低压信号之间增加了电流隔离。
  控制当前   由于电流需要调整以控制在不同负载下的速度,因此必须采用反馈控制机制。这就是它变得复杂的地方。为了获得良好的速度控制和良好的动态扭矩响应,一种称为矢量控制的技术(也称为场导向控制,或FOC)被应用于正弦驱动。   FOC的细节超出了本文的范围。在本质上,定子相位电流被测量,然后从三维空间转换为二维坐标空间,使用矩阵运算。产生的二维矢量表示电机磁链和电机转矩。通常情况下,一个比例积分(PI)控制器被用来调整这些2D的当前组件,以适应外部速度控制回路(由另一个PI控制器决定)的需求,然后再将其转换回3D相电流,以应用于6步驱动。   为了使控制方程工作,电机转子的位置需要确定。除了在电机中嵌入一个真正的轴编码器外,还有两个主要的选择:使用霍尔效应传感器,称为传感器控制;或感应电动机的反电动势(电动势),称为无传感器控制。由于成本较低,无传感器是最常见的,但这两者都要求电机转动以感知真实的位置。在这种情况下,电机启动是很困难的,因为它需要在开环模式下启动,直到电机位置确定。   一旦控制软件被开发出来,控制系统就需要调整。PI控制器的参数必须根据电机类型、负载变化和其他潜在干扰因素进行调整。这些参数控制了控制器的阶跃响应和带宽。如果设置得太低,电机反应会滞后。如果设置得太高,控制器就会振荡并变得不稳定。一旦控制软件被编写和调试,几个月的测试和调整常常需要在所有条件下得到所需的响应。
  管理软件的复杂性   与这些控制方程相关的数学运算的复杂性,需要一个具有增强数学或DSP指令的计算平台。它还需要具有快速的模拟-数字(A/D)转换能力来测量电机电流,以及专门的定时器模块,以产生精确对准的PWM信号。将这些函数卸载到DSP或其他专用处理器上,可以释放CPU来执行其他应用程序任务。   幸运的是,低成本的MCUs专门针对FOC的马达控制现在正在市场上。NXP为例,提供了一个家庭的手臂®皮层®-M-based电机控制设备称为Kinetis V系列(图2)。   NXP Kinetis V系列ARM cortex -based MCUs(按全尺寸点击)
  图2:NXP Kinetis V系列ARM基于cortex - m的MCUs具有高性能的内核、电机控制定时器、快速的A/D转换器以及各种内存和包的大小。(图片来源:凯利讯半导体)   Kinetis V系列在核心能力、内存大小、定时器和A/D转换通道、数字到模拟(D/A)转换器和比较器等方面进行了扩展。这使得简单的BLDC速度控制的最优实现在低端,一直到多个PMSMs与高端设备。在KV1x MCU家族中发现的Cortex-M0+核心是用硬件平方根和分函数增强的。这使得Kinetis KV1x设备适用于相对恒定负载和控制环频率小于12 KHz的BLDC和PMSM电动机。   Kinetis KV3x和KV4x MCU家庭使用Cortex-M4核心,它支持DSP函数和浮点数学。这些设备可以支持更高的动态负载应用程序,控制循环高达20 KHz,并且具有非常高性能的解决方案。Kinetis KV5x MCU家族拥有Cortex-M7核心,以及以太网连接和安全IP。   FlexTimer和eFlexPWM计时器支持死时插入,以消除当前的射击,因为阶段腿关闭,以及其他特定于汽车的特性。FlexTimer的每个计时器都有一个单独的时间基础,而eFlexPWM可以支持最多4个PWM块的时间基础,这给了PWM生成和高级控制算法的同步带来了很大的灵活性。   A/D块可以同时捕获和处理两个信号,这对无传感器控制很重要。在高端设备上采样频率增加。所有部件都有一个或多个12位的D/As和相应数量的比较器,相对于PWM通道的数量,有6位参考D/ a转换器。   汽车控制优化的处理器是方程式的一部分,但这仍然留下了开发FOC软件的问题,在过去,FOC软件需要在电机管理和控制理论方面的专业知识。然而,由于NXP的一个新的免费工具——Kinetis Motor Suite (KMS),这一障碍现在已经减少了。   KMS是一种硬件和软件解决方案,包括在保护闪存中包含的专有的FOC电机控制IP,在选择Kinetis V系列MCUs和一个简单易用的GUI来设置和调整电机系统。KMS消除了对电机控制的深入了解的需要,允许有限的专业人员开发应用程序,然后将其嵌入应用软件的其余部分。KMS可以让电机运行并在30分钟内调谐。
  开始使用公里   下面是如何开始开发自己的汽车控制解决方案。最简单的方法是购买FRDM-V31F Freedomdevelopment平台和相应的高或低压平台驱动板。在本例中,我们将使用FRDM-MC-LVPMSM自由评估板。如果你是一个塔系统开发委员会的用户,也有适合该平台的合适的处理器和驱动板。   为此,你需要增加你的电机和一个合适的直流电源电压。如果你没有一个电机,一个好的选择是frdm - mc - lvmtrnd,一个24 V,三相BLDC电机,从NXP的自由发展工具包。   FRDM-V31F板上有MKV31F128VLH10P单片机。这包含嵌入的KMS IP。请注意,只有带有“P”后缀的Kinetis微控制器包含KMS IP。   一旦你有了这些板子,你就可以从Kinetis Motor套件中获取软件工具了,你可以下载你需要的三个工具,包括:   Kinetis软件开发工具包(KSDK)   Kinetis Design Studio (KDS)集成开发环境(IDE)   Kinetis运动套件。   现在是组装硬件的时候了。将这两个自由板连接在一起,将三相FRDM-MC-LVPMSM板插到FRDM-KV31F板上,顶部是FRDM-MC-LVPMSM板。将电机的三相端子连接到FRDM-MC-LVPMSM板上,通过电源输入插孔连接电机电压。在你的电脑和FRDM-KV31F之间连接usb -to-迷你usb线。微控制器板上的绿 {MOD}电源应该亮起来,在同一板上的RGB应该闪烁。你现在已经准备好做电机测量和旋转你的马达。   启动Kinetis汽车套件并选择一个新项目。它将要求您识别您的硬件平台(自由、高电压或高塔系统)、控制类型(传感器位置、传感器速度、传感器速度)和开发环境(IAR或Kinetis Design Studio IDE)。   在给您的项目命名并选择一个COM端口之后,您将被要求输入您的电机的基本信息。你需要知道电机的额定转速,额定电流,额定电压和磁极对数(图3)。   KMS屏幕图像进入电机信息。
  图3:KMS屏幕进入电机信息。所显示的值适用于FRDM-MC-LVMTR板。这些值被嵌入式控制算法用于控制电机。(图片来源:凯利讯半导体)   一旦这些进入,KMS将会激活和旋转你的电机来测量它的电特性-定子电阻,定子电感和定子磁通(图4)。它需要这些来调整电机控制参数。在此步骤中,确保电机与负载断开连接。   KMS荧光屏的图像,可以测量电机的电特性。
  图4:KMS屏幕,使电机的电特性得以测量。这些值由KMS进行更新,以测量和旋转电机。(图片来源:凯利讯半导体)   接下来,KMS将通过快速旋转电机上下运动来测量系统的机械惯性。这应该是光轴或连接到其他系统的机械部件,例如齿轮或皮带,但不是动态负荷。   KMS现在有了运行电机额定速度所需的所有信息。一个简单的鼠标点击开始测试,KMS提出一个软件示波器向你展示电机启动,从开环到闭环控制的过渡,然后提升到额定速度(图5)。   KMS的曲线图启动电机并向上拉。
  图5:KMS在速度/时间图上显示转速时,启动电机和坡度以达到额定速度。(图片来源:凯利讯半导体)   通过执行这四个步骤,KMS已经确定了必要的参数,并编写了控制循环来让您的电机运行,而不需要编写一行控制代码。
  调整了   然而,我们还没有调整电机。KMS还通过使用主动干扰抑制控制(ADRC)来帮助完成这一困难的任务。这是一个的一部分SpinTAC™从Linestream技术和控制系统是嵌入在公里。ADRC替代了KMS内的比例积分微分(PID)控制,并利用电机特性和系统惯量来调整控制器。用户只需要设置一个参数:带宽。这需要两个步骤来调整电机。   第一步是使用KMS速度控制器(图6),以最小速度运行电机,并设置最大带宽以产生稳定的速度。   KMS速度控制器输入图像。
  图6:KMS速度控制器输入。点击带宽弧将设置一个新值。(图片来源:凯利讯半导体)   然后,以最大速度运行电机,如果需要,可以调整带宽,以获得稳定的运行。马达现在调好了。   使用ADRC进行调谐不仅可以调整电机和惯性参数,还可以解决非理想情况下的其他干扰,如负载变化、轴承磨损和摩擦变化。它这样做是因为它积极地估计这些干扰并实时补偿它们,并且ADRC的性能比PI控制器好。如图7和图8所示。   PI控制器与SpinTAC控制器性能比较的图像。
  图7:PI控制器与SpinTAC控制器在应用扭矩干扰中的性能比较。与PI控制器相比,SpinTAC控制器具有更少的误差和更快的沉降时间。   PI控制器与SpinTAC控制器性能比较图。
  图8:PI控制器与SpinTAC控制器对消除转矩扰动的性能比较。与PI控制器相比,SpinTAC控制器具有相同的误差和更快的沉降时间。   这些数字显示PI和SpinTAC控制器响应50%的转矩增加和移动的电机运行在75%的额定速度。对于SpinTAC控制器,初始控制器的误差比较好或相同,并且沉降时间比PI控制器快。ADRC的自适应特性在控制器干扰范围内的标准PI控制器上进行改进,不需要进行进一步的调优或运行时调整。
  下一个步骤   你拥有它。你的电机运行和调优,无需编写一行代码。然而,我们仅仅触及了KMS功能的表面。它可用于程序动作序列,调整启动参数,执行转矩控制,提供制动和保护功能,并对您的应用程序进行微调。   当然,要构建最终的产品,您需要调整并将KMS固件转换为最终的硬件配置,并将其嵌入到您的应用程序固件中。NXP提供了一个完整的应用程序说明,用于转换到您的自定义硬件和完整的API参考手册。您可以继续使用KMS中的工具来调整和调整应用程序,直至产品发布和调试。
  结论   BLDC和PMSMs是有许多应用程序的workhorse motors,但它们通常需要仔细的注意位置传感、驱动电路和控制软件。NXP通过引入KMS简化了开发电机驱动程序的任务。使用这种硬件和软件解决方案,你不必知道所有的马达驱动和控制的细节,所以即使你的专业知识有限,你也可以在30分钟内让马达运行和调谐。