0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BLDC电机驱动开发的小技巧

suanjunihao 来源:suanjunihao 作者:suanjunihao 2022-08-23 17:19 次阅读

快速玩“转”BLDC:这个电机驱动开发的小技巧,你想不想知道?

【导读】从远程物联网 (IoT) 控制的车库开门器和车窗到卫星推进控制器,无刷直流 (BLDC) 电机越来越多地用于许多不同的应用。对于BLDC电机,设计人员面临的问题是驱动电机所需的控制算法很复杂,而且往往是专用的。这使得一般工程师很难在合理时间内启动并运行这种电机。

开发人员通常只能选择在微控制器上运行的基于软件的解决方案(这是一种灵活的软件解决方案,但也给微控制器带来了计算负担),或者使用专用集成电路 (IC)。后者封装了完整的BLDC电机控制功能,并将BLDC控制从主机转移到其中。

本文首先讨论基于微控制器的软件解决方案和专用硬件芯片解决方案之间的区别,随后深入探讨如何使用Allegro MicroSystems的A4964KJPTR-T——专为简化汽车应用BLDC电机控制而设计的电机驱动器。本文将展示如何与A4964KJPTR-T交互,以及一些避免意外行为的最佳做法。

BLDC电机极简介绍

BLDC电机在广泛的速度范围内提供高效扭矩输送,噪音小,没有有刷电机的机械摩擦。BLDC电机由电流而非电压控制,用途广泛,其形状、尺寸和成本也因应用不同而各异。

例如,TRINAMIC Motion Control的QBL4208-41-04-006是一款24V、4000RPM的电机,可提供高达0.06Nm的扭矩(图1)。该电机很轻巧(0.662lb),并为开发人员提供了多种电机控制选择,如通过使用反电动势 (BEMF) 的无传感器操作,或使用能报告位置的内置传感器。

pYYBAGMEm5aAUyp2AAGMzR9pWGI491.png

图1:QBL4208-41-04-006是一款24V、4000RPM BLDC电机,最高速度下可提供略高于0.06Nm的扭矩。(图片来源:TRINAMIC Motion Control GmbH)

如需更大扭矩,设计人员可以使用QBL4208-41-04-025,这款电机也是来自TRINAMIC Motion Control(图2)。这是一款24V、4000RPM BLDC电机,可提供略高于0.25Nm的扭矩。

poYBAGMEm5eAW98xAAE_7pVHQjQ858.png

图2:TRINAMIC Motion Control的QBL4208-41-04-025是一款24V、4000 RPM BLDC电机,最高速度下可提供略高于0.25Nm的扭矩。(图片来源:TRINAMIC Motion Control GmbH)

BLDC电机通过三相线驱动,产生磁场,磁场再推动永久磁铁,使转子移动并转动电机。

理论上,这听起来很容易,但实际上,驱动BLDC电机相当复杂,开发人员只能选择使用软件框架来驱动电机,或者选择专用芯片解决方案。

软件与专用芯片解决方案

在解决如何转动BLDC电机的问题时,开发人员应该考虑若干因素。这些因素基本上可归结为:

● BOM成本与人工成本

● 电路板复杂性与软件复杂性

● 维护时间和成本

从硬件的角度来看,走软件路线可能非常有吸引力,因为专用芯片解决方案会给BOM增加一些额外的成本。若不使用专用芯片,则能去掉该成本,花很少的钱去买微控制器,把所有控制算法放进该微控制器里。这似乎是双赢的做法,但团队往往没考虑到该决定的全部后果。

是的,BOM成本降低了,但微控制器上增加了额外负担,要处理BLDC状态数据并持续驱动电机。如果微控制器还要对其他传感器进行采样、与无线电通信以及控制其他设备,那么稍不注意,软件开发和维护成本就可能突飞猛涨。

不过,微控制器中基于软件的解决方案具备灵活性,因为团队可以微调其电机控制算法。使用软件也并不意味着事情总会趋于极度复杂。

例如,通常情况下,将电机控制算法移入微控制器会占用更多的RAM,并需要大量闪存。然而,如果团队使用专为电机控制而设计的微控制器,如Texas Instruments的F280049CRSHSR电机控制微控制器,算法已内置在微控制器ROM的库中。这意味着向应用程序添加的额外代码只有对库进行访问的函数调用,所有繁重的工作都由该库完成。

不过,转动BLDC电机不仅是软件的问题,还需要硬件。图3显示了使用C2000微控制器的应用实例,其中F280049CRSHSR是该系列的成员。此图说明了驱动BLDC电机所需的一切以及可选项。除了微控制器,还需要某种三相功率级,用来驱动BLDC电机的三个相位,使电机转动。

pYYBAGMEm5eAffE9AACYajzoxTg346.jpg

