# FOC_open **Repository Path**: fantasy-q/foc_open ## Basic Information - **Project Name**: FOC_open - **Description**: 开源一款自制小功率无刷电机FOC驱动 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2025-05-06 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README FOC 开源项目说明 项目名称 FOC_open 概述 本项目提供完整的 FOC(磁场定向控制)实现方案,包含: 1、基于STM32f1的嵌入式控制代码 2、可量产的 4层 PCB 设计文件(导出为json格式) 3、参数可调的 Clarke/Park 变换实现 4、支持有感磁编码器的电机控制 5、实现了速度环、位置环闭环控制,电流环待改善 特性 1、支持 [BLDC/PMSM] 电机 2、工作电压范围:5V - 25V 3、 最大电流:3A 4、支持can通信接口 快速开始 硬件准备 1. 下载PCB json文件导入嘉立创EDA生产电路板 2. 所需元件直接在EDA导出Bom即可 3. 推荐电机型号:28系列、40系列、43系列云台电机,本人只实测过2804和4310直流无刷电机 软件部署 使用STM32HAL库,软件keil5 编译器MDK 文件结构 代码架构 DRV8313_FOC_code ├── USER/ # 用户文件 │ ├── application/ # FOC算法核心 │ ├── FOC_control.c/ # FOC算法核心 │ └── FOC_control.h │ ├── bsp_boards/ # 硬件驱动层 │ ├── bsp_ADC.c/ # ADC电流检测INA240A2 │ ├── bsp_ADC.h/ │ ├── bsp_can.c/ # CAN通信底层驱动 │ ├── bsp_can.h/ │ ├── bsp_i2c.c/ # I2C驱动 │ ├── bsp_i2c.h/ │ ├── bsp_motor_PWM.h/ # 电机PWM底层驱动 │ ├── bsp_uart.c/ # 串口驱动 │ └── bsp_uart.h/ │ ├── controller │ ├── pid.c/ # PID控制算封装 │ └── pid.h/ │ ├── devices/ │ ├── AS5600.c/│ # AS5600设备驱动和相关算法 │ └── support/ # 算法支持层 │ ├── DWT_time.c/ # DWT实时时间 │ ├── DWT_time.c/ │ ├── struct_typedef.h/ # 重定义 │ ├── user_lib.c/ │ └── user_lib.c/ # 用户库,如滤波 完整许可文本见 [LICENSE](LICENSE) 文件