网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
+ - [4.1.1、打开工程](#411_122)
- [4.1.2、修改参数](#412_125)
- [4.1.3、编译下载](#413_133)
- [4.1.4、串口发送指令](#414_138)
+ [4.2、开环位置控制](#42_144)
+ - [4.2.1、打开工程](#421_145)
- [4.1.2、修改参数](#412_149)
- [4.1.3、编译下载](#413_151)
- [4.1.4、串口发送指令](#414_152)
SimpleFOC的教程比较多,做了一个总的链接,欢迎点击阅读:SimpleFOC教程链接汇总
注意事项
- 1、电机的三根线可以任意接在驱动器的ABC三相上,不用区分;
- 2、开环控制最好选择Ω级的电机,尽量不要用mΩ级的航模电机,容易烧MOS和电机。开环控制在实际中也就启动时用用,这不是电机控制的一个常态。
- 3、电机控制要尽快操作,不要停留时间太久,时刻注意电机和驱动器的发热情况,一旦过热立即断电。
一、硬件介绍
本节实验适合运行在SimpleMotor和SimpleFOCShield V2.0.3上。
1.1、硬件准备
1.1.1、SimpleMotor方案
序号 | 名称 | 数量 |
---|---|---|
1 | 驱动器 | 1 |
2 | 云台电机 | 1 |
3 | 12V电源 | 1 |
4 | USB转串口 | 1 |
驱动板103 购买链接:https://item.taobao.com/item.htm?ft=t&id=656368067494,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
1.1.2、SimpleFOCShield V2.0.3方案
序号 | 名称 | 数量 |
---|---|---|
1 | STM32核心板 | 1 |
2 | SimpleFOCShield V2.0.3 | 1 |
3 | 云台电机 | 1 |
4 | 12V电源 | 1 |
5 | 5V电源 | 1 |
6 | USB转串口 | 1 |
7 | 杜邦线 | 若干 |
驱动板103 购买链接:https://item.taobao.com/item.htm?ft=t&id=656368067494,图锐科技
电机 购买链接:https://item.taobao.com/item.htm?ft=t&id=643573104607,图锐科技
1.2、硬件连接
1.2.1、原理图
1.2.2、SimpleMotor接线
1.2.3、STM32接线
对于SimpleFOCShield V2.0.3,需要杜邦线连接主板和驱动板,记得共地。
对照 Shield V2.0.3 的原理图:
STM32核心板 | V2.0.3 |
---|---|
PA0 | 5 |
PA1 | 9 |
PA2 | 6 |
PB9 | 8 |
GND | GND |
注意事项:
①、无刷电机的三根相线不用区分顺序,任意接在端子上即可,调整其中任意两根电机反转。
②、最好使用大电阻的云台电机(比如10Ω),如果使用mΩ级的航模电机,操作不当,容易烧毁驱动板MOS或者电机。
③、12V先不要上电,请继续阅读文章。
二、控制原理
2.1、SVPWM
SVPWM的原理请看这篇文章:SimpleFOC(八)—— 理论+实践 深度分析SVPWM。
Uq为交轴,Ud为直轴,角度angle_e1是电机的电角度。
一般应用直接设置Ud=0,通过控制Uq来控制磁场大小,控制angle来控制磁场方向;
开环控制中,直接设置Uq = voltage_limit,按照固定的速度递增angle就是速度模式;递增angle到设定值就是角度模式。
闭环控制中,angle来自编码器,根据编码器计算实际速度和位置,如果速度大于设定值,PID调小Uq降低速度,如果速度小于设定值,程序调大Uq增加速度。
2.2、极对数
无刷电机转子中磁铁的对数就是极对数。
电机转子转一圈,称为360°(或者叫2Pi)机械角度,转子转过一对磁极,称为360°电角度。
如上图的7对极,电机需要转7X360电角度 = 360机械角度。SVPWM控制的angle为电角度,而编码器读到的是机械角度,所以需要把机械角度转为SVPWM可用的电角度。
2.3、开环控制
SVPWM+设定的角度angle = 开环控制,
三、软件操作和程序下载
3.1、Keil编译生成hex文件
选择生成hex文件。如果用STlink下载可忽略此步。
3.2、FlyMcu下载
如果用STlink下载可忽略此步。
3.3、SimpleMotor准备
- 如果用STlink下载,SWCLK接驱动板的SWK、SWDIO接驱动板的SWD,GND接GND。
- 如果用串口下载:
1、USB转串口的TXD接驱动板的RX1,USB转串口的RXD接驱动板的TX1,GND接GND,
2、按住Boot键不松手,按下RST键松开,然后再松开Boot键,单片机进入Boot模式,
(如果你手头的驱动板Boot键是跳线帽,短接跳线帽相当于按住Boot键)
3、点击FlyMcu的开始编程,等待下载完成。
四、程序演示
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
5530456152)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新