导言#
本文介绍如何开始在 PEController 上进行嵌入式开发。
先决条件#
以下工具是理解和实施本文所举示例的先决条件:
- STM32CubeIDE 1.9 或更新版本
- STM32Cube_FW_H7_V1.7.0 或更新版本
- STM32CubeMX 6.0.0 或更新版本
- PEC 控制板支持软件包
硬件概述#

使用以下步骤准备 PEController 以运行演示程序。
- 为 PEC 控制器供电。(如果是独立的 PEController,则使用 15V 适配器为 PEController 供电)。
- 通过 A 型 USB 电缆将 ICP USB 与计算机连接。
PEC 控制板支持包#
PEController 由 GitHub 上的开源嵌入式 C 库提供支持。开源软件包名为 PEController 板支持软件包(BSP)。这些库还包括可加速开发的示例应用程序。这些库是本文的先决条件。
下载 PEController BSP#
使用以下步骤下载当前版本的 PEController BSP:
步骤 1: 访问链接https://github.com/Taraz-Technologies/PEControllerBSP。
步骤 2: 按下图所示的 "Code"按钮,然后点击 "Download ZIP"(下载 ZIP),获取最新版本的 PEController BSP。

步骤 3: 从下载的压缩文件中解压文件夹。
步骤 4:单击此处访问 PEControllerBSP 文档
PEController BSP 简介#
目录概览#
下面将介绍 PEController BSP 的当前目录结构:

驾驶员#
该文件夹包含 PEController 的设备驱动程序。
- BSP: 包含 Taraz Technologies 提供的 BSP 驱动程序。
- PEC 控制器
- ADC: 包含ADC 相关设备驱动程序。
- 通用:包含与设备驱动程序相关的一般共享和定义。
- 组件包含不同的组件驱动程序。
- 数字引脚包含数字 IO 相关设备驱动程序。
- 显示屏:包含与显示相关的设备驱动程序。
- intelliSENS:包含用于集成 intelliSENS 软件的设备驱动程序。
- PWM:包含 PWM 相关设备驱动程序。
- PEC 控制器
- CMSIS:包含通用微控制器软件接口标准(CMSIS)标准设备驱动程序。
- STM32H7xx_HAL_Driver:其中包含意法半导体提供的器件。
中间件#
该文件夹包含驱动程序的支持库。
- ST: 包含意法半导体提供的 USB 和网络等支持库。
- Taraz:包含 Taraz Technologies 提供的控制系统设计支持库(如 Clarke/Park 转换、数字滤波、PLL 生成等)。
- Third_party:包含第三方支持库,如 LWIP、FreeRTOS 和 FatFS。
项目#
该文件夹包含 BSP 中提供的应用示例。
- PEC 控制器
- 应用。
- PEController_Template:模板项目,用于创建新的快速项目。
- PELab_OpenLoopVFD:开环 V/f 控制的基本实现 为不同版本的 PELab 以及独立的 PEController 板实现。
- 应用。
运行开环 V/f 示例#
本文使用 PELab_OpenLoopVFD 示例项目来演示如何使用 PEController。在继续阅读之前,请确保安装了所有先决工具。
步骤 1: 打开包含从 GitHub 下载的 PEController BSP 的目录。
Step 2: Open the “.project” file in {Project_path}/ Projects/PEController/Applications/PELab_OpenLoopVFD. This will add the project with its two nested projects in the STM32CubeIDE workspace.

第 3 步: 如下图所示,从菜单项中的窗口打开 "项目浏览器":

第 4 步: 确保从菜单项中的窗口启用工具栏,如下图所示:

步骤 5: 展开 PELab_OpenLoopVFD 项目。如下图所示,可以看到该项目有两个嵌套项目,一个用于 CM4 内核,另一个用于 CM7 内核:

步骤 6: 对 BSP 中的逻辑进行划分,使测量采集、LCD 显示和其他辅助功能由 CM4 内核控制,而 CM7 内核用于执行控制算法,以获得更好的控制性能。
步骤 7:两个项目都包含以下结构:
- BSP:包含 BSP 驱动程序。
- 通用:包含 CM4 和 CM7 内核共享的配置等共享文件。
- 核心:包含 STM32CubeMX 软件生成的主文件和其他文件。
- 驱动程序包含意法半导体驱动程序。
- 用户文件:包含项目相关文件。
第 8 步:在 Common/Inc.Net 文件中的 "user_config.h "文件中编辑以下信息:
- 从参数 PECONTROLLER_CONFIG 中选择硬件类型,独立 PEController 选择 PEC_CUSTOM,PELab 选择适当的 PELab 配置。
- 如果 PEController 安装在 PELab 中,请选择适当的 PELAB_VERSION 和 CURRENT_SENSITIVITY_mVA 值。相关信息请参见 PELab 数据表。
- 为 PEController 选择合适的显示模块。

步骤 9:右键单击PELab_OpenLoopVFD_CM4,然后单击 "构建项目":

步骤 10:右键单击PELab_OpenLoopVFD_CM7,然后单击 "构建项目"。
步骤 11:单击菜单项中的运行,然后单击运行配置...:

步骤 12:转到PELab_OpenLoopVFD_CM4 中的 "启动 "选项卡:

步骤 13: 上图显示,PELab_OpenLoopVFD_CM4 项目配置为不构建或下载 CM4 内核的代码。通过该选项,可同时调试 CM4 和 CM7 内核。如下图所示,CM7 项目负责对 CM7 和 CM4 内核进行编程:

第 14 步:确保在上述窗口中选择了 CM7 项目,然后按运行将代码上传到两个内核。
实施和成果#
本节介绍电感负载开环 V/f 控制的实际应用。
所需设备#
实际验证 V/f 控制器的功能需要以下设备。
- 集成 PEC 控制器的 PELab
- 三相负载(感应电机或电感器)
- 直流电源
实施细节#
PELab 的各种配置均可实施。独立的 PEController 需要外部功率级和三相负载来实现本示例。本指南讨论了在 PELab (PLB-6PH) 上使用内部电感器作为三相负载的开环 V/f 示例的结果。
该示例演示了在直流链路电压恒定的情况下,根据电流频率控制调制指数。演示开始时,输出频率为 1Hz。频率以指定的加速因子上升,直至达到所需的频率值。这演示了三相电机的软启动能力,从而避免了启动时的大电流要求。
下表提供了相关的实施规范:
参数 | 价值 |
PWM 频率 | 40 千赫 |
输出所需频率 | 25 赫兹 |
输出初始频率 | 1 赫兹 |
直流链路电压 | 50 V |
电感 | 2.5 mH |
结果#
本节提供所需频率下三个相位的输出电流波形。每个电流波形用不同的颜色表示。图像中还提供了相关的测量值。

调试示例#
本节介绍同时调试项目的 CM7 和 CM4 内核的步骤。使用以下步骤调试开环 v/f 项目。
第 1 步:点击工具栏中调试图标旁边的箭头,然后点击调试配置菜单项,如下图所示:

步骤 2:选择PELab_OpenLoopVFD_CM7启动配置并按下调试按钮:

步骤 3:加载应用程序后,按下工具栏中的恢复按钮。确保应用程序完全加载后再按恢复按钮,以免出错。
第 4 步:单击工具栏中调试图标旁边的箭头,然后单击调试配置菜单项:

步骤 5:选择PELab_OpenLoopVFD_CM4启动配置并按下调试按钮。
步骤 6:调试窗口应如下图所示,两个项目都将在此运行:

步骤 7:打开 "实时表达式"选项卡,在表达式栏中写入adcVals,然后按回车键。 按 adcVals 边上的箭头可查看模拟通道反馈的实时值。adcVals 的结构在 adc_config.h 中定义,其成员可能因配置而异。实时反馈视图与下图类似,数值会不断变化:

步骤 8:按下工具栏中两个项目的终止按钮,终止调试会话。