当前位置: 首页 > news >正文

MCU解决800V电动汽车牵引逆变器的常见设计挑战的3种方式

电动汽车 (EV) 牵引逆变器是电动汽车的。它将高压电池的直流电转换为多相(通常为三相)交流电以驱动牵引电机,并控制制动产生的能量再生。电动汽车电子产品正在从 400V 转向 800V 架构,这有望实现:

·快速充电 – 在相同的电流下提供双倍的功率。

·通过利用碳化硅 (SiC) 提高效率和功率密度。

·通过使用更细的电缆减少相同额定功率下 800V 电压所需的电流,从而减轻重量。

在牵引逆变器中,微控制器 (MCU) 是系统的大脑,通过模数转换器 (ADC) 进行电机控制、电压和电流采样,使用磁芯计算磁场定向控制 (FOC) 算法,并使用脉宽调制 (PWM) 信号驱动功率场效应晶体管 (FET)。对于 MCU,向 800V 牵引逆变器的转变对其带来了三个挑战:

·更低延迟的实时控制性能需求。

·增加了功能安全要求。

·需要快速响应系统故障。

在本文中,我们将讨论基于 Arm 的 SitaraAM2634-Q1 和 C2000 MCU 等器件如何应对这些挑战。

更低延迟的实时控制

为了控制牵引电机的扭矩和速度,MCU 使用外设(ADC、PWM)和计算内核的组合来完成控制环路。随着转向 800V 系统,牵引逆变器也转向宽带隙半导体(例如 SiC),因为它们在 800V 时大大提高了效率和功率密度。为了实现 SiC 所需的更高开关频率,这种控制环路延迟成为优先事项。低延迟控制环路还使工程师能够以更高的转速运行电机,从而减小电机的尺寸和减轻重量。要了解并缩短控制环路延迟,您必须了解控制环路信号链及其各个阶段,如图 1 所示。

图 1:控制环路信号链

为获得出色的实时控制性能,您必须优化整个信号链,包括硬件和软件。从 ADC 采样(来自电机的输入)到写入 PWM(输出以控制电机)所花费的时间是实时控制性能的基本衡量标准。从 ADC 采样开始,逆变器系统需要准确快速的采样,即实现高采样率、至少 12 位分辨率和低转换时间。一旦可进行采样,它需要通过互连传输到处理器并由处理器读取,并优化的总线和内存访问架构缩短延迟。在处理器中,内核需要使用 FOC 算法根据电机的相电流、速度和位置计算下一个 PWM 步骤。

为了更大限度地减少计算时间,内核需要较高的时钟速率并且必须高效地执行特定数量的指令。此外,内核需要执行一系列指令类型,包括浮点、三角和整数数学指令。,内核再次使用低延迟路径将更新后的占空比写入 PWM 发生器。在 PWM 输出上应用死区补偿将防止在切换高侧和低侧 FET 时发生短路,在硬件级别应用以减少软件开销。

增加功能安全要求

由于牵引逆变器提供电力来控制电机,因此它们本质上是功能安全型关键系统。由于 800V 系统有可能提供更高的功率、扭矩、速度(或三者兼而有之),因此牵引系统需要功能安全达到汽车安全完整性等级 (ASIL) D 级要求。功能安全系统的一个关键部分是 MCU,因为它需要智能地做出安全响应系统故障的决策。因此,使用通过 ASIL D 的MCU是一个重要的安全元素。

为了让工程师更轻松地满足特定于牵引逆变器的系统安全要求,TI MCU 提供了额外的功能。例如,相电流反馈表示有关电机扭矩的信息,这使得这些信号对安全至关重要。因此,许多工程师更喜欢对相电流进行冗余采样,这意味着 MCU 必须具有多个独立的 ADC。

快速响应系统故障

工程师面临的另一个挑战是在出现故障时能够快速将电机置于安全状态,例如续流。在 PRU 中执行的固件可以正确评估和响应故障类型并执行所需的 PWM 保护序列,如图 2 所示,然后根据需要直接将 PWM 置于安全状态。这些操作发生在短短 105ns 内。此外,由于固件是用户可进行编程的,因此工程师可以在必要时添加额外的自定义逻辑来满足他们的应用要求。

图 2:流程图显示了基于故障输入的 PWM 输出的预期保护行为

随着越来越多电动汽车的生产,设计趋势将转向 SiC 和 800V 技术,同时需要提高电机控制性能并满足牵引逆变器的功能安全要求。随着世界朝着电气化方向发展,性能和效率方面的创新对于帮助汽车工程师设计下一代电动汽车至关重要。

http://www.lryc.cn/news/386590.html

相关文章:

  • 《逆向投资 邓普顿的长赢投资法》
  • C++中main函数的参数、返回值分别什么意思?main函数返回值跟普通函数返回值一样吗?
  • Java程序员学习Go开发Higress的WASM插件
  • Python入门-基本数据类型-数字类型
  • 小程序web-view无法打开该页面的解决方法
  • 海外媒体发稿:媒体宣发套餐的作用分享-华媒舍
  • 【R语言】plot输出窗口大小的控制
  • 【shell脚本实战案例】数据磁盘初始化
  • 1.7 计算机体系结构分类
  • 数据结构之B树:深入了解与应用
  • Tensorflow入门实战 T06-Vgg16 明星识别
  • SpringBoot 3.3.1 + Minio 实现极速上传和预览模式
  • Linux: network: 丢包分析的另一个途径 tracing
  • 【保姆级教程+配置源码】在VScode配置C/C++环境
  • Qt creator实现一个简单计算器
  • Java代码基础算法练习-计算被 3 或 5 整除数之和-2024.06.29
  • Socket编程详解(二)核心代码讲解
  • (项目实战)聚合支付系统开发环境搭建-基于VMware17安装Centos7.9
  • Python现在可以在线编程了!
  • ThreadPoolExecutor线程池创建线程
  • 畅谈GPT-5
  • 石家庄高校大学智能制造实验室数字孪生可视化系统平台项目验收
  • WLAN 4-Way Handshake如何生成GTK?
  • Qt/C++模拟鼠标键盘输入
  • OpenGL3.3_C++_Windows(22)
  • electron-builder 打包过慢解决
  • leetcode226反转二叉树
  • 【自然语言处理系列】探索NLP:使用Spacy进行分词、分句、词性标注和命名实体识别,并以《傲慢与偏见》与全球恐怖活动两个实例文本进行分析
  • 【Rust】function和methed的区别
  • python基础语法 003-4 数据类型集合