图3:Texas Instruments的C2000微控制器专为电机控制应用而设计。此图为应用实例,中间是微控制器,其余为驱动BLDC电机的必需和可选电路。(图片来源:Texas Instruments)

利用微控制器驱动电机无疑具有吸引力,但专用硬件解决方案怎么样呢?我们来看看Allegro MicroSystems的A4964KJPTR-T电机驱动器芯片。

Allegro MicroSystems的A4964KJPTR-T电机驱动器

Allegro MicroSystems的A4964KJPTR-T电机驱动芯片是专用BLDC电机驱动器,其中包含了驱动电机所需的所有能力(图4)。该芯片专为汽车应用而设计,并与N沟道MOSFET搭配使用,具有无传感器启动和换向功能,因此需要的外部硬件极少。A4964KJPTR-T的工作电压范围也很广,从5.5V至50V,不仅适用于汽车系统,而且几乎涵盖了所有标准应用。

A4964KJPTR-T最引人注目的特性或许是,它能通过串行外设接口 (SPI) 与微控制器或中央电子控制单元 (ECU) 相连接,以配置电机运行的各种寄存器。显然,该微控制器不需要像运行电机控制算法本身的微控制器那样强大。

poYBAGMEm5eAEW4_AADkGsiifz0691.jpg

图4:A4964KJPTR-T BLDC电机驱动器工作电压为5.5V至50V,提供无传感器启动和换向。电机速度可通过SPI或专用PWM信号进行配置。(图片来源:Allegro MicroSystems)

另外,很有意义的是,A4964KJPTR-T电机速度也可以在没有SPI的情况下驱动,只需提供脉冲宽度调制 (PWM) 信号即可。它有非易失性存储器可以存储电机设置,上电时加载这些设置,允许只用PWM信号来控制电机。

从配置角度而言,A4964KJPTR-T有32个可寻址16位寄存器,外加一个状态寄存器。状态寄存器很独特,每次SP读/写操作时传输前5位,以便软件可以检查一般状态,了解是否有任何故障或问题。对芯片执行写操作时,A4964KJPTR-T不会回传数据,因此可以读取所有状态寄存器。

在32个可寻址寄存器中,还有两个特殊寄存器。寄存器30是只写寄存器,寄存器31是只读寄存器。只写寄存器允许开发人员以0 – 1023之间的值设置需求输入,即驱动电机的占空比速率。只读寄存器的数据根据写入寄存器29(即回读选择寄存器)的请求数据而改变。该寄存器允许检索各种遥测信息,例如:

● 诊断

● 电机速度

● 平均供电电流

● 供电电压

● 芯片温度

● 需求输入

● 应用的桥峰值占空比

● 应用的相位前移

除了这些特殊寄存器,其余30个寄存器允许对具体的电机应用进行调整,并允许使能或禁用故障,如限流和栅极驱动故障。

专用电机驱动器很有意义,其将运行电机所需的各种配置都存储在几十个配置寄存器中。这极大地消除了微控制器原本会产生的软件开销,也许更重要的是,还极大地降低了软件开发和维护成本。驱动BLDC不过是发送PWM(这不会造成微控制器的任何开销),或者使能电机位并提供基于SPI的需求输入来转动BLDC。

A4964KJPTR-T使用技巧与诀窍

A4964KJPTR-T的连接很简单,以下是开发人员应牢记的几个“技巧与诀窍”,可以简化和加快他们的开发,例如:

● 状态寄存器在每次写入芯片时都会通过SPI接口返回,而不是用作专门的可寻址寄存器。这意味着驱动代码在写入芯片时需要监控SPI总线SDO线路以获得状态信息。

● 故障信息包括在状态寄存器中,但当微控制器提供地址访问信息时,在前五位中可以看到每次SPI事务的芯片状态概览。此数据可用于确定是否出现任何问题。

● 存储器映射中有两个独特的寄存器,一个只读,一个只写。这很简单,但要注意不要试图读取只写寄存器,这样做会把读序列中的任何伪数据写入该寄存器中。

● 该芯片有非易失性存储器,可用于存储默认参数。这些参数被加载到RAM中,并在启动时使用。为确保芯片最有效地启动进入就绪状态,应将“安全”启动值写入芯片。

● 如果终端设备在嘈杂或重辐射环境中使用,那么设计应用程序代码定期重新确认配置数据是不错的主意。芯片配置存储在RAM中,这意味着它很容易受到宇宙射线、位反转以及所有可能发生在电子产品中的奇怪、罕见事件的影响。

本文小结

用于汽车、物联网或其他应用的BLDC电机实现相当普遍,但驱动会很复杂。为了应对软件复杂性,开发人员可以使用专用BLDC电机驱动器,如A4964KJPTR-T,其中封装了所有电机控制功能。

