SimpleFOC移植STM32(二)—— 开环控制
目录
- 注意事项
- 一、硬件介绍
- 1.1、硬件准备
- 1.1.1、SimpleMotor方案
- 1.1.2、SimpleFOCShield V2.0.3方案
- 1.2、硬件连接
- 1.2.1、原理图
- 1.2.2、SimpleMotor接线
- 1.2.3、STM32接线
- 二、控制原理
- 2.1、SVPWM
- 2.2、极对数
- 2.3、开环控制
- 三、软件操作和程序下载
- 3.1、Keil编译生成hex文件
- 3.2、FlyMcu下载
- 3.3、SimpleMotor准备
- 四、程序演示
- 4.1、开环速度控制
- 4.1.1、打开工程
- 4.1.2、修改参数
- 4.1.3、编译下载
- 4.1.4、串口发送指令
- 4.2、开环位置控制
- 4.2.1、打开工程
- 4.1.2、修改参数
- 4.1.3、编译下载
- 4.1.4、串口发送指令
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 |
带编码器云台电机可以是AS5600,也可以是TLE5012B。
电机 购买链接:某宝购买
SimpleMotor 购买链接:某宝购买
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 | 杜邦线 | 若干 |
带编码器云台电机可以是AS5600,也可以是TLE5012B。
电机 购买链接:某宝购买
simpleFOCShield V2.0.3购买链接:某宝购买
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 |
注意事项:
①、无刷电机的三根相线不用区分顺序,任意接在端子上即可,调整其中任意两根电机反转。
②、12V先不要上电,开环控制电机会发热,上电时间过久容易烧坏。最好等到程序编译上传后再上电,上电尽快操作。
③、最好使用大电阻的云台电机(比如10Ω),如果使用mΩ级的航模电机,操作不当,容易烧毁驱动器MOS和电机。
二、控制原理
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接驱动板的SDK、SWDIO接驱动板的SWD,GND接GND。- 如果用串口下载:1、USB转串口的TXD接驱动板的RX1,USB转串口的RXD接驱动板的TX1,GND接GND,2、按住Boot键不松手,按下RST键松开,然后再松开Boot键,单片机进入Boot模式,(如果你手头的驱动板Boot键是跳线帽,短接跳线帽相当于按住Boot键)3、点击FlyMcu的开始编程,等待下载完成。
四、程序演示
开环控制尽快操作,注意电机发热情况,发热严重要立即断电
1、电机抖动转不起来把voltage_limit设置的大一点,
2、电机发热严重的把voltage_limit设置的小一点,
3、电机能转就表示一切正常,可以学习下一章了,开环不是电机控制的常态,不要纠结太久。20211224
4.1、开环速度控制
4.1.1、打开工程
4.1.2、修改参数
- 选择controller=Type_velocity_openloop;
- 电源电压和极对数根据实际情况设置;电源电压增加voltage_limit也要相应的增大
- voltage_limit在不了解电机性能的情况下从小逐渐增加,每次修改后注意工作电流和电机发热;
- 如果电机功率较小而voltage_limit偏小,电机会转不动;
- 如果电机功率较大而voltage_limit偏大,电机会发热严重。
4.1.3、编译下载
FlyMcu通过串口下载或者STlink通过SWD接口下载。
串口下载需先进入Boot模式,下载完以后按复位键运行。
4.1.4、串口发送指令
常用的串口调试软件,在发送区敲回车,对应的16进制数据为0D 0A,也就是回车换行;Arduino IDE自带的串口监视器,输入指令点发送,只有16进制的0A。所以不能用Arduino IDE的软件给当前代码发送指令。
发送指令,从低速开始逐渐增加,速度设置过快电机容易失步变成振动。速度单位为rad/s,6.28表示一圈每秒。
4.2、开环位置控制
4.2.1、打开工程
和开环速度为同一个工程
4.1.2、修改参数
选择controller=Type_angle_openloop;
4.1.3、编译下载
4.1.4、串口发送指令
设定目标值,单位为rad,一圈=6.28rad。
本节源码下载:
链接:https://pan.baidu.com/s/1mvd5Wh1uBZz0FNXgE44tVA
提取码:d4q7
(完)
欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:CSDN)
请继续阅读相关文章:
SimpleFOC移植STM32(一)—— 简介
SimpleFOC移植STM32(二)—— 开环控制
SimpleFOC移植STM32(三)—— 角度读取
SimpleFOC移植STM32(四)—— 闭环控制
SimpleFOC移植STM32(五)—— 电流采样及其变换
SimpleFOC移植STM32(二)—— 开环控制相关推荐
- SimpleFOC移植STM32(六)—— 双电机控制和力矩反馈
目录 一.说明 二.硬件介绍 2.1.原理图 2.2.准备清单 2.3.接线 三.程序演示 3.1.设置参数 3.2.编译下载 3.3.根据设置的控制模式操作 四.双电机控制总结 五.力矩反馈 5.1 ...
- SimpleFOC移植STM32(七)—— 移植STM32F405RGT6
目录 说明 一.点亮LED 1.1.原理图 1.2.硬件准备 1.3.烧写 二.开环控制 2.1.硬件准备 2.2.硬件连接 2.3.打开工程 2.4.修改参数 2.5.编译下载,观察运行 三.角度读 ...
- SimpleFOC移植STM32(九)—— ABZ编码器电机
目录 说明 一.ABZ编码器介绍 1.1.ABZ信号 1.2.光电式编码器 1.3.磁编码器 1.4.差分信号 二.电机驱动板103 2.1.读ABZ信号的cpr 2.1.1.接线 2.1.2.编译, ...
- SimpleFOC移植STM32(三)—— 角度读取 (AS5600、AS5047P、TLE5012B、MA730、MT6701、ABZ)
目录 说明 一.硬件介绍 1.1.硬件准备 1.1.1.SimpleMotor方案 1.1.2.STM32方案 1.2.硬件连接 1.2.1.原理图 1.2.2.接线 二.代码编译下载 2.1.代码解 ...
- SimpleFOC移植STM32(八)—— 霍尔电机
目录 说明 一.霍尔电机 1.1.电机的种类 1.2.霍尔传感器 1.3.SimpleFOC的霍尔电机控制原理 二.电机驱动板103 2.1.读取霍尔角度 2.2.驱动霍尔电机M1 2.3.驱动霍尔电 ...
- SimpleFOC移植STM32(五)—— 电流采样及其变换
目录 一.原理说明 1.1.电流采样 1.1.1.为什么要采样电流 1.1.2.电流采样方式 1.1.2.1.低侧电流采样 1.1.2.2.高侧电流采样 1.1.2.3.内置电流采样 1.2.电流变换 ...
- 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植AS5600 软件IIC
[FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 [FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 一.编码器选择 二.通讯方式 ...
- 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制
[FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 [FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 一.电机选择 ...
- 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(2)-SVPWM波实现
[FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(2)-SVPWM波实现 SVPWM波实现就是无数电机foc控制的核心,所以这一节就如何在英飞凌无刷驱动上时间互补pwm波形做讲解 [F ...
最新文章
- ClientScriptManager.RegisterStartupScript.
- 利用74LS161计数器芯片分别实现模12,模20的计数器,并在QuartusⅡ上进行仿真
- JSONP简单入门介绍
- AAAI2020录用论文汇总(一)
- xib和storyboard小谈,
- php项目打开快捷方式,PHP_克隆一个新项目的快捷方式,有没想过最土的项目如何快速 - phpStudy...
- arduino连接12864LCD方法
- 价值800新视界影视源码全开源源码
- 域名是如何变成IP的
- matlab 并联机器人,MATLAB在并联机器人运动仿真中的应用
- 《A Relation-Specific Attention Network for Joint Entity and Relation Extraction》论文
- 陶哲轩实分析 命题7.4.3 (级数的重排) 证明
- excel取消隐藏_excel批量取消工作表隐藏,困绕我们N年的问题终于有了答案!
- ES6(ES2015)
- python实现汇率转换
- 数组转这种格式 county_list:{ 110101: “东城区“, 110102: “西城区“, 110105: “朝阳区“, 110106: “丰台区“,
- Q1成绩:华为可穿戴设备增幅亮眼,Uber亏损10亿美元!
- PE启动如何解除BitLocker硬盘锁
- 弥散磁共振成像在神经科学中的应用
- .NET实现工资管理系统