使用 STM32CubeIDE 入门 PEController

导言#

本文介绍如何开始在 PEController 上进行嵌入式开发。

先决条件#

以下工具是理解和实施本文所举示例的先决条件:

  1. STM32CubeIDE 1.9 或更新版本
  2. STM32Cube_FW_H7_V1.7.0 或更新版本
  3. STM32CubeMX 6.0.0 或更新版本
  4. PEC 控制板支持软件包

硬件概述#

PEController 双核 ARM 控制器模块

使用以下步骤准备 PEController 以运行演示程序。

  1. 为 PEC 控制器供电。(如果是独立的 PEController,则使用 15V 适配器为 PEController 供电)。
  2. 通过 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。

PEControllerBSP Github 下载

步骤 3: 从下载的压缩文件中解压文件夹。

步骤 4:单击此处访问 PEControllerBSP 文档

PEController BSP 简介#

目录概览#

下面将介绍 PEController BSP 的当前目录结构:

PEControllerBSP 目录概述

驾驶员#

该文件夹包含 PEController 的设备驱动程序。

  • BSP: 包含 Taraz Technologies 提供的 BSP 驱动程序。
    • PEC 控制器
      • ADC: 包含ADC 相关设备驱动程序。
      • 通用:包含与设备驱动程序相关的一般共享和定义。
      • 组件包含不同的组件驱动程序。
      • 数字引脚包含数字 IO 相关设备驱动程序。
      • 显示屏:包含与显示相关的设备驱动程序。
      • intelliSENS:包含用于集成 intelliSENS 软件的设备驱动程序。
      • PWM:包含 PWM 相关设备驱动程序。
  • 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.

PEControllerBSP 开放式 Vf 项目

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

PEControllerBSP 显示项目浏览器

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

PEControllerBSP 显示工具栏

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

PEControllerBSP 项目视图

步骤 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 选择合适的显示模块。
PEControllerBSP 用户配置

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

构建 PEControllerBSP

步骤 10:右键单击PELab_OpenLoopVFD_CM7,然后单击 "构建项目"。

步骤 11:单击菜单项中的运行,然后单击运行配置...:

PEControllerBSP 运行配置

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

PEControllerBSP CM4 运行配置

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

PEControllerBSP CM7 运行配置

第 14 步:确保在上述窗口中选择了 CM7 项目,然后按运行将代码上传到两个内核。

实施和成果#

本节介绍电感负载开环 V/f 控制的实际应用。

所需设备#

实际验证 V/f 控制器的功能需要以下设备。

  1. 集成 PEC 控制器的 PELab
  2. 三相负载(感应电机或电感器)
  3. 直流电源

实施细节#

PELab 的各种配置均可实施。独立的 PEController 需要外部功率级和三相负载来实现本示例。本指南讨论了在 PELab (PLB-6PH) 上使用内部电感器作为三相负载的开环 V/f 示例的结果。

该示例演示了在直流链路电压恒定的情况下,根据电流频率控制调制指数。演示开始时,输出频率为 1Hz。频率以指定的加速因子上升,直至达到所需的频率值。这演示了三相电机的软启动能力,从而避免了启动时的大电流要求。

下表提供了相关的实施规范:

参数价值
PWM 频率40 千赫
输出所需频率25 赫兹
输出初始频率1 赫兹
直流链路电压50 V
电感2.5 mH

结果#

本节提供所需频率下三个相位的输出电流波形。每个电流波形用不同的颜色表示。图像中还提供了相关的测量值。

PEControllerBSP V/f 结果

调试示例#

本节介绍同时调试项目的 CM7 和 CM4 内核的步骤。使用以下步骤调试开环 v/f 项目。

第 1 步:点击工具栏中调试图标旁边的箭头,然后点击调试配置菜单项,如下图所示:

PEControllerBSP 调试配置

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

PEControllerBSP 调试 CM7

步骤 3:加载应用程序后,按下工具栏中的恢复按钮。确保应用程序完全加载后再按恢复按钮,以免出错。

第 4 步:单击工具栏中调试图标旁边的箭头,然后单击调试配置菜单项:

PEControllerBSP 调试 CM4

步骤 5:选择PELab_OpenLoopVFD_CM4启动配置并按下调试按钮。

步骤 6:调试窗口应如下图所示,两个项目都将在此运行:

PEControllerBSP 调试视图

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

PEControllerBSP 实时表达

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

BetterDocs提供