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

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

3天内不再提示

借助软硬件组合,在一小时内启动并运行 BLDC 电机

丫丫119 来源:未知 作者:肖冰 2019-08-19 09:39 次阅读

在国防、工业机器人行业中,许多应用都需要使用嵌入式系统来控制直流无刷 (BLDC) 电机。带动电机旋转看似微不足道,可是一旦涉及到电机转速、扭矩、电气特性和电磁特性以及电流反馈测量,这就成了相当复杂的问题,并且可能会拖慢项目进度。

这就要求开发人员选择适当的硬件来运行驱动电机的算法,从而以最少的元器件数量,在应用的整个运动范围内都可以平稳顺畅地控制电机。

我们需要的正是一条捷径,即某种一体化软硬件组合包,可以显著缩短开发时间,使开发人员专注于最终应用,而无需深入了解电机控制的精妙之处。

本文将介绍一个Texas Instruments推出的类似组合包,结合该公司微控制器和开发套件硬件与 InstaSPIN™ 磁场定向电机控制软件和工具。此外,还将说明经验尚浅的开发人员如何使用该组合,在一小时内轻松确定电机参数并启动复杂的 BLDC 电机。

什么是 InstaSPIN-FOC,当真易于使用吗?

Texas Instruments 的 InstaSPIN 解决方案独特之处在于,即使开发人员对此毫无经验,也可以在一小时内启动电机。事实上,开发人员只要使用过该解决方案,那么下一次只需不到十分钟即可启动并运行电机。此外,该套件使用磁场定向控制 (FOC) 取代编码器,因此开发人员只需连接电机电源和接地以及电机的各相,那么便在电气上准备就绪,而无需编码器或其他复杂的电子设备。

当然,除 FOC 外,反电动势过零定时电路等其他控制机制也不使用传感器或编码器。不过,InstaSPIN 可以监控电机的磁通量,从而确定电机换向的时间。开发人员可以通过绘图窗口监控磁通信号,并设置“磁通阈值”滑块以指定电机换向发生的磁通水平。通过监控所显示的相电压和电流波形,可以验证最佳换向。

InstaSPIN-FOC 解决方案共包含四个主要部分:

微控制器板

电机驱动板

InstaSPIN-FOC 图形用户界面 (GUI)

BLDC 电机

智能微控制器板用于运行 FOC 算法,指定电机驱动器何时导通和断开不同的电机相位,并处理与 GUI 的通信。开发人员可以通过 GUI 查看磁通水平和其他参数。电机驱动器提供驱动实际电机的接口,所含的电路功能包括:保护微控制器免受高压冲击、测量以及检测电机故障。

InstaSPIN-FOC GUI 是通用 GUI,可在 Texas Instruments 的在线开发库中找到。开发人员可以直接通过 Web 浏览器运行 GUI,也可以将可执行版本下载至计算机本地。

最后一项则是三相永磁直流无刷电机

我们将详细研究上述各个部分,并探讨一个启动和运行 BLDC 电机的可行硬件解决方案。

BLDC 电机驱动器和微控制器

开发人员可以选择几种不同的解决方案来驱动 BLDC 电机,因此无需费心四处查找:TI 的InstaSPIN-FOC和MotorControlSDK 与该公司的LAUNCHXL-F280049CTMS320F280049C LaunchPad(图 1)和BOOSTXL-DRV8323RSLaunchPad 补充包配合使用。TMS320F28049C LaunchPad 是一款低成本开发板,包括板载 XDS110 调试器、扩展排针和F280049CPMSTMS320F280049C Piccolo™ 微控制器。

图 1:TMS320F280049C LaunchPad 包括隔离式 USB XDS110 调试探头、F280049C Piccolo 微控制器,以及可为两个补充包供电的电子元件。补充包可用于特定应用的硬件。(图片来源:Texas Instruments)

TMS320F280049C 微控制器使用 C2000 微控制器内核,包括 256 KB 的闪存和 100 KB 的 RAM,工作频率为 100 MHz。TMS320F280049C 的 ROM 中内置了 TI 的 FOC 电机控制算法,因而开发人员无需浪费宝贵的代码空间。

TMS320F280049C LaunchPad 并非开发人员使用 TMS320F280049C 微控制器的唯一方式。此外,还可以使用 TMS320F280049C 微控制器的TMDSCNCD280049C控制卡(图 2)。该控制卡可用于原型开发阶段,也适用于开发人员希望灵活更换应用所使用的微控制器或增强可扩展性的情况。控制卡可插入坞站使用,使开发人员可以访问微控制器 I/O。

图 2:TMS320F280049C 控制卡采用小型模块封装,提供电机控制功能,可与坞站配合使用以访问微控制器的 I/O。(图片来源:Texas Instruments)

