项目简介
本项目是基于EZ - PD™ PMG1 - S3设备的解决方案。借助C语言和ModusToolbox框架,能通过Type - C电缆在28V扩展功率范围(EPR)模式下从USB PD获取电力,可直接控制功率高达140瓦的无传感器三相BLDC电机。
项目的主要特性和功能
- 无传感器BLDC电机控制:采用无传感器控制技术,通过检测反电动势(BEMF)信号确定转子位置,运用六步梯形换向技术实现电机控制。
- 多阶段控制算法:分为预定位、自由运行和闭环控制三个阶段,能根据电机运行状态自动切换控制方式。
- USB PD供电:支持从USB PD电源获取电力,可选择28V EPR模式或20V、5A PDO的USB PD适配器。
- 闭环PID控制:在闭环运行阶段,使用PID控制算法,保证电机运行的稳定性和动态响应。
- 保护与错误检测:具备欠压、过压、过流、最低速度和换向错误等保护功能,通过用户LED闪烁提示错误类型。
- 用户交互:用户可通过开关控制电机的启动、停止、重置和方向反转,还能通过电位器调节电机速度。
- 数据监测:可在串口UART终端查看电机的运行数据。
安装使用步骤
环境准备
- 安装ModusToolbox™ v3.3或更高版本。
- 确保Board support package(BSP)最低版本为3.0.0。
硬件设置
- 在CY7113板上,移除板载电阻R17、R23、R26、R30、R45、R46、R74、R78和R82,安装电阻R64、R65、R67、R68、R70和R72。
- 参考应用笔记AN237305,将CY7113(EZ - PD™ PMG1 - S3原型套件)连接到电机驱动板。
- 验证PMG1 - S3设备与外部电路之间的GPIO连接。
- 推荐使用支持EPR模式的28V USB PD适配器作为电源连接到PMG1 - S3套件,也可使用20V、5A PDO的USB PD适配器。
- 使用标准EPR模式支持的USB Type - C电缆连接电源和设备。
- 将BLDC电机的三相端子A、B、C连接到半桥MOSFET逆变器电路的输出线A、B、C。
软件设置
参考ModusToolbox™工具包安装指南安装和配置工具包,可使用EZ - PD™协议分析仪实用程序分析和调试USB PD通信。
创建项目
可使用ModusToolbox™的Project Creator GUI或CLI创建项目:
使用Project Creator GUI
- 打开Project Creator GUI工具。
- 在“Choose Board Support Package (BSP)”页面,选择支持的套件。
- 在“Select Application”页面,选择应用程序根路径、目标IDE,勾选此代码示例,可更改应用程序和BSP名称,点击“Create”完成创建。
使用Project Creator CLI
在CLI终端中使用project - creator - cli
工具,示例命令如下:
project - creator - cli --board - id PMG1 - CY7113 --app - id mtb - example - pmg1 - usbpd - sensorless - bldc - motor --user - app - name USBPDSensorlessBLDCMotor --target - dir "C:/mtb_projects"
打开项目
根据偏好选择开发环境打开项目:
- Eclipse IDE:若从Eclipse IDE打开Project Creator工具,项目将自动在Eclipse中打开。
- Visual Studio (VS) Code:手动启动VS Code,打开项目目录下的{project - name}.code - workspace
文件。
- Keil µVision:双击项目目录下生成的{project - name}.cprj
文件。
- IAR Embedded Workbench:手动打开IAR Embedded Workbench,创建新项目,选择项目目录下生成的{project - name}.ipcf
文件。
- 命令行:打开相应终端,导航到项目目录,在Windows上使用modus - shell
,在Linux和macOS上使用任意终端应用程序,运行make
命令。
运行操作
- 完成硬件设置步骤。
- 将PMG1套件的板载电源选择跳线(J5)连接到位置2 - 3,通过KitProg3 USB Type - C端口(J1)为PMG1 MCU供电。
- 使用USB电缆连接KitProg3 USB Type - C端口(J1)以对PMG1设备进行编程。
- 使用以下方法之一对板进行编程:
- Eclipse IDE:在Project Explorer中选择应用项目,在“Quick Panel”中点击
{Application Name} Program (KitProg3_MiniProg4)
。 - 其他IDE:按照对应IDE的说明操作。
- CLI:在终端执行
make program
命令,可通过TOOLCHAIN
参数指定工具链,如make program TOOLCHAIN = GCC_ARM
。
- Eclipse IDE:在Project Explorer中选择应用项目,在“Quick Panel”中点击
- 编程完成后,断开J1端口的USB电缆,将电源选择跳线(J5)重新连接到位置1 - 2,将PMG1套件配置为运行模式。
- 将USB PD电源适配器连接到PMG1 USB PD接收端口(J10)为电机供电。
- 确认PMG1套件的板载用户LED(LED3)未亮起,表明无错误,电机准备启动。
- 按一次开关CTRL_SW启动电机,再次按下停止电机。
- 若用户LED(LED3)持续闪烁,说明存在错误,参考设计与实现部分的“Table 5”确定错误类型。
- 确定错误原因并修复后,按两次CTRL_SW重置控制器。
- 电机启动后,旋转电位器SPEED_POT可调节速度。
- 电机停止时,按住CTRL_SW直到CY7113套件上的用户LED(LED3)闪烁三次,可启用反转模式。
- 在
main.c
文件中启用UART_PRINT_ENABLE
宏,重新编程MCU后,可在串口UART终端查看电机的运行数据。
调试
可在不同开发环境中进行调试:
- Eclipse IDE:使用“Quick Panel”中的{Application Name} Debug (KitProg3_MiniProg4)
配置进行调试,确保板通过KitProg3使用USB Type - C电缆连接到PC,跳线J5连接在1 - 2之间,并通过J10 USB - C端口为套件供电。
- 其他IDE:按照对应IDE的说明操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】