一、自研算法类(以下软硬件全开源)
1.STC-FOC Lite V3
硬件方案:AI8051U+EG2133+TLE5012BE1000+无电流传感器自带磁编有感方案
软件方案:看似只有一个angle_el参数默认递增不符合克拉克逆变换,但其实sin(angle_el)、cos(angle_el)已经充当了Uα、Uβ。(控制方式存疑)目前暂时理解为校准后生成SVPWM表,通过识别位置输出对应的SVPWM表值。
总结:王佬的FOC,可以集成作为轮边电机适合,智能车比赛使用,功能够用功率较大。缺点是不带电流环,,V3版本做了5个出来,但是软件上容易卡死,卡死后没有保护,会导致电机被持续通大电流,容易烧坏。识别算法也一般,所以比较吃磁传感器到径向磁铁的位置和径向磁铁旋转中的稳定性。
产品图片:
资料链接:https://www.bilibili.com/video/BV1k5VozjEAe
2.KOBE_FOC
硬件方案:STM32G4+EG2133+电机侧磁编有感方案
软件方案:最普通的帕克逆变换+SVPWM方案,代码写的非常简洁易懂,耦合性低,非常适合用来学习!推荐看看
总结:代码不错,硬件中规中矩,平凡但给本人学习FOC带来了很多帮助
产品图片:
资料链接:https://www.bilibili.com/video/BV1NCktYiEKC
sanPns/KOBE_FOC: 这是一个用于学习foc而设计的开发板
3.炸酱面FOC
硬件方案:STM32G4+FD6288Q+电机侧磁编有感方案
软件方案:....貌似可以自动测量电机参数?
产品图片:
总结:对比KOBE去掉了屏幕等无关紧要的功能,貌似还有自动测量电机参数?KOBE上位替代?感觉不错,三电阻采样,带CAN,主控和栅极驱动芯片都挺好的。
资料链接:https://www.bilibili.com/video/BV115c6eUEyr
https://github.com/2023violet/FalconFoc/tree/main
4.CawDrive
硬件方案:STM32F446/STM32G474+DRV8323RSRGZR+AS5047+自带磁编有感方案
软件方案:....
产品图片:
总结:板载磁编码器,带上位机,可做轮边电机,作者个人能力挺强的,貌似此项目为集大成者?
资料链接:https://www.bilibili.com/video/BV1aC4y137Af
fake-rick/caw-drive: 三相直流无刷电机驱动器硬件 | FOC控制算法
5.柠檬FOC
硬件方案:GD32C103+FD6288Q+电机侧磁编码器有感无刷方案
软件方案:目前唯一一个MIT方案的
产品图片:
总结:经典,被验证过,关注度高,为暴风电子MIT方案改版而来。好像做起来挺便宜的?
资料链接:【新春快乐】柠檬FOC开源板 - 立创开源硬件平台
6.AxDr
硬件方案:STM32G4+FD6288Q+电机侧磁编码器有感无刷方案
软件方案:软件在群(电磁诡力)里有移植好的VESC的固件,MCSDK也有人进行移植
产品图片:
总结:目前电机学习的的最优选,功能强大,设计合理,有很多人关注并使用,而且目前仍在维护并有很多固件版本,软硬件全开源!
缺点是制作稍贵一个大概150左右,但是学习完之后可以直接在此基础上进行精简,因为什么功能几乎都用到了,如屏幕,按键,电位器,防反接。目前已经在使用中,未出现问题。
资料:基于STM32G4的FOC电机驱动学习板 - 立创开源硬件平台
7.所有DRV8313的无MOS驱动
硬件方案:ESP32+DRV8313+有感无刷方案
软件方案:simpleFOC,驱动简单,调库即可,
产品图片:
总结:多如牛毛,如果可以到手刷个固件简单就用就还好,
不然感觉有一点点鸡肋,可以用王佬的替换,对比王佬的simpleFOC胜在稳定,目前大部分的平衡车、小轮腿、旋钮、自平衡XX形都是使用的此方案
资料链接:立创开源一搜一大把
8.X_FOC
硬件方案:STM32G4+DRV8353FS+电机侧磁编码器有感无刷方案
软件方案:下图列出SVPWM关键算法
void SVPWM(float phi, float d, float q, float *d_u, float *d_v, float *d_w)
{
d = min(d, 1);//限幅
d = max(d, -1);
q = min(q, 1);
q = max(q, -1);
const int v[6][3] = {{1, 0, 0}, {1, 1, 0}, {0, 1, 0}, {0, 1, 1}, {0, 0, 1}, {1, 0, 1}};//六个扇区的开关规律
const int K_to_sector[] = {4, 6, 5, 5, 3, 1, 2, 2};//扇区与N的映射表
float sin_phi = arm_sin_f32(phi);//这个PHI是电角度?
float cos_phi = arm_cos_f32(phi);
float alpha = 0;
float beta = 0;
arm_inv_park_f32(d, q, &alpha, &beta, sin_phi, cos_phi);//arm自带的反帕克算法???
bool A = beta > 0;
bool B = fabs(beta) > SQRT3 * fabs(alpha);
bool C = alpha > 0;
int K = 4 * A + 2 * B + C;
int sector = K_to_sector[K];//到这确认扇区
float t_m = arm_sin_f32(sector * rad60) * alpha - arm_cos_f32(sector * rad60) * beta;
float t_n = beta * arm_cos_f32(sector * rad60 - rad60) - alpha * arm_sin_f32(sector * rad60 - rad60); //这是什么算法?
float t_0 = 1 - t_m - t_n;
*d_u = t_m * v[sector - 1][0] + t_n * v[sector % 6][0] + t_0 / 2;
*d_v = t_m * v[sector - 1][1] + t_n * v[sector % 6][1] + t_0 / 2;
*d_w = t_m * v[sector - 1][2] + t_n * v[sector % 6][2] + t_0 / 2;
}
可取之处:他的算法直接使用官方DSP库里的反帕克变换,理论上应该比自己写要快,但是对设备适配也有要求了。
后面的扇区判断之后,相当是直接把他放到第一扇区进行分解计算T1、T2。然后再根据扇区分配回去,直观符合直觉,但是sin和cos严重拖慢效率不可取
产品图片:
总结:很一般硬件很一般,软件很一般。但是他在Github提供了一份文档,从电机讲到了硬件,写的还是比较全面的
资料链接:立创开源一搜一大把
https://www.bilibili.com/video/BV1oWLczSE5Q
二、Odrive类(市面上高力矩关节电机多采用此方案)
1.DengFOC
硬件方案:ESP32+DRV8303+自带磁编码器有感、无感无刷方案
软件方案:基于灯哥二次开发的Odrive,不知道购买后代码是否开源
产品图片:
总结:灯哥FOC,可直接购买,微型强大。还带屏幕,单路驱动,经过验证,有较好的售后和资料,可以直接用于3508,适合直接使用。
资料链接:灯哥FOC ODrive大电流 深度改进高性能 ODrive单路 基于ODrive3.6-淘宝网
2.矛盾大佬开源硬件
硬件方案:STM32F405VGT6+DRV8303+电机侧磁编码器有感无刷方案
软件方案:原版Odrive,无需多言
产品图片:
总结:ODrive集大成开源之作,功能强大外观好看,设计合理,里面还有推荐的资料,有时间可以看看
资料链接:灯哥FOC ODrive大电流 深度改进高性能 ODrive单路 基于ODrive3.6-淘宝网
三、VESC类(有无感通吃,无感极强甚至被推荐用于电机参数辨识参照,好像是地表最强开源FOC项目?)
1.PingFOCerLite_V2.0
硬件方案:STM32F405RGT6+FD6288T+电机侧磁编码器有感、无感无刷方案
软件方案:原版VESC,无需多言
产品图片:
总结:功率超大,外观好看,作者做了驱控分离的版本,此版本咸鱼可直接购买(200元),但接口不太好插,且只支持VESC6.0,市面上少见的VESC开源硬件
资料链接:PingFOCerLite_V2.0 - 立创开源硬件平台
2.NIKO电调
硬件方案:STM32F405RGT6+FD6288T+电机侧磁编码器有感、无感无刷方案
软件方案:原版VESC,无需多言
产品图片:
总结:几乎是最好看的FOC驱动板,带金封MOS,太漂亮了,且支持VESC6.4,但是PCB不开源且只能在他工坊进行购买(250左右)。
资料链接:https://www.bilibili.com/video/BV1nZDPY7EHe
5.待整理优秀项目
1.KmdFoc
完全不开源,没听过的FOC项目,但优点在介绍界面好看而且教程相对细致,而且功能相当现代,淘宝可直接购买(稍贵345元)。
评论区