DRV8323RS LaunchPad 补充包是可安插在 TMS320F280049C LaunchPad 上方的扩展板,以添加驱动 BLDC 电机所需的其他硬件(图 3)。

图 3:DRV8323RS LaunchPad 补充包包括电机驱动控制器、FET 和用于驱动 BLDC 电机的其他电路。(图片来源:Texas Instruments)

DRV8232RS 扩展板可安插在扩展区域位置 1 或位置 2,不过位置 1 正是 MotorControl SDK 示例连接的位置。开发人员可以使用三端子连接器将 BLDC 电机接至电路板,并为电路板提供外部电源以驱动电机。DRV8232RS LaunchPad 补充包也可为 TMS320F280049C 开发板供电。该扩展板的 LED 可显示通电状态和故障检测。

DRV8232RS LaunchPad 补充包的核心是DRV8230三相智能栅极驱动器。该栅极驱动器可提供低端电流检测,并能直接驱动额定工作电压高达 60 V 的 MOSFET

借助 TMS320F280049C LaunchPad 和 DRV8232RS LaunchPad 补充包,开发人员可以驱动各种 BLDC 电机。Trinamic推出的QBL4208-41-04-006是一款相当合适的入门级电机(图 4)。

Trinamic 电机使用 24 V 电源供电,转速高达 4000 RPM,扭矩达 62.5 mNm。

图 4:Trinamic 的 QBL4208-41-04-006 4000 RPM BLDC 电机使用 24 V 电源供电,扭矩达 62.5 mNm。(图片来源:Trinamic Motion Control GmbH)

上文已经列出开发人员着手 BLDC 电机控制所需的最精简物料,下一步则要考虑如何使用 InstaSPIN-FOC GUI 识别电机参数。

识别 BLDC 电机参数并运行电机

使用 InstaSPIN-FOC GUI 驱动电机前,系统需要先了解电机特性,以便对速度或扭矩进行 FOC 控制。为此,算法需要收集以下特性信息

电阻

电感

电机磁通

磁化电流

InstaSPIN-FOC GUI 只需数分钟就能自动识别这些特性。GUI 可以在浏览器中执行,并默认加载专门与 TMS320F280049C 和 DRV8232 扩展板配合使用的 MotorControl SDK 实验室 5。实验室 5 专用于向开发人员演示如何识别电机并获取其参数。欲了解详细信息,可查阅 GUI 快速入门指南和实验室手册。

首先,开发人员需要通过 TI 开发人员网站打开 InstaSPIN-FOC GUI。然后,在 GUI 环境下,可以找到一个与其他开发 IDE 类似的运行按钮。单击此按钮可将电机识别码下载至 LaunchPad 并尝试执行。

一开始可能毫无反应,因为开发人员必须启用该软件,即选中 GUI 中的 "Enable System"(启用系统)复选框。此时,电机识别码仍然无法运行,因为还需要选中 "Run"(运行)复选框。启用 "Run"(运行)后,代码就开始执行识别电机的序列,并且进行必要的测量以获得运行电机所需的参数。整个识别过程将持续数分钟,在此期间电机将加速旋转,然后减速旋转,并以慢速运行几分钟。

这一过程完成后,开发人员就可以在 GUI 上看到如图 5 所示的界面。

图 5:完成电机识别后的 InstaSPIN-FOC GUI 界面。(图片来源:Jacob Beningo)

请注意,在图 5 中,GUI 右上角的多个参数已填入数值。这些是须记录的电机参数,以便稍后在扭矩或速度模式下用于驱动电机。此外,您还可以注意到界面左侧的 "Motor Identified"(电机已识别)指示灯已由灰色变为绿色。此时,就可以直接通过 GUI 来控制电机转速。

只需更改 GUI 上 "speedRef(Hz)"(转速设定值)框中的数值即可控制电机转速。请注意,通过这一参考值来控制电机加速相当快捷。相比之下,减速则需要输入多个转速设定值才能实现,输入的转速需逐次递减。只需取消选中 "Run"(运行)复选框,即可完全停止电机。

使用 TI 的 InstaSPIN-FOC 控制 BLDC 电机的技巧与诀窍

开发人员使用 BLDC 电机和 TI 的 InstaSPIN-FOC 解决方案时,可以考虑以下几个最佳实践:

选择内部闪存内置了电机算法的微控制器,以此可节省用于电机算法的代码空间,并且可以在执行时进行性能提升。

使用 F280049C LaunchPad 的位置 1 作为 DRV8323RS LaunchPad 补充包的默认位,若使用位置 2 将需要对软件进行更新。

花时间浏览 TI MotorControl SDK 中提供的所有 13 个样例实验室。这些实验室涵盖了从识别电机参数到通过控制速度和转矩来控制电机所需的所有内容。

