采用NXP解决方案打造汽车电机控制原型

汽车电子

2431人已加入

描述

无刷直流(BLDC)电机是一种使用直流电源运行的电机,但它依靠的是电子控制器来切换电机绕组中的电流,而非传统有刷电机那样使用电刷。这种设计可以减少磨损,使电机更耐用、更高效。没有电刷就意味着摩擦更少,因而热损失也更少。BLDC电机具有效率高、功率重量比大、维护成本低、转速高、扭矩大、运行安静的特点,非常适合无人机、风扇、泵和电动汽车(EV)等应用。

然而,BLDC电机需要有电子控制器(如微控制器)、反馈机制(如霍尔效应传感器)等额外元器件才能工作。为简化BLDC电机和永磁同步电机(PMSM)的设计,NXP Semiconductors推出了S32M276S系统级封装(SiP)解决方案,该方案集成了高压模拟功能和高性能Arm® Cortex®-M7微控制器。NXP的S32M2 BLDC/PMSM电机控制评估板和S32M276SFFRD参考设计板支持该解决方案。
本项目将帮助工程师了解使用NXP S32M276SFFRD参考设计板快速高效打造BLDC电机控制应用原型所需的硬件和软件栈。

项目材料与资源

项目物料清单 (BOM)

NXP S32M276SFFRD参考设计板

NXP S32调试探针

项目代码/软件

S32 Design Studio for S32 Platform v.3.5(需要登录)

S32M2xx开发包(在S32 Design Studio中提供)

用于S32K3和S32M27x的RTD 4.0.0版

用于S32K3和S32M27x的RTD 4.0.0版P20补丁

项目GitHub代码库

其他资源

NXP账户(可免费创建)

FreeMASTER运行时调试工具(需要登录)

用于S32M27X的AMMCLib(需要登录)

S32M276电机控制应用程序(需要登录)

其他硬件

运行Windows 10或更高版本的PC

12V – 24V BLDC电机

12V DC/DC电源

瞬时(开)-关-(开)翘板开关

五个6.3mm FASTON连接器(三个用于电机,两个用于电源)

FTDI TTL-232R-3V3-WE TTL转USB串行转换电缆

剥线钳

压线钳

连接线

USB转UART开关适配器板(可选,设计文件在GitHub代码库中)

项目技术概述

NXP S32M276SFFRD参考设计板(1)基于NXP S32M276 SiP,该SiP集成了32位Arm Cortex-M7微控制器和带有稳压器、栅极驱动器和电流检测功能的模拟芯片。该参考设计旨在向电机控制应用工程师展示S32M276如何帮助减小印刷电路板(PCB)和BOM尺寸。为便于原型开发,S32M276SFFRD提供用于UART、CAN/CAN FD(使用内部PHY)和JTAG 10引脚连接器等接口的分线板。

NXP
1NXP S32M276SFFRD参考设计板。(图源:贸泽电子)

硬件概述

本节介绍如何连接本项目的各种硬件组件。

将电机连接到开发板

将一个6.3mm FASTON连接器压接到BLDC电机的A相上。

将第二个6.3mm FASTON连接器压接到BLDC电机的B相上。

将第三个6.3mm FASTON连接器压接到BLDC电机的C相上。

将第四个6.3mm FASTON连接器压接到直流电源的正极线上。

将第五个6.3mm FASTON连接器压接到直流电源的负极线上。

将电机的A相连接到开发板的A相连接器上。

将电机的B相连接到开发板的B相连接器上。

将电机的C相连接到开发板的C相连接器上。

将电源的正极端子连接到开发板的电源连接器上。

将电源的负极端子连接到开发板的接地连接器上。

注意:长时间带负载运行电机可能会导致电机过热。请连接合适的负载,或者缩短电机运行时间。

将开关连接到开发板

将开发板的VDDE-MCU引脚(2)连接到开关的公共端。

将开发板的PTD0引脚连接到开关的高电平端。

将开发板的PTE11引脚连接到开关的低电平端。

NXP
2将开关连接到电路板。(图源:Green Shoe Garage)

将计算机连接到开发板

将JTAG 10引脚连接器电缆的一端插入开发板。

将JTAG 10引脚连接器电缆的另一端插入S32调试探针。

将USB转UART开关适配器板(3)插入开发板。

将适配器板的TX信号(LPUART0_TX)连接到TTL-232R-3V3-WE的黄色RX线。

将适配器板的RX信号(LPUART0_RX)连接到TTL-232R-3V3-WE的橙色TX线。

将适配器板的GND信号连接到TTL-232R-3V3-WE的黑色GND线。

将TTL-232R-3V3-WE的USB Type A端插入PC。

注意:GitHub代码库中包含USB转UART适配器板的Gerber文件,从而更加便于将外部器件(如开关)连接到S32M276SFFRD开发板。

