# Simple FOC **Repository Path**: ibst/simple-foc ## Basic Information - **Project Name**: Simple FOC - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-18 - **Last Updated**: 2025-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: foc, SVPWM, PWM, stm32, PID ## README # Simple FOC #### 介绍 Simple FOC 是一个基于 STM32 的简易磁场定向控制(Field Oriented Control, FOC)项目,适用于控制无刷直流电机(BLDC)。该项目利用 AS5600 编码器进行转子位置检测,并结合 I2C 通信和 PWM 控制实现电机的高效驱动与控制。 #### 软件架构 项目主要由以下模块组成: - **AS5600 模块**:用于读取编码器数据,获取电机转子位置。 - **FOC 模块**:实现磁场定向控制算法,包括初始化、PID 控制、速度与位置控制等。 - **PWM 模块**:负责初始化 PWM 输出,用于驱动电机。 #### 安装教程 1. 下载并安装 STM32 开发环境(如 STM32CubeIDE)。 2. 将项目文件导入开发环境。 3. 配置 I2C 和 PWM 外设参数。 4. 连接 AS5600 编码器和电机驱动硬件。 5. 编译并烧录程序到 STM32 微控制器。 #### 使用说明 1. 初始化 FOC 控制器并设置最大电压、极对数和采样率。 2. 通过 `FOC_Position_exe` 或 `FOC_Speed_exe` 设置目标位置或速度。 3. 使用 `FOC_Out` 进行电压输出控制。 4. 可通过 `FOC_Sin_Ctrl` 实现正弦波控制电机。 #### 参与贡献 1. Fork 本仓库。 2. 新建 Feat_xxx 分支。 3. 提交代码。 4. 新建 Pull Request。 #### 特技 1. 支持多语言 Readme 文件,如 Readme_en.md、Readme_zh.md。 2. 项目结构清晰,便于扩展与二次开发。 3. 提供完整的 FOC 控制逻辑,适合学习与实践电机控制算法。