使用样例实验室 5 来识别电机参数。如果使用 MOTOR_TYPE_PM,请确保还需添加以下定义,以便成功编译实验室,并使用调整后的数值:

define #define USER_MOTOR_INERTIA_Kgm2 (7.06154e-06)

通过 InstaSPIN-FOC 在线 GUI 启动 BLDC 实验。

总结

驱动 BLDC 电机进行扭矩或速度控制可能是个相当复杂的问题,很有可能会超出嵌入式软件工程师的知识范畴,从而拖慢项目开发进度。如上所述,借助 Texas Instruments 的 InstaSPIN 和 MotorControl SDK 及相关硬件,即使开发人员对控制工程所知甚少,也可轻松快速地启动并运行 BLDC 电机。

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

    关注

    194

    文章

    717

    浏览量

    95588
  • InstaSPIN-FOC
    +关注

    关注

    1

    文章

    2

    浏览量

    7413
收藏 人收藏

    评论

    相关推荐

    电池管理系统(BMS)软硬件介绍

    电子发烧友网站提供《电池管理系统(BMS)软硬件介绍.pdf》资料免费下载
    发表于 03-27 09:20 2次下载

    BLDC市场稳定增长,电机向更高性能发展,核心控制技术如何助力?

    控制是BLDC的核心主题,更高的电机性能均需要控制芯片予以实现,这对芯片设计公司不断提出更高的要求。相关厂商在电机控制软硬件技术上的持续突破也推动了
    的头像 发表于 11-12 02:04 2472次阅读
    <b class='flag-5'>BLDC</b>市场稳定增长,<b class='flag-5'>电机</b>向更高性能发展,核心控制技术如何助力?

    基于ARM的管轨牵引供电监控系统软硬件平台

    电子发烧友网站提供《基于ARM的管轨牵引供电监控系统软硬件平台.pdf》资料免费下载
    发表于 11-06 16:25 0次下载
    基于ARM的管轨牵引供电监控系统<b class='flag-5'>软硬件</b>平台

    软硬件融合的概念和内涵

    跟很多朋友交流,当提到软硬件融合的时候,他们会这么说:“软硬件融合,难道不是显而易见吗?我感觉在二三十年前就已经有这个概念了。”在他们的想法里,其实:软硬件融合等同于软硬件协同,甚至等
    的头像 发表于 10-17 14:36 484次阅读
    <b class='flag-5'>软硬件</b>融合的概念和内涵

    基于软件模拟的SPI端口CAN控制卡的软硬件设计

    电子发烧友网站提供《基于软件模拟的SPI端口CAN控制卡的软硬件设计.pdf》资料免费下载
    发表于 10-13 11:38 0次下载
    基于软件模拟的SPI端口CAN控制卡的<b class='flag-5'>软硬件</b>设计

    种大电流无传感器BLDC电机控制器电路

    使电机继续运行,而旦开关在地面上切换,电机就会立即停止。   POT R18允许用户线性控制电机的速度,只需
    发表于 09-14 16:09

    单片机到底是如何软硬件结合的

      不知道大家有没有疑惑,为什么软件能控制硬件?反正当年我学习51的时候,有这个疑惑。今天我们就暂停软件开发,分析单片机到底是如何 软硬件结合 的。并通过一个基本的程序,分析单片机程序的编译,运行
    的头像 发表于 08-08 09:31 875次阅读
    单片机到底是如何<b class='flag-5'>软硬件</b>结合的

    STM32单片机到底是如何实现软硬件结合?

    本文分析 STM32 单片机到底是如何实现软硬件结合的,接着分析单片机程序如何编译、运行
    发表于 05-16 09:54 712次阅读
    STM32单片机到底是如何实现<b class='flag-5'>软硬件</b>结合?

    设置setTime的值比当前时间提前一小时是什么原因?

    的日期)之后,如果我打印 now() 和 hour() 的值,它们是不同的:now() 与当前时间致,hour() 落后一小时。 setTime(时、分、秒、日、月、年)后,now() 的值比当前时间
    发表于 05-10 10:17

    移远GPS模块L76全套软硬件资料

    移远GPS模块L76全套软硬件资料,包括全套软件应用手册资料,硬件:各EDA封装,应用电路
    发表于 05-08 09:26 7次下载

    求分享NCJ29D5 EVK的软硬件文件

    如果我从 NXP 购买 NCJ29D5 EVK。我能得到相关的软硬件文件吗?
    发表于 04-25 06:34

    软硬件解耦面临着重重困难

    “在软件定义汽车的时代背景下,软件的地位越来越高,智能汽车行业发展需要实现软硬件解耦。”
    的头像 发表于 04-17 09:17 1374次阅读