LittleFOC工程简记——自制FOC电机控制器系列文大纲
这里罗列了系列文章链接
LittleFOC工程简记——基于定点数的电流PI控制器设计
重点声明
本项目的BUG非常多,笔者也是为了锻炼自己才做的这个方案,写出来是想与做过FOC控制器的同学们分享交流经验,有项目要求的同学们不要随便用,比较鼓励有个人兴趣的同学一起交流学习学习。
本项目的BUG非常多,笔者也是为了锻炼自己才做的这个方案,写出来是想与做过FOC控制器的同学们分享交流经验,有项目要求的同学们不要随便用,比较鼓励有个人兴趣的同学一起交流学习学习。
本项目的BUG非常多,笔者也是为了锻炼自己才做的这个方案,写出来是想与做过FOC控制器的同学们分享交流经验,有项目要求的同学们不要随便用,比较鼓励有个人兴趣的同学一起交流学习学习。
前言
毕业之际,始终想尝试入一入电机的坑,这部分工作在毕业的暑假推进了两个月,完成了FOC控制器的开环控制系统,随后的生活过于忙碌,未能及时跟进,最终在近日有了一定的进展,因此想简单写写研发过程中的心得,而其中各部分控制模块也会在系列文章中简述。
笔者始终认为,对于机械电子工程专业的学生而言,应具有开发一套完整的机电系统的能力。电机控制课题,作为机械电子工程中一切工程的基石,囊括了嵌入式程序设计、电路设计、控制模型分析、电磁分析等一系列问题。尝试去独立解决电机控制课题有利于机电工程师们得到快速的成长。个人将这项工程作为自己对自己机电这个专业的毕业考核来执行,前后也大致经历了一年半载才大致将这个设计的主体部分完工。本项目也由此出发,尝试基于以下硬件开发FOC控制系统,笔者将分享其中比较重要的部分,以供同学研究参考。
时隔一年,也经历了陆陆续续的坎坷,闲暇时光中也终于实现了预定目标的部分。现如今回忆过往,其测试进度大致如下
1、简单的平台搭建——利用零散零件快读搭建电路验证可行性
2、SVPWM——可以实现电机旋转
3、位置检测——可以实现电机开环旋转
4、电流检测——可以实现电机电流采样
5、电流闭环——可以实现电机定力矩旋转
6、位置闭环——可以实现电机位置控制
过程中参考学习了loop222、小麦大叔以及光树秫秫很多人的工作,首先要向热衷于分享的优秀工程师们表示感谢。
于是乎此贴一方面用于汇总各个项目各个模块设计教程,另一方面作为实验室摸鱼日记,感谢实验室boss没有把工作时间摸鱼的我打一顿。
项目硬件信息
本方案本着能省就省的原则,主控制器采用了STM32G030F6P6,磁编码器采用了MT6816,而电流检测采用了INA2181,最终版本大部分的芯片都采用了比较容易手工焊接的封装,也是希望利于版本测试迭代。
硬件 | 型号 | 特征 |
---|---|---|
驱动电机 | 华明威PM2204 | 64Mhz主频 |
主控芯片 | STM32G030F6P6 | 64Mhz主频 |
电流检测 | INA2181 | 双通道电流检测 |
磁编码器 | MT6816 | SPI通讯、14bit分辨率 |
电机驱动 | DRV83138 | 最大电压为 65V 的 3A 峰值三相电机驱动器 |
项目软件信息
本方案采用cubeMX设置硬件,采用Keil5进行编程编译。为了提高系统运行速度,数学计算采用arm_dsp库进行设计,采用LL库驱动底层硬件,目前实现了20khz的电流环以及速度环和位置环,不过表现效果仍有一些问题
版本号 | 更新内容 |
---|---|
LittleFOC-0.0.9 | 更改使用MT6816作为磁编码器,实现部分位控功能,但位控环D变量较大 |
项目效果展示
版本一
版本二
一些测试视频可以参考参考b站
LittleFOC工程日记-0.0.9
工程参考链接
【2023/05/18】部分工程上传到github上了,不过不知道为什么老是传到master分支上,下个版本我会再做修改。
hhq123-LittleFOC
博客更新日志
【2023/05/18】我先随缘更新一份,其实是前段时间的开发进度,之后佛系更新,行吧行吧我去吃饭了就这样了。