虽然仍然需要软件与芯片交互,但运行软件的微控制器只需要设定配置设置,A4964KJPTR-T就会负责驱动电机。尝试使用A4964KJPTR-T时,开发人员会发现,遵循所提供的“技巧与诀窍”可以帮助节省不少时间,避免许多麻烦。

来源:DigiKey,作者:Jacob Beningo

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机控制
    +关注

    关注

    3462

    文章

    1694

    浏览量

    264239
  • 电机驱动
    +关注

    关注

    59

    文章

    1058

    浏览量

    85844
  • BLDC
    +关注

    关注

    194

    文章

    727

    浏览量

    95731
收藏 人收藏

    评论

    相关推荐

    #电机驱动 BLDC电机结构和优势

    电机驱动BLDCBLDC电机电机驱动无刷直
    电子技术那些事儿
    发布于 :2022年09月12日 12:14:10

    #电机驱动 BLDC电机驱动的基本需求

    电机驱动BLDCBLDC电机电机驱动无刷直
    电子技术那些事儿
    发布于 :2022年09月12日 12:17:34

    #电机驱动 BLDC电机驱动的启动

    电机驱动BLDCBLDC电机电机驱动无刷直
    电子技术那些事儿
    发布于 :2022年09月12日 12:18:43

    #电机驱动 BLDC电机驱动的换向

    电机驱动BLDCBLDC电机电机驱动无刷直
    电子技术那些事儿
    发布于 :2022年09月12日 12:19:49

    如何开发BLDC电机驱动

    我是 BLCD 的新手,想为停车系统中使用的电机开发 BLDC 驱动器。任何可以建议从哪里开始的人。
    发表于 01-17 08:20

    BLDC落地扇电机驱动方案介绍

    BLDC落地扇电机驱动方案介绍
    发表于 12-20 16:06 95次下载

    TI BLDC电机驱动的结构及实现驱动的要求

    TI BLDC电机驱动器件介绍
    的头像 发表于 08-13 03:30 4912次阅读

    什么是BLDC电机BLDC电机是如何旋转的?

    何谓BLDC电机BLDC电机是如何旋转的?
    的头像 发表于 02-05 12:06 2.4w次阅读
    什么是<b class='flag-5'>BLDC</b><b class='flag-5'>电机</b>?<b class='flag-5'>BLDC</b><b class='flag-5'>电机</b>是如何旋转的?

    BLDC直流无刷电机驱动

    BLDC直流无刷电机驱动(村田电源技术(上海)有限公司 (研发中心))-BLDC直流无刷电机驱动
    发表于 09-18 17:29 378次下载
    <b class='flag-5'>BLDC</b>直流无刷<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>

    bldc驱动器怎么接线 bldc驱动器和伺服电机驱动器的区别

    BLDC驱动器将驱动电机转轴上的三个相线命名为A相、B相和C相。电机接线一般包括连接驱动器的A相
    的头像 发表于 08-03 14:24 1939次阅读

    bldc电机什么意思 bldc电机和fpa直驱电机哪个好

    供电,通过电子控制器和传感器来确定转子位置并实现精确的电机控制。BLDC电机的主要组成部分包括驱动电路、转子(包含永磁体)和定子(包含线圈)。驱动
    的头像 发表于 08-02 08:09 2332次阅读
    <b class='flag-5'>bldc</b><b class='flag-5'>电机</b>什么意思 <b class='flag-5'>bldc</b><b class='flag-5'>电机</b>和fpa直驱<b class='flag-5'>电机</b>哪个好

    bldc电机是变频电机bldc的控制方式

    BLDC(无刷直流)变频电机是一种采用无刷直流电机BLDC电机)与变频器(驱动器)结合的电动机
    的头像 发表于 08-15 15:06 2560次阅读

    bldc无霍尔怎么控制 BLDC电机驱动器接线相位是任意的吗

    在没有霍尔传感器的情况下,可以使用传感器无刷电机控制(Sensorless BLDC Control)方法来控制BLDC电机。这种方法主要基于电机
    的头像 发表于 08-16 15:46 1831次阅读

    BLDC电机驱动原理详解

    大家好,我是盲僧,最近这段时间在研究BLDC电机,在这里顺便总结和分享一下BLDC驱动原理。
    的头像 发表于 08-24 10:49 2963次阅读
    <b class='flag-5'>BLDC</b><b class='flag-5'>电机</b>的<b class='flag-5'>驱动</b>原理详解

    bldc六步驱动法原理 BLDC无刷直流电机bldc电机有啥区别

    BLDC(无刷直流)电机的六步驱动法是一种常见的控制方法,用于控制BLDC电机的转速和方向。其原理如下:   
    的头像 发表于 09-27 16:13 1401次阅读