欢迎您来到半岛在线登录官网

半岛在线登录官网

公司新闻 知识专区 无刷小百科

基于 AURIX的有感 BLDC电机控制实现

发布时间:2024-04-13 04:36:35 | 作者: 半岛在线登录官网


  由于直流无刷(BLDC)电机独特的优势,近些年在汽车上的应用逐渐流行起来。Infineon新一代32位汽车级多核微控制器架构AURIX,以其高性能、高安全性慢慢的变成为汽车ECU的主流MCU,在AURIX上实现BLDC电机控制将有重要意义。本文研究了一种在AURIX上实现有感BLDC电机控制的方法,提出了一种基于AURIX GTM (Generic Timer Module) DPLL(Digital Phase-locked loop Module)模块的高精度电机转速计方法。实现PI控制器后,电机控制实验表明:使用AURIX控制有感BLDC电机是一种有效的解决方案,基于DPLL计算的转速能够控制电机运转更加平稳。

  无刷直流(BLDC)电机使用电子换向器代替了传统的机械式换向器,与传统的直流电机相比具有效率高、易于维护、质量小、体积小和更高的寿命等优点。近些年,由于节能环保高效的要求,BLDC 在汽车领域的应用逐渐流行起来。

  BLDC 电机由定子和转子两部分所组成。通常内转子电机的转子部分由永磁体构成,定子部分由线圈绕组构成,而外转子电机刚好相反。典型的 BLDC 电机驱动电路如图 1 所示,6 路控制信号控制电子开关的通断达到控制电机换相的目的。电子换相时刻由电机定转子的相对位置决定。如图 2 所示,霍尔传感器检验测试出电机定转子的相对位置,根据霍尔信号,产生相应 A/B/C 三相高低端控制信号。本例采用了上桥 PWM 控制方式。

  在汽车应用中,通常用转速控制。BLDC 的转速控制如图 3 所示,根据霍尔传感器信号计算电机转速,并把该转速与设定转速做差,该差值为 PI 控制器的输入。PI 控制器的输出为高端 PWM 驱动信号的占空比,为保证电机良好的速度特性,PI 控制器需要有合理的控制参数。

  本文首先介绍了 infineon(英飞凌)最新的控制器AURIX的 GTM 模块,基于 GTM 中的 SPE 模块提出BLDC 电机驱动方案,然后提出了两种 BLDC 电机转速计算方式,一种是基于霍尔信号沿,一种是基于 DPLL倍频后的脉冲。最后,使用相同的 PI 控制器参数,采用不一样转速计算方式,进行了电机控制效果对比实验。

  图 4 为 GTM 结构简图,CMU 给 GTM 子模块提供时钟,TBU 产生时间基(time stamp)给具有捕获功能的其他子模块使用。TOM 搭载了定时器来产生 PWM,TIM 通过定时器提供滤波、信号特性测量和信号超时检测等功能。SPE 专门设计用来驱动 BLDC 电机,具有输入 pattern 检测和输出 pattern 控制。DPLL 用来提高输入信号的频率。

  SPE 子模块是专门为 BLDC 电机控制设计的,SPE 可以检测输入的三路霍尔信号并经过控制 TOM 模块,直接输出符合换向逻辑的 BLDC 电机驱动信号。SPE 评估霍尔信号输入 pattern 的算法如图 2 所示。

  图 5 为 SPE 的实现流程。首先,SPE 接收处理来自TIM 输入模块的霍尔信号, 当 SPE 检测到一个新的输入(new input pattern, NIP)后,SPE 按照每个用户定义的 pattern检查 NIP 的有效性。同时,SPE 将会比较 NIP 和前一个输入(previous input pattern, PIP)的值:若 NIP 的值等于 PIP,说明电机的旋转方向发生改变了,内部自动存储旋转方向发生改变信息,把真实的输入(actual input pattern, AIP)值赋给PIP,NIP 的值赋给 AIP;若 NIP 的值不等于 PIP,说明电机的旋转方向未改变,SPE 把 AIP 的值移位给 PIP,NIP的值移位给 AIP。接下来,SPE 根据电机的旋转方向,决定指针 PTR 为递增或递减。然后,SPE 使用 PTR 的值来选择用户定义的输出 pattern,无论何时检测到了一个有效的输入 pattern,SPE 都会产生检测到新的输入信号(newinput pattern detected, NIPD)。当用户定义的触发信号产生了,SPE 会把新的输出控制信号发送给相应的 TOM 子模块。最后,TOM 依据相应的 pattern 输出 CPU 计算的PWM 控制信号。

  DPLL 是用于增加输入信号频率的高可配置专用子模块,可使用该模块获得精度更高的位置或时间信息,非常适合于获取快速变化的旋转类控制对象的相位信息。DPLL 最多有两个输入信号 TRIGGER 和 STATE,这两个信号代表控制对象的周期性事件。DPLL 定义两个有效事件之间的时间周期为增量,每个增量使用脉冲个数来测量,测量脉冲叫做子增量 SUB_INC。脉冲产生的精度受到CMU_CLK0 时钟(CMU_CLK0 也用于脉冲补偿)或TS_CLK 时钟的影响。由于 DPLL 需要保存一些变量用以内部执行一些算法,所以 DPLL 搭载了一块专用 RAM 来存储这一些数据。图 6 为 DPLL 倍频产生器结构,每当 24位加法器溢出,DPLL 产生一个脉冲。

  每来一个 TS_CLK 时钟脉冲,24 位加法器计算一次,当加法器溢出产生一个脉冲(SUB_INC),之后 24FFs(触发器)复位。所以,DPLL 每产生两个脉冲之间的间隔为2^{24}/ADD_IN。若下一个周期性事件的周期预测为CDT_TX,下一个周期性事件内有必要进行 NMB_T 倍频(即产生 NMB_T 个脉冲),那么 DPLL 脉冲产生器隐含的计算公式为,

  为解放 CPU,通常使用 DPLL 内部算法来进行下一个周期性事件 的周期预 测 。在正常模 式,输入 信号为TRIGGER 时。DPLL 内置的周期预测算法为,

  p 为 RAM2a 当前的指针 APT(线a 指针),MEDT 为周期预测算法加权平均误差的历史值,DPLL 内置算法使用如下计算公式计算 MEDT,

  式中,EDT_T 为上一个周期预测的误差,DPLL 内置的EDT_T 算法为,

  式中,MLT 为设置的倍频数,(MLT+1)为期待的倍频数,MP 为上一个脉冲产生周期中丢失的脉冲数,PD_store是 RAM2c 中存储的物理偏差,如图 7 所示,物理偏差通常是由生产误差引起的。MPVAL1 为直接补偿脉冲个数,该补偿在 DPLL 运行时由 CPU 设定。

  联立式(1)、(2),考虑到补偿取整误差,倍频数加 0.5,如下式所示,

  另外,DPLL 允许使用 CPU 计算的周期预测值,以支持自定义的周期预测算法。

  主要使用 AURIX GTM 的 SPE 模块实现 BLDC 电机驱动,实现了两种转速计算方式及 PI 控制器。

  图 8 为整个控制管理系统的实现框图,包含了所有使用到的 AURIX 片上硬件模块。三路霍尔传感器信号通过 IO 模块输入到 GTM TIM 模块,TIM 模块进行采样、滤波、超时检测及信号特性测量处理,并输出 24 位滤波信息、1 位输入信号电平和输入信号相应信号沿产生的脉冲。每个TIM 通道的通用寄存器 GPR0 捕获有效沿事件对应的时间戳(捕获 TBU_TS0),并输出这个 24 位时间戳信息。即TIM 输出 49 位信息(24 位滤波信息、1 位电平信息及 24位时间戳信息),一方面这来自于 3 个 TIM 通道的 3 路49 位输出信息传送给 SPE 模块,用以评估霍尔信号的输入 pattern。另一方面,该信息传送给 MAP 模块,进行信号组合,MAP 把 3 路 49 位信息组合成一路 49 位信息。并把 MAP 输 出 的 49 位 信 息 传 送 给 DPLL 模 块 作 为TRIGGER 信号,DPLL 根据 TRIGGER 产生高频时钟信号,然后产生的高频时钟信号输入给 TBU_BASE1 的计数器进行计数及作为 CMU_CLK7 时钟给 GTM 其他模块使用。并且,SPE 评估霍尔输入信号的输入 pattern,根据pattern 把用户定义的 PWM pattern 传给 TOM,TOM 的 6个通道(TOM_CH0-5)根据 PWM pattern 输出 6 路控制信号。

  2003 年 Y. Amano 等人提出了使用 PLL 增加无感BLDC 电机驱动系统控制精度的方法。图 8 所示的控制管理系统,使用 DPLL 提高了转速计算的精度。霍尔测速方法有三种 M 法,T 法和 M/T 法。M 法适用于高速,T 法适用于低速,而 M/T 法则间距两者的特点。本文的前一种方法就是 T 法,后一种方法就是 M/T 法。

  图 9 为定角度转速计算法,每当在 MAP 组合后的信号中检测到跳变沿时都触发中断(SPE 的 NIPD 事件),捕获时间基 TBU_TS0 的时间。CPU 计算相邻两个下降沿之间时间的差值或计算相邻两个上升沿之间时间的差值,使用时戳的差值即可计算电机转速,

  式中 60 为 MAP 组合霍尔信号后两个相邻相同沿的电角度, p 为极对数,T_clk 为时间基 TBU_TS0 的计数时间周期,differTimeStamp 为时间差值。

  图 10 为时间角度计算法。使用 DPLL 倍频输出的脉冲作为角度基 TBU_TS1 的计数时钟,定时触发中断捕获角度基 TBU_TS1 的角度。CPU 计算相邻两次角度的差值,使用角度差值即可计算电机转速,

  由于总是存在传感器安装误差,定时转速计算法可以在一定程度上完成使用简单的计算某些特定的程度上补偿安装误差。并且电机控制 PI 控制是定时计算的,这使得采用定时转速计算法计算的转速能使 PI 控制器获得具有跟高的实时性的转速。但在低转速时,由于需要间隔很长时间才出现信号,这使得采用定时转速计算法计算的转速毫无意义(这与 DPLL 算法有关,沿之间是均匀产生脉冲的)。甚至在转速为 0 时,总是不出现信号沿发生超时错误,DPLL 不能正确产生倍频脉冲,定时转速计算法失效。所以,在低转速时定角度计算法能轻松的获得更好的控制精度,在中高转速时定时转速计算法能轻松的获得更好的控制精度。在 500rpm 时,两种转速计算法的对比如图 11 所示。

  图 13 为驱动电机的示波器截图,通道 1 为 X 相霍尔信号,通道 2 和通道 3 为 SPE 联合 TOM 产生的 A 相驱动信号高端和低端,通道 4 为 A 相端电压。

  分别采用定角度转速计算法计算的转速和定时转速计算法计算的转速进行加减速实验(0-100-0 rpm),为了对比两种转速算法对控制效果的影响,两组实验下 PI 控制器均采用相同的控制参数。图 14 为两组实验,UDE 调试软件采集到的数据截图。图中,第一组实验是使用定角度计算的转速作为 PI 控制器的输入,第二组实验是使用定时计算的转速作为 PI 控制器的输入。图 14 表明,采用定时转速计算法能使 BLDC 电机具有更加好的速度特性:控制在 1000rpm 时,转速波动更小,系统更加稳定。

  能够使用AURIXGTM 模块实现 BLDC 电机驱动,完全由 GTM 硬件实现驱动,节省 CPU 资源;基于 DPLL 倍频后的脉冲时钟,检测到电机更为准确的转速,以此来实现更好的转速控制特性。

  如果您还想对BLDC有更多了解,欢迎访问英飞凌官网无刷直流电机专题页面:

  若您想寻找更多应用、产品信息或想联系我们买产品,欢迎点击此处填写您的个人隐私信息及需求,我们将安排专人后续跟进。