# Snail_FOC
**Repository Path**: yfjs_s/snail_-foc
## Basic Information
- **Project Name**: Snail_FOC
- **Description**: 自制有感/无感FOC驱动板
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2026-03-01
- **Last Updated**: 2026-03-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Snail_FOC
## 前言
本次开发的起源呢是在调试手头的无人机时,因为操作失误导致严重炸鸡,不但机架坏了,而且电调还给烧穿了。。。。然后我就对无刷电机的电调产生了兴趣,在兴趣的驱使下,我了解到了现在很火热的FOC(Field Oriented Control)**磁场定向控制**,它凭借其卓越的动态响应、宽广的调速范围以及优秀的能效表现,正逐渐成为无刷电机驱动的首选方案。
目前市面上大部分电调还是未使用FOC技术,希望随着开发的深入,我可以做成四路无刷电机FOC驱动的四合一电调,实现电调的自给自足,哈哈哈
1. **项目演示地址:**【【自制】有感/无感FOC驱动板开发记录】https://www.bilibili.com/video/BV1SpAzzDE1t?vd_source=94e46f229dcdb63fc73a8a9f4ef7f09a
2. **我还写了篇FOC学习心得分享,从六步换向法讲到了无感FOC控制,文章地址:**[【自制】有感/无感FOC驱动板开发心得分享-CSDN博客](https://blog.csdn.net/weixin_46671572/article/details/158512559?spm=1001.2014.3001.5501)
# 1. FOC驱动板
## 1.1 我的FOC驱动板构成和选型说明
### 1. MCU选型
选择**STM32G431RBT6**作为控制核心,STM32G431系列是意法半导体专门针对**数字电源和电机控制推出的高性能MCU**,它基于Arm Cortex-M4内核,主频高达170MHz,具备单精度浮点单元(FPU)和DSP指令集,能够高效处理FOC算法中复杂的**坐标变换和PID运算。**
### 2. 电源网络说明
电源网络由**2级buck电路和一级线性电源电路**组成。
(1)第一级buck电路完成输入的12-38v电压转12v,这个电压主要完成给栅极驱动芯片EG2104提供驱动MOS管的电压
(2)第二级buck电路完成输入的12v电压转5v
(3)第三级线性电源电源电路完成5v转3.3v,因为线性电压精度高,这个电压主要完成对MCU和运放的供电
### 3. 半桥驱动芯片选型
EG2104采用**自举电路**设计,高端工作电压可达600V,对于低压(如24V、48V)电机驱动而言绰绰有余,也为后续高压应用留有余量。选这个芯片最重要的是其内部集成了**死区控制电路**(典型值600ns),可以有效防止半桥上下管同时导通导致的短路烧毁,提高了电路的可靠性,也简化了软件配置,这样**MCU端只管输出单路PWM就行,不用考虑互补PWM输出和死区控制,很是优雅!**
### 4. MOS管选型
DON70N06是一颗N沟道MOSFET,其主要参数为:**耐压60V,持续漏极电流70A**。对于24V~48V的电机驱动系统,60V的耐压留有足够的降额空间,能够吸收母线电压的尖峰干扰。70A的电流能力**足以覆盖大多数中小功率电机**。
### 5. 为什么有4路半桥驱动
为后面**步进电机**驱动调试做的预留
## 1.2 常见FOC驱动板的构成
# 2. 代码开发
使用的是经典的keil + STM32的HAL库
# 3. 有感速度控制
下图是本驱动板在**有感速度控制**时的关键数据输出。
- **UVW三相电流**
- **速度控制**
# 4. 有感位置控制
下图是本驱动板在**有感位置控制**时的关键数据输出。
- **位置锁定**
# 5. 无感控制
下图是**滑膜控制**时的关键数据输出
- **速度控制**
