# 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. 无感控制 下图是**滑膜控制**时的关键数据输出 - **速度控制**