NXP
3适配器板可使开发板与外部元器件的连接更加可靠。(图源:Green Shoe Garage)

软件概述

本节将介绍更新、测试和运行本项目所需的各种开发应用程序。本文不再重复介绍NXP文档中的内容,但在计算机上设置开发环境时,请注意以下事项:

下载和安装软件时,请使用指定版本(而非最新版本),并遵循安装顺序。软件安装错误可能导致代码编译失败、软件启动失败或菜单不完整。

请勿尝试同时运行集成开发环境(IDE)调试器和测试应用程序(如MCAT),因为它们需要使用同一个COM端口。

S32 Design Studio

NXP S32 Design Studio (S32DS) 是一款专为汽车和工业应用定制的IDE。它支持为NXP S32系列汽车微控制器和微处理器开发软件,这些微控制器和微处理器广泛应用于各种先进汽车系统,如高级辅助驾驶系统(ADAS)、动力总成和车身控制等。该应用程序基于广泛采用的Eclipse平台,可为开发人员提供熟悉的界面。
S32DS提供全面的工具链,包括基于GCC的编译器、调试器以及对S32实时驱动程序(RTD)的支持。它提供驱动程序、RTOS、中间件和硬件抽象层,并支持符合AUTOSAR标准的汽车软件工具和库。

FreeMASTER

FreeMASTER是一款多功能实时调试监控器和数据可视化工具,用于配置和优化嵌入式软件应用程序。它已被汽车主机厂(OEM)和设备制造商广泛用于各种汽车和工业应用,具有以下主要功能:

非侵入式监控:使用类似示波器的显示屏、仪表、滑块和文本数据记录器实时显示多个变量

集成:与自定义HTML、MATLAB®、Excel和其他可编写脚本的框架链接,将微控制器(MCU)硬件集成到控制回路中

连接性:使用与Python、Node.js、C/C++/C#等兼容的JSON RPC调用,通过各种通信外设或调试通道连接到目标系统

嵌入式视图:在桌面应用程序中集成图表、表格和网页视图

电机控制应用调优工具

NXP电机控制应用调优(MCAT)工具(4)是一款功能强大的软件实用程序,设计用于简化电机控制应用的开发和调优,尤其是在使用NXP电机控制硬件平台和软件解决方案时。它提供了直观的界面,用于实时调整电机控制参数,并可在电机运行时调优控制回路参数。这一功能对于微调性能、尽可能降低扭矩纹波和实现高效率而言至关重要,是电动汽车等应用中电机工程师的宝贵资源。

NXP
4NXP MCAT工具有助于调整电机的性能参数。(图源:NXP)

项目开发

本节将介绍如何修改源代码以满足需求。这些代码还可以作为模板,根据项目的需要进行进一步修改。源代码可从GitHub代码库获取。

在S32DS中编辑源代码

修改MCAT测试代码的主循环,使电机在窗口开关处于活动位置时运行。此代码假定开关高电平位置为活动,但也可修改为低电平位置为活动。
#include "Siul2_Port_Ip.h"
#include "Siul2_Dio_Ip.h"
#include "actuate_s32m.h"
 
#define MOTOR_ON() ACTUATE_EnableOutput()
#define MOTOR_OFF() ACTUATE_DisableOutput()
 
int main(void)
{
    // 将PTD0和PTE11引脚初始化为输入引脚
    Siul2_Port_Ip_PinSettingsConfig pinConfig = {
        .mux = SIUL2_PORT_MUX_AS_GPIO,
        .inputBufferEnable = true,
        .outputBufferEnable = false,
    };
    Siul2_Port_Ip_Init(1, &pinConfig);
 
    // 主应用程序循环
    while (1)
    {
        // 读取PTD0和PTE11的状态
        bool isPTD0High = Siul2_Dio_Ip_ReadChannel(PTD, 0);
        bool isPTE11High = Siul2_Dio_Ip_ReadChannel(PTE, 11);
 
        // 如果PTD0或PTE11为高电平,则开启电机
        if (isPTD0High)
        {
            MOTOR_UP();
        }
        else if (isPTE11High)
        {
            MOTOR_DOWN();
        }
        else
        {
            MOTOR_OFF();
        }
    }
    return 0;
}
上述代码重新利用了原本用于霍尔效应传感器的引脚。这意味着本示例可用于无传感器配置。

上传固件

在S32 Design Studio for S32 Platform中导入已安装的应用程序软件项目:

启动S32DS for S32 Platform。

单击File(文件),然后单击Import(导入)。

Import窗口中,展开General(通用)文件夹,然后选择Existing Projects into Workspace(现有项目导入到工作区)(5)。

NXP
5在S32DS中添加现有代码库。(图源:NXP)

浏览至下载的项目文件所在的文件夹,选择父项目文件夹。

选中Copy projects into workspace(将项目复制到工作区)复选框(6)。

单击OK(确定),然后单击Finish(完成)。

NXP
6确保选中Copy projects into workspace复选框。(图源:NXP)

展开项目文件夹,双击*.mex文件,在S32配置工具中打开项目配置(7)。

NXP
7*.mex文件将上传到被测试的设备。(图源:NXP)

确保配置了正确的项目,然后单击Update Code(更新代码)按钮生成配置文件(8)。

NXP
8确保在上传固件之前选择了正确的设备。(图源:NXP)

在S32DS中,单击C图标(9)返回C/C++视图。

NXP
9C图标可打开C/C++视图模式。(图源:NXP)

单击调试图标(10)打开Debug Configuration(调试配置)窗口(11),选择预定义的调试配置以构建软件并上传到MCU。

NXP
10调试图标可打开Debug Configuration窗口。(图源:NXP)
NXP
11在Debug Configuration窗口中,可以更改固件在调试期间的运行方式。(图源:NXP)

此时S32DS将切换到调试视图。

单击Resume(继续)图标(或按F8键)运行代码(12)。

单击Disconnect(断开连接)(12),以避免S32DS IDE调试器和FreeMASTER工具之间的干扰。

NXP
12Disconnect和Resume按钮可用于切换IDE或测试工具是否可访问被测试的设备。(图源:NXP)

使用MCAT工具调优电机

NXP MCAT工具是一款功能强大的软件工具,设计用于简化电机控制应用(包括使用NXP电机控制硬件平台的应用)的开发和调试。

浏览至FreeMASTER_Control文件夹,双击pmpx文件即可打开MCAT工具(13)。

NXP
13双击S32M_PMSM_Sensorless.pmpx文件打开MCAT工具。(图源:贸泽电子)

选择正确的微控制器和电机控制配置文件。

在MCAT界面中输入特定于电机的参数,包括但不限于:

极对数(pp)

额定电压和电流

最大转速(RPM)

反电动势常数和绕组电阻(如果已知)

单击Output File(输出文件)选项卡,然后单击Generate Configuration File(生成配置文件)(14)。

NXP
14MCAT的Output File选项卡。(图源:贸泽电子)

按照上传固件部分的第10到第12步添加新配置。

设置速度和电流回路初始的比例-积分-微分(PID)控制增益。MCAT工具可能会提供默认值。

启用电机:

设置所需的工作模式(本项目中使用开环或闭环控制)。

逐步提高速度或占空比,确保电机正确启动。

实时监控关键参数,如电压、电流和速度等。

调整速度和电流回路的PID增益:

先调整比例增益(P),直至响应速度和稳定性达到平衡。

提高积分增益(I),以消除稳态误差。

必要时提高微分增益(D),以抑制振荡。

使用MCAT工具的实时反馈(如波形和数值数据)进一步优化调优过程。

注意:MCAT提供级联驱动结构,支持开环和闭环操作:

标量控制(开环、无反馈)可生成脉宽调制(PWM)信号,用于低速测试。将电机转速设置为50rpm,然后缓慢提高V/rpm系数,直至电机开始旋转。

电流磁场定向控制(FOC)模式可评估电流传感,包括对电流回路PI调节器进行调优。

速度FOC模式可让用户对速度回路PI调节器、斜坡响应等进行调优。

电机带载测试:

对电机施加不同的负载,以模拟实际工况。

监控性能(15)并调整参数,以确保稳定性和效率。

NXPNXP
15电机带载测试。(图源:Green Shoe Garage)

调整启动参数,如初始占空比、加速度变化率和启动换向设置,以实现平稳可靠的电机启动。

验证安全功能:

测试电机在过流、欠压或过热等故障工况下的行为。

调整MCAT工具中的故障阈值,确保电机控制器能够正常响应。

调优完成后,根据需要重复第4步和第5步,以更新配置文件。

结语

汽车行业的电气化进程,需要无数的创新以精确的方式结合在一起。其中,降低成本、重量和复杂性对于电动汽车的大规模普及至关重要。NXP S32M276 SiP解决方案将多项关键功能集成到单一封装中,减少了对分立元器件的需求,从而尽可能地降低了系统复杂性,在应对这些挑战方面发挥了关键作用。这种集成通过减少BOM和简化组装流程,直接转化为成本节约。此外,SiP的紧凑性有助于实现整体系统的小型化和轻量化,这对电动汽车尤为重要,因为重量的减轻直接关系到续航里程和性能的提升。
通过在统一封装中支持高性能计算和先进的电机控制,S32M276还有助于开发更高效的空调控制系统。其优化的架构可精确控制电机、提高能效并降低车辆能耗,从而提升每次充电后的行驶里程,增强电动汽车对消费者的整体吸引力。总之,NXP S32M276等嵌入式系统不仅有助于加快电动汽车的普及步伐,还有助于为更可持续的未来铺平道